The Agile Software Development Experience At Transamerica November 2010 1
Prologue Business Agility is an overused term that means many things This presentation gives an overview of the agile software development methods implemented at Transamerica We implemented Scrum which is one of the agile methods Industry surveys indicate that the majority of agile implementations are Scrum or a form of Scrum Lean methods are currently receiving a lot of attention When done well, lean focuses not just on efficiency, but what adds value 2
Challenges Business lacked confidence in IT s ability to deliver Business & IT relationship was not good Conflicting priority lists from each business department Instead of focusing on the most value, project scope was broad and we tried to do it all which delayed implementation of anything Utilized traditional waterfall approach of trying to get all requirements documented and approved prior to starting development Projects encountered implementation delays when scope changed and/or when users saw what was developed 3
Standish Group Study Features & functions used in a typical system Never 45% Rarely 19% Sometimes 16% Often 13% Always 7% 4
Agile Manifesto Individuals & interactions over processes & tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 5
What We Did To Get Started Utilizing a consulting firm, we conducted a class for most of IT and key people from the business departments Formed a pilot agile team Without asking permission, another team formed We decided to proceed so we moved all of the software development teams to agile Agile teams are responsible for production support and maintenance, incentive to produce good code & permanently fix problems Designers try to work ahead of the teams, emphasize simplicity 6
What We Did At The Management Level Project Review Board (PRB) comprised of executives representing all business units PRB approves & prioritizes projects Enabled an overall project backlog & corresponding project backlogs for each agile team Priorities help to resolve conflicts 7
What We Did At The Team Level Product Owners & Teams Develop user stories & acceptance criteria Perform sprint planning at the beginning of each sprint Estimate story points for each story Commit to what they will get done each sprint Break down stories into tasks Utilize burn down charts Daily scrums increase accountability Scrum Masters resolve issues Present results to the business at the end of each sprint Conduct sprint reviews at the end of each sprint 8
Results Improved relationship with business units through increased collaboration, embrace changes Eliminated waste, work on what delivers the most value first Increased speed by focusing on delivery, business owners decide when there is enough functionality to release to production Each agile team s velocity is increasingly predictable Higher level of employee engagement as they are now making more decisions 9
What Else We Did Automated testing Continuous Integration Utilized open source tools When the developer checks in code Code is automatically tested Team is automatically notified if the test fails Code is automatically reviewed for adherence to standards Code is ready for deployment 10
Lessons Learned Less is more By limiting the concurrent projects that teams were assigned, the teams did more and did it faster Antagonists describe agile as undisciplined, if done correctly, it as disciplined than waterfall When we did not follow the discipline, the results were not as good Agile exposes weaknesses Our agile implementation has been a journey Estimates are not exactimates, near term work is always more predictable than long term 11
Wisdom Plans are nothing. Planning is everything. Dwight D. Eisenhower 12
Questions? 13