The real growth of an agile teams starts as it gets to work on the core productivity accelerators to improve its code quality and get the things first time right which in-turn helps them to increase their velocity . Agile uses the lean concept of FTR very effectively, it suggests teams to do small increments of functionality in the best way it can as a team. I have seen on many teams that have initially produced bad code have started streamlining there code by effectively using the engineering practices such as
• Unit Testing / TDD
• Code Reviews
• Shared Code
These above practices are easier said than done, very difficult to practice, it requires helping hand from everyone on the team( PO, Scrum Master, Developers, Testers & Product Managers). It is a big challenge for most of the coaches to achieve this because the amount of the time given to them for scaling up teams is very low. Also improving the engineering practices on the team has lot of aspects associated:
• Skill upgrade/Training
• Tools availability
• Continuous focus
Most of the times mistake proofing (another lean concept) helps a lot to achieve FTR on agile teams, whenever we deploy the productivity tools like IDE, PDT and plug-ins like check style, firebug, PMD review etc they force the correction at origin i.e. cautions developers to correct at the source and commit the right code into system.
Agile software development can benefit a lot from lean principles resulting in more value to the customers & teams implementing it. Lean has a huge role in the IT design, development & maintenance. I will discuss them separately in another blog very soon stay glued.