Continuous Integration Definition“Continuous integration is a software development practice – members of a team integrate their work frequently – each integration is verified by an automated build (including test) – to detect errors as quickly as possible.” http://martinfowler.com/articles/continuousIntegration.html
Top excuses for not doing CI• We have so complex product !• Quality Doors are preventing us to commit frequently• We have to keep the quality in the Main branch• Merge is too laborious and eats our bandwidth• The tasks have too many dependencies• Branching for features were required from us• Risky changes must be done in a branch• CI effort will impact our current commitments• Our current branch strategy is working fine .Why Change?
Benefits with CI• Fast feedback loop• No hiding behind the branches• No Big Bang at the end• Fosters collaboration among the developers• Confidence Booster for developers• Quality starts with the first code written. Not a Gatekeeper.
Agile Life Cycle Management Tool Scaling Agile Teams
A Scrum team Customer Product Owner Scrum Master Agile Team
What about the Organization ? Customer Customer Customer Customer Customer Unit Unit Unit Unit Unit Technology Technology Deploy & Deploy & Deploy & Leadership Leadership Support Support Support
Challenges • How to successfully handle multiple feature development in a large, internationally distributed organization? • How do we Cater to : – Prioritization – Decision making – Capability management – Work distribution – Change – Scenario and product lifecycle handling – Cooperation with external parties and product management.
Pain Areas with existing Tools• Lack of visibility• Inadequate tool support• Lack of traceability• Not Aligned with Agile Teams
One solution covering all needs Requirement definition Centralized tool Scrum Master Requirement management APM Management Customer Custom Views Project management Development
Advantages of ALM Tool• Live Dashboard, no obsolete presentations• Process visibility and traceability• Custom tool tailored to the company process• Customizability• People-oriented approach• Freedom on team level• Bottom-up reporting (centralized information)
Why Is important ?• Visualizing impediments is the first step to remove impediments• Docs, Ppts become obsolete data , as soon as you take out report from live system• Online Dash boards always gives you the current status• Motivation for teams and stakeholders to inspect and adapt