EDA270: Coaching av programvaruteam S1: Kursintroduktion, Agila metoder! Görel Hedin, Lars Bendix Datavetenskap LTH Kursmål Projektledning/Coaching Hur team fungerar Hur man leder/coachar team Hur man leder/coachar agilt mjukvaruteam Planering och uppföljning Förmedla metoden Teknik Fördjupning inom agila metoder (TDD, PP, CI) Mönster och metaforer: verktyg för arkitektur och kommunikation Datavetenskap, LTH, 2012 2 Datavetenskap, LTH, 2012 3 Kursens delar Teoridel (lp2) 7 seminarier 7 hemuppgifter Praktikdel (lp3) Uppstartmöte, [coachingmöten, planeringsmöten, långlabbar]*6, avslutning Djupstudie (lp2 + lp3) synopsis, preliminär rapport, granskning, slutlig rapport, muntlig redovisning Obligatorisk närvaro Allt schemalagt är obligatoriskt Vid sjukdom: Maila Bendix snarast Datavetenskap, LTH, 2012 4 Datavetenskap, LTH, 2012 5
Seminarier lp2 S1: Kursintroduktion, Agila metoder Repetition av XP, nya XP, andra agila metoder, agila manifestet S2: Teamteori FIRO, Teamroller, Situationsanpassat ledarskap, Lencioni s 5 dysfunctions, Peopleware & jelled teams S3: Software Configuration Management för agila team Continuous integration, frequent releases S4: Mönster: verktyg för kommunikation Patterns and Antipatterns S5: Metaforer, Test Metaphors, TDD S6: XP Coaching, Planering Konkreta coaching-tekniker för agila team S7: Business coaching Unlocking people s potential Konflikthantering, Feedback Kurslitteratur Bakgrundsbok chromatic Artiklar och bokutdrag häfte, fants hos Lena Ohlsson, 250 kr. OH-bilder delas ut på seminariet läggs på kurswebben efter hand Datavetenskap, LTH, 2012 7 Hemuppgifter Läs litteraturen. Skriv en kort uppsats enligt anvisningarna. Det skall tydligt framgå att du läst anvisad litteratur. Maila till Bendix som pdf. Deadline onsdag kl 12:00 efter seminariet Se vidare anvisningar på kurswebben Praktikdel lp3 Iteration 0 Projektstartmöte: lv1, mån 8-10 eller 10-12 6 iterationer coachingmöte: tis 10-12 planeringsmöte: ons 10-12 eller 13-15 långlabbar: mån 8-17 (2 tim frånvaro ok) Avslutning, lv7 avslutande coachingmöte: tis 10-12 redovisning ons (10-12/13-15) + fre 8-10 Obligatorisk närvaro på alla schemalagda moment Datavetenskap, LTH, 2012 8 Datavetenskap, LTH, 2012 9
Djupstudie Lp 2: välja studie skriv synopsis Lp 3: preliminär rapport granska 2 andra rapporter slutlig rapport muntlig redovisning (obl. närvaro) Djupstudien Ämnesförslag kommer att läggas på kurswebben Kom gärna med egna förslag Använd gärna ditt team för experimentella studier Litteraturstudier skall ingå Rapport Skrivs på formen av datavetenskaplig artikel Granskning av 2 andra djupstudier Muntlig redovisning inför coach-gruppen Studien kan göras i par eller på egen hand Datavetenskap, LTH, 2012 10 Datavetenskap, LTH, 2012 11 Några möjliga områden för djupstudier Challenges in Agile methods Distribution, Scaling up, changing work methods, architecture, Software Configuration Management Jenkins (Continuous Deployment), Refactoring, Tools for code analysis or test SemmleCode, Jazz, Lagrein, Coaching skills, collaboration skills Books on Agile Project Management, Teamwork, Study an aspect of Agile in-depth Pair programming, TDD, Refactoring, Scrum, Lean, Agila metoder XP, 1st edition: the 12 practices XP, 2nd edition: values, principles, practices Andra agila metoder: Scrum, Lean, Det agila manifestet Datavetenskap, LTH, 2012 13
XP, 1st edition: the 12 practices Övning i grupper om 5-6 Coding Simple Design Refactoring Coding Standard Common Vocabulary Development Test-Driven Development (TDD) Pair Programming Collective Code Ownership Continuous Integration Business Customer in the team Planning game Release regularly Sustainable pace Other First Iteration Spikes The Bullpen Antag att ni skall introducera XP i ett team, men bara hinner lära ut några av delteknikerna. Vilka vill ni fokusera på? Varför vill ni välja just dessa? Datavetenskap, LTH, 2012 14 Datavetenskap, LTH, 2012 15 XP, 2nd edition Values - fundamental to the team practices! How we work Guidelines for forming practices Fundamental values of the team XP Feedback! at all levels, at all times! Communication! effective cooperation within team! Simplicity! what is the simplest thing that could work?! Courage! Act, speak the truth, discard failing solutions,! Respect! I am important and so are you!
Principles - the bridge from fundamental values to concrete practices More principles XP Improvement! Get started, do the best you can, improve! Reflection! How are we working? Why are we succeeding/failing?! Quality! Projects don t go faster by accepting lower quality! Baby Steps! What is the least you can do in the right direction?!! Datavetenskap, LTH, 2012 19 XP Mutual benefit! Both you and me, both now and later.! Diversity! Combine many competencies.! Opportunity! See problem as opportunity for change.! Accepted Responsibility! Works better than commanding people.!! More principles The XP practices (2nd edition) XP! Humanity! Economics! Self-Similarity! Flow! Redundancy! Failure! Corollary practices! Only meaningful if the primary practices are used Introduce first
XP primary practices (2nd edition) New XP primary practices Sit Together (= the bullpen)! Energized Work! (= sustainable pace)! Pair Programming! Stories! Weekly Cycle (= iterations)! Quarterly Cycle (= releases)! Continuous Integration! Test-First Programming! Incremental Design! (= simple design & refactoring)!! Whole Team! include all skills and perspectives necessary! Informative Workspace! visible charts, story cards,! Slack! Include important tasks that are not urgent. Skip if needed to be able to deliver the urgent stories.! Ten-Minute Build! Ideally, a complete automated build and running all tests should take at most 10 minutes XP corollary practices Corollary practices! Real Customer Involvement! (=customer on site)! Shared Code! Single Code Base! no branches! Code and Tests! as source for automated documentation! Root-Cause analysis! Find and fix the people/method problem underlying a bug! More XP corollary practices! Incremental Deployment! Corollary practices! replace legacy system incrementally! Daily Deployment! get new features into real use! Team Continuity! don t break apart working teams! Shrinking teams! fewer can obtain as much! Negotiated scope contract! sequence of short fixed price contracts with variable scope! Pay per use! instead of pay per release
practices! How we work Guidelines for forming practices Fundamental values of the team Andra agila metoder Scrum Lean development The Eclipse Way Feature-Driven-Development Crystal Clear Adaptive Software Development Jack Järkvik, Ericsson Datavetenskap, LTH, 2012 27 Scrum [Schwaber, Sutherland] Scrum [Schwaber, Sutherland] Sprints iterations Backlog List of remaining stories Burn-down chart shows progress towards release Daily scrum A daily stand-up meeting Scrum master The coach Product owner (Represents) the customer Datavetenskap, LTH, 2012 28
Lean Software Development [Mary and Tom Poppendieck] Inspired by Toyota lean manufacturing All are responsible for quality Continuous improvement Main principles in Lean Software Dev. Eliminate waste! handoffs and waiting, incomplete work, task switching, unnecessary features, defects,! Amplify learning! short feedback loops,! Delay commitment! later decisions are less uncertain,! Deliver fast! get feedback from the customer,! Empower the team! Deal with change, local decisions, greater responsibility,! Build in integrity! high quality,! See the whole! Datavetenskap, LTH, 2012 31 avoid optimizing individual parts, measure performance one step up,! The agile manifesto We are uncovering better ways of developing software by doing it and helping others do it. We value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Författat av ett antal företrädare för olika agila processer Gemensamma värden och principer Kom ihåg! practices! Scrum terminology! sprints! backlog! burn-down chart! daily scrum! scrum master! product owner! XP Values! communication! simplicity! feedback! courage! respect! Några XP principer! improvement! reflection! quality! baby steps! Några Lean principer! eliminate waste! delay commitment! empower the team! Några nya XP practices! informative workspace! slack! The agile manifesto! Datavetenskap, LTH, 2012 34 Hemuppgift 1: Deadline ons 7 nov, kl 12:00.!