This document discusses how a large company implemented Agile practices across multiple projects. It describes how a pilot project using Scrum was successful, delivering earlier and under budget. This led the company to rollout Scrum across other projects, which involved scaling practices, using tools like version control and continuous integration, and addressing challenges of distributed teams. Key factors for success included accurate prioritization, responsive impediment removal, focus on core practices, the right team composition, and commitment from both IT and business stakeholders.
3. The Risks of Software Development Delivering too little, too late Discovering functional needs late in the project Building the right things wrong Building more than you need Adding complexity which leads to non-maintainability Poor quality software Software buggy Software not maintainable
5. Agile is … the Methods AGILE Lean Thinking Queuing Theory Theory of Constraints eXtreme Programming (1996) Scrum (2001) DSDM (1995) Feature Driven Development (1997) Crystal (mid 1990s) Kanban (2008 ish) AUP/OpenUP Lean Software Development (2003)
6. Contrasting Waterfall with Agile Analysis Design Code Test Deploy Waterfall Time Analysis Analysis Analysis Analysis Design Analysis Architecture Releasable Releasable Releasable Deploy Design Design Design Code Code Code Code Agile Test Test Test Test
7. The Scrum Process Daily Scrum Meeting 24hours Sprint review Sprint Backlog tasks expanded by team Sprint Planning Sprint Backlog Potentially Shippable Product Increment Product Backlog Anyone can contribute items Prioritized by Product Owner
8. Company X Company X spent £100 million on tech refresh and consolidation 80 legacy system consolidated to 1 All other major projects suspended for 4 years Was it a Success? It has enabled Company X to take the next step... But... 2 years late 500+ defects in Live Backlog of over 200 Change Requests Business has had to accept over 150 manual work arounds New CTO Previously experience with Scrum at … Dictated that 4 Project would be run as Scrum in first year Commercial in Confidence 8 Why Change?
9. Company X – Pilot Commercial in Confidence 9 Ideal Agile Project Candidate Checklist
10. Company X Pilot – Providers Online First major web initiative Java based CMS Java Struts portlets .Netwebservices .Net backend Oracle Database 12 Month projects £2.2 million budget Team of 22 Java and .Net teams had never worked together Testers from 3 suppliers Project in total had 6 different suppliers Only 3 Company X permanent members Disengaged Product Owner Commercial in Confidence 10 What????
11. Company X Pilot – Providers Online Co-located everyone! Moved out to another building Created our own build servers Own code branch Implemented CI for Java Manual daily builds for .Net Created our own System Test Environments 2 Scrum teams Cross functional Scrum Master 3 Java 2 .Net 1 Html 1 Business Analyst 2 Manual testers 1 Automation Tester Commercial in Confidence 11 First Steps
12. Company X Pilot – Providers Online Complete UAT 2 weeks early Order of magnitude less defects discovered in UAT Delivered on time and under budget £1.9 million Commercial in Confidence 12 What a Success!
37. Distributed Scrum - How to ramping up Seed third team from members of first teams
38. Distributed Scrum - Enablers Video conferencing For daily stand ups Planning Retrospectives Digital Scrum boards Wiki and online velocity charts Scrum teams in offices/grouped desks Offshore/Onshore Exchange Continually moving team members between locations
42. Pitfalls – What will prevent success? Lack of commitment From IT – looking for the benefits of agile without the cost of change From the business – paying lip-service to the change with an inappropriate Product Owner Driving from the wrong direction The agile transition is a change in the relationship between IT and the business Lack of understanding Rigidly applying all aspects of a methodology, even when they prove to be detrimental Adapting agile practices to suit existing processes, teams, documents and standards Having unrealistic expectations Transitioning to agile is not an overnight process In SCRUM, the first Sprint for a new, blended team should be expected to fail
Prioritise accuratelyTo realise value as soon as possiblePrioritise highest value items early onProduct Increments are all production-qualityProvide appropriate responses to problemsNo wasted effort on unnecessary areasDocumentation at the right level in the right placesTechnical solutions which are just good enoughFocus on key practicesQuality of the product deliverablesVisibility of the Product Backlog ItemInspect and adapt – with every SprintHave the right attitudeRealise that agile processes are people-drivenBuy-in leads to project successProject success promotes buy-in across the businessHave the right teamA Product Owner with clear vision and clear authorityFirst commitment is the projectCan answer questions quickly and definitelyBought-in to the SCRUM processA SCRUM Master who can drive the projectEnsuring the smooth working of the teamRunning workshops to drive out the Product BacklogCommunicating the processes and benefits to the wider business communityAn Architect who can drive the solutionMaking the right technology choicesMentoring team members in the development process and the solutionA committed development teamKeen to learn new technologies and approachesBought-in to the SCRUM processKnowledgeable testersWith product and domain knowledgeCommunicating effectively with the development team
Lack of commitmentFrom IT – looking for the benefits of agile without the cost of changeProviding resources with other project commitmentsFailing to remove impediments quickly and effectivelyFrom the business – paying lip-service to the change with an inappropriate Product OwnerDriving from the wrong directionThe agile transition is a change in the relationship between IT and the businessToo often it is IT-driven, decided in advance and then presented to the businessTo the business, it’s just another IT initiative Lack of understandingRigidly applying all aspects of a methodology, even when they prove to be detrimentalAdapting agile practices to suit existing processes, teams, documents and standardsPicking and choosing agile practices without experience of their benefits and costsIn SCRUM, the project team should be hosted in one location. Co-location is an option can but can severely limit velocityTest-Driven Development in XP is a complete change in the development processHaving unrealistic expectationsEstablished agile teams to do deliver higher quality systems in less timeTransitioning to agile is not an overnight processIn SCRUM, the first Sprint for a new, blended team should be expected to fail