Agile adoption patterns and antipatterns

764
-1

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
764
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile adoption patterns and antipatterns

  1. 1. Agile Adoption:PatternsandAnti PatternsGreg HutchingsCTOValtech France
  2. 2. 2© Valtech 2007Agile Adoption: Patterns and Anti-PatternsIn this seminar I will discuss alternative approaches tobeginning the agile journey that have been shown to workfor our clients, including agile training, pilot projects andco-sourced immersion with experienced agilists.In addition to the key specific patterns and practices youshould consider for success, we will also discuss agileadoption anti-patterns - practices that should be avoidedin order to succeed with Agile development in yoursoftware development organisation.
  3. 3. 3© Valtech 2007IntroductionGreg Hutchings– Valtech Global Sourcing Project Director and consulting Agile Coach– 20+ years SW development experience – developer to CTOIntended audience: Software development CIOs, VPs and PMs,using or considering Agile methodsThis is about how to help you succeed in introducing Agile methodsin your organisationSharing real world experience gained from helping teams adopt Agilemethods in their organisationsFirst, for those who don’t know, a very brief background on Agile andLean Thinking: the Agile Manifesto, the 12 principles of Agile and the7 principles of Lean Software development …
  4. 4. 4© Valtech 2007Manifesto for Agile Software DevelopmentWe are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items onthe right, we value the items on the left more.© 2001 http://agilemanifesto.org
  5. 5. 5© Valtech 2007Principles behind the Agile ManifestoWe follow these principles:Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software.Welcome changing requirements, even late indevelopment. Agile processes harness change forthe customers competitive advantage.Deliver working software frequently, from acouple of weeks to a couple of months, with apreference to the shorter timescale.Business people and developers must worktogether daily throughout the project.Build projects around motivated individuals.Give them the environment and support they need,and trust them to get the job done.The most efficient and effective method ofconveying information to and within adevelopment team is face-to-face conversation.Working software is the primary measure ofprogress.Agile processes promote sustainable development.The sponsors, developers, and users should beable to maintain a constant pace indefinitely.Continuous attention to technical excellenceand good design enhances agility.Simplicity--the art of maximizing the amount ofwork not done--is essential.The best architectures, requirements, and designsemerge from self-organizing teams.At regular intervals, the team reflects on howto become more effective, then tunes andadjusts its behavior accordingly.
  6. 6. 6© Valtech 20077 Principles of Lean Software Development– Eliminate Waste– Amplify Learning– Delay Commitment– Deliver Fast– Empower the Team– Build Integrity In– See the wholehttp://www.poppendieck.com/pdfs/Lean_Software_Development.pdf
  7. 7. 7© Valtech 2007What does a team need to learn to become agile?New roles:– Product Owner– Scrum Master– TeamNew artifacts:– Backlogs– Burndowns– Stories– Automated testsNew processes:– Daily standup– Iteration planning meeting– Requirements workshops– RetrospectivesNew practices:– Functional test automation– Collaborative requirements– Test driven development– Pair programmingNew tools:– Continuous integration– Automated test frameworks– Information radiators– Agile environment: VCP, RallyNew thinking:– Complete transparency– No heroics; Unified team– Embrace change
  8. 8. 8© Valtech 2007Agile – how to get started?Send our people to Agile training?Bring in an Agile coach?Begin a pilot project using Agile methods?Transform an entire organisation all at once?Recruit or engage an experienced Agile team?Outsource one or more Agile projects?The right approach depends upon your situation and goals,and may include some or all of the above
  9. 9. 9© Valtech 2007Alternative adoption strategiesDo-it-yourself– Pick up a book on Agile, browse websites, attend seminarsGet training– Certified Scrum Master, XP Game– New in 2007: Valtech Agile certification and trainingAgile pilot project– Skills transfer is the priority for the coaches, and delivery will also occur.Enterprise Agile transformation– Requires ready organisation, substantial coaching and executive sponsorshipCo-source with an Agile professional services firm– Delivery is the priority for the coaches, and skills transfer occurs, as wellOutsource your Agile projects to an Agile development center– proximity and offshore alternatives
  10. 10. 10© Valtech 2007Case Study: Do-it-Yourself at Large CompanyPatterns and Anti-patternsA group of developers who have heard about Agile and read booksby Kent Beck, Martin Fowler, Craig Larman et al decide to try it outIn defiance of the PMO and unsure of themselves, they decide totry one or two of the best practices secretly, to see if they will workThey begin holding daily standup meetings, using a Wiki andimplementing cruise control for continuous integration. They tracktheir work in an iteration backlog and create a burn-down.The team has no certified Scrum Master (CSM), and there is noProduct Owner.The adoption of Agile is not sponsored and the team is not cross-functional – missing product owner, analysts and testAlthough the team of developers are enjoying their new tools andmethods, when they announce to management that they will nolonger predict project end dates and have « de-scoped » theRelease, a strong lash-back occurs and Agile is dropped
  11. 11. 11© Valtech 2007Case Study: Stand alone training at Large BankPatterns and Anti-patternsVisionary Sr. IT Manager, experienced with XP, wished totransform his entire IT group of 150 people to Agile methodsA half day workshop was arranged to include the XP Game attheir annual retreat in the wine countryThe CIO and business leaders were unaware and not sponsorsParticipants learned agile estimation, acceptance testing, andvelocity while having fun with the XP GameSenior management did not understand why they were spendinggood money to play gamesAvoiding resistance, Visionary wisely decided on two pilot projectswith high business value, using small teams and expert coachingSix months later, after successful pilots and adaptation of agile tothe bank’s environment, enterprise agile transformation began
  12. 12. 12© Valtech 2007Case Study: Agile pilot projects at SPCPatterns and Anti-patterns (1 of 2)SPC (Software Product Company) is an online division of a successfultraditional media company. Large investments in online technology hadyet to produce the anticipated revenues. Development had beenoutsourced to large consulting companies using waterfall methodologiesand RUP; after 2 failed attempts and more than $50 million, nothing hadbeen delivered.A new CIO (DSI) and partner were brought in to better align with thebusiness and deliver product within 1 year. The following approach wastaken:Confirm key business priorities and select critical projectsAgree to Agile approach and gain support from sponsorsEngage experienced partner Agile coaches and team members toinitially work on site with staff. Delivery was priority.Deliver incrementally, inspect and adapt
  13. 13. 13© Valtech 2007Case Study: Agile pilot projects at SPCPatterns and Anti-patterns (2 of 2)Up front Agile orientation for everyoneGood sponsor support and no disruptionClear roles for Product Owner, ScrumMaster and TeamStrict time-boxing:– 3 month releases, budget tracking– 2 week iterations, working software at end of each iteration– Daily Scrum meetings, clear communication within teamEfficient agile requirements workshops, clear acceptance testsMultiple co-located, cross functional feature teamsContinuous integration with automated unit & functional testsPair programmingInternal QA department joined team late, resisted agileTeam worked weekends to compensateProduct shipped on time in a first and second release
  14. 14. 14© Valtech 2007Case Study: Agile transformation and OutsourcingPatterns and Anti-patternsA software products company (SPC2) with an aging but successfullegacy application decided to build a new n-Tier Java platformusing an outsourced partnerSPC2’s CIO realized they would need to keep some developmenton site and would need a common methodology: Agile.Valtech helped define, coach and implement Agile methodologyand built a dedicated Agile offshore development centerExpert onsite agile coaching was provided over 4 monthsThere was an internal Agile champion in senior managementSPC2 had hired an excellent team open to new ways of workingSufficient tools and process infrastructure were providedThe Agile offshore center followed consistent process and practicemethodology, using a common source code repository, buildprocess, change control process and requirements managementAfter 16 months, 130+ staff on 12 projects were deliveringproduction software on the Java platform using Agile methods
  15. 15. 15© Valtech 2007Case Study: Your first Agile pilot project?Begin with a common understanding of Agile core principles– ½ - 2 day workshop planned for sponsors, IT management, teamsMeasure your organisation’s readiness to adopt Agile– Assess current practices, teams and infrastructure to identify issues and needsCarefully select a pilot project that has high business value and risks– Ideally, few external project dependencies and high customer involvementSelect a small, dedicated team, with an excellent internal champion– The team will be learning a lot of new ideas and practices rapidly, and will needenergy and enthusiasm. Supplement team with experienced consultants.Engage a practicing, experienced certified Scrum Master as a coach– The Scrum master is central to the team and can help all roles acquire skills.Engage sponsorship at the level of CIO and the head of the businessunit, and keep them informed and engaged– This is something people sometimes overlook – at their eventual perilImplement a full set of agile best practices, as in Scrum – do not pickjust a few of the practices; they work best as a whole
  16. 16. 16© Valtech 2007Agile pilot project patternsEngage with experienced agile experts to train and coach yourorganisationSelect a new pilot project that is critical and challengingProject should not be too short or too long; 4 - 6 months is goodBe sure to have a committed and involved business ownerBegin with a strong, dedicated team of people with technical,learning and communication skillsGet agile experience on your team; ideally half already havesuccessful agile project experience. Ideal total size; 7 +/- 2Provide adequate infrastructure: common project room, CI buildserver, efficient SCM software, communications, white boards, wiki;consider a best-of-breed Agile tool such as RallyDev
  17. 17. 17© Valtech 2007Some project anti patternsSelecting a project that is not importantForgetting to engage the sponsors in their roleHaving a technical project manager try to play the role of productowner and scrum master at the same timeKeeping your project’s successes (and failures) a secret frommanagementFailing to have retrospective meetings; it is how the team learnsKeeping a waterfall QA department that does not collaborate orparticipate in the Agile team
  18. 18. 18© Valtech 2007Agile pilot project patternsWorkspace considerations– Use an open space without physical barriers between people– Be sure that all of the cross functions are co-located– Use white boards and walls to radiate information– Be sure that there is adequate table space, light, seating and insulationfrom noise outside the space– Have people take cell phone calls in the hall or outside – not in the teamarea– Be sure that everyone can see the iteration’s stories (requirements) thatare in progress– Hold the daily stand up meeting at the same place and time
  19. 19. 19© Valtech 2007Anti patterns in the work spaceMultiple teams working in the same open space without soundbarriersOpen space teams with physical isolation between functionsCross functional teams separated by cubicle walls, unable tosee each otherOffshore or offsite teams that do not have the necessarycommunication tools to collaborate with the onsite teamPeople assigned to multiple projects, especially when workingwith the project team in the same locationTaking mobile phone calls in the team project room
  20. 20. 20© Valtech 2007Common process Anti-patternsBuilding lots of requirements e.g. 6 month’s worth – beforebeginning development. This kills the collaboration betweenbusiness owner, analyst and developerCreating a traditional test plan which is not related to agilerequirements – and generates « change requests » which arereally new features but are not treated as suchOn legacy systems that are being evolved, dividing the teamsinto maintenance teams and new feature development teams(not everyone agrees on this point)Planning all of your iterations in advanceNot asking the time remaining but percentage completeNot creating functional tests that can be automated in advanceof development
  21. 21. 21© Valtech 2007Some final Agile PatternsForm good relationships within your team and invest in themPick up the phone or talk to the other person instead of emailAssume that the other person is always doing the best that they can,given their abilities and circumstancesThink everyday about the things that you should be doing – and thethings that you should stop doingRemind yourself and your team often of the principles of AgileAs a Scrum master your top priority is to help your team succeed indelivering valuable software to the customer early and oftenCelebrate your successes and learn from your failuresListen to your customer and your team members
  22. 22. 22© Valtech 2007Do your homework: the books David suggested are a great start– Craig Larman: Agile and Iterative Development, A Manager’s Guide– Ken Schwaber: Agile Project Management with Scrum– Mary and Tom Poppendieck: Lean Software Development,Implementing Lean Software DevelopmentAlso recommended:– Norman Kerth: Project Retrospectives– David Anderson: Agile Management for Software Engineering– James Coplien and Neil Harrison: Organisational Patterns of AgileSoftware DevelopmentMany websites are also available:www.agilealliance.org is a good place to start
  23. 23. 23© Valtech 2007Thank you!gregoryhutchings@gmail.com

×