310 likes | 421 Vues
This overview highlights the journey of a software development team as they transitioned from a chaotic environment to one that embraces Agile and Lean practices. Six months ago, the team consisted of four developers with no testers or project managers, relying on rapid iterations and short feedback cycles. Currently, with five developers and a dedicated tester, the team has improved their workflow by incorporating T-shirt sizing for estimation, enhanced automated testing, and a commitment to quality. Join us for a panel discussion to learn more about our experiences and insights.
E N D
Introducing Agile and Lean Practices into a Chaotic Environment
An overview of what practices the team was using 6 months ago Where We Were THEN
Team • Brand new • 4 Developers • No Tester • No Project Manager • Product Owner shared
Cadence / Capacity Management • “Shock Therapy” Scrum • 1 week iterations • Short feedback cycles
Meetings • Prioritisation • Occurs iteration – 1 • Requirements / Analysis • Planning • Stand Up • Demo • Retrospective
Analysis • Whole team and Stakeholder for feature • Whiteboard • Converted to scenarios (G,W,T) after meeting
Estimation • Occurs at planning meeting • Planning Poker • Story Points using Fibonacci Sequence • Unable to do longer term planning at this stage as not enough data but points were very helpful
Testing / QA • All testing done by the developers • Nobody tested their own work though!
Continuous Integration • All Projects were under CI • Some deployments done using CI • Working towards having all deployments automated
Development Practices • Pair Programming, Unit Testing, Refactoring and more • Coding Standards – Document and Resharper • All new code; Unit Tests, Integration Tests, Acceptance Tests
Team Principles • No multi-tasking • All new or changed code must be thoroughly unit tested • No more than 2 pieces of work in “Active Work” at any time (our team is 3 developers) • We always work on the highest priority task • Our definition of done is “In UAT” • Leave it in a better condition than you found it • No hidden work • No overtime • No disruptions • Don’t SysTest your own work (we don’t have a tester yet)
Which practices are we using now? Where we are now
Team • 5 Developers • Dedicated Tester • No Project Manager • Product Owner shared
Cadence / Capacity Management • 1 week iterations • Short feedback cycles • Less Meetings overhead • Meetings when needed
Meetings • Prioritisation • Occurs iteration – 1 • Requirements / Analysis • Planning • Stand Up • Demo – When we can… • Fortnightly Retrospectives
Analysis • Merged with Prioritisation Session • Whole Team and Stakeholders • Whiteboard • Convert to scenarios (G,W,T) after meeting • Team proposes features too
Estimation • Occurs at Analysis meeting • T – Shirt Sizes • Estimation • Occurs at planning meeting • T-Shirt sized estimates • Can do longer term planning • Delivery road map
Testing / QA • All testing lead by the tester • Some testing done by developers • Automated acceptance tests
Continuous Integration • All projects now under CI • CI runs acceptance tests after deployment • Fully automated deployment to Live
Development Practices • Pair Programming, Unit Testing, Refactoring and more • Coding Standards – Document and Resharper • All new code = Unit Tests, Integration Tests, Acceptance Tests • More effort spent on Acceptance Tests
Code Metrics • CI generates a code metrics dashboard, using NDepend on every check-in • Visibility into code quality
Ask us about our experiences… Panel Discussion
Contact Us • Dan Rough: dan.rough@7digital.com • Hibri Marzook: hibri.marzook@7digital.com • Rob Bowley: rob.bowley@7digital.com • http://blogs.7digital.com/dev