In the second episode of this three part blog (earlier part is available at the link: https://www.capgemini.com/blog/capping-it-off/2016/04/impact-of-digital-agile-and-devops-on-the-delivery-model-of-vendors-and), I will cover instructive experiences of how clients and vendors have adjusted their working methods to deliver Digital IT projects using Agile and DevOps, without compromising on leverage of Global Delivery Model.
Organization 1 - Automaker: In early 2000s a Fortune 10 Automaker had commissioned a tier2 vendor to build 200 Marketing websites for Product Advertising and Lead Generation. The Automaker was expecting onset of an eCommerce world; developed a telematics based innovation which could be argued to have traces of Internet of Things, etc. The scale was 3 multi-lingual continents, 20 countries and 9 brands. The business requirements would evolve and churn, and deliverables from other vendors would come in late, incomplete, etc. Java was a hot new technology. The vendor got bruised, but learnt and applied few best practices to successfully deliver the project: (i) use of multi-stakeholder workshops to prioritize requirements, (ii) use of onshore coordinators who also has good relationship building skills with the business to work through requirements, and with the clients IT Infrastructure team for effective build deployment, (iii) going easy on the extent of documentation (iv) test, build and integrate code daily – with associated code quality and testing tools, and deployment scripts and utilities (v) ensuring consistency between environments / checks and documentation of variations, (vi) frequent customer touch points and demos of WIP product for refinement, etc. Practices (ii) to (vi) are part of Agile and DevOps in today’s nomenclature. The project was successful in the traditional onshore and offshore model with these adjustments and some members of same team continued to maintain the application and support ongoing enhancements.
Question: How did a non-empaneled tier 2 vendor bag such a significant project? Answer provided in next portion of this Blog.
Organization 2 – International Bank: The Bank’s Canada entity has a storied reputation for disrupting the business model of traditional banks since 2000s based on strong Digital Banking assets with superior customer experience, simple products and rapid time-to-market. Due to financial weakness of the parent entity it was sold in 2014. This Bank is arguably among the best known practitioner of Agile, has combined Agile and DevOps and has implemented it throughout IT project delivery, and has done away with roles like Tester, Business Analyst, and Project Manager, and asked everyone to become a Software Engineer.
The US entity was also sold to a US headquartered bank in 2012 – the latter wanted to expand the Online Banking model etc. The US entity was trying to adopt agile initially for both back-office projects and front-office Digital projects, with a view to drive ~40% time-to-market reduction. Sections of the bank were partly confused and had questions like: did they need an 8 hour videoconference every day with the offshore team to do agile development? Other sections of the bank were working to gain clarity by way of extensive trainings, implementation of an Agile tracking tool with features for daily stand ups and sharing the whiteboard with story and task cards updates, etc. Eventually the bank and its vendors worked out the model on how to implement Agile and DevOps in a global delivery model that best suited to their needs.
Organization 3 – Co-owned by Industry Players: Undertook a 5 year program with $100+ Million development budget, estimated to be five digit Function Points in size, spread across 10+ locations in US, Europe, Russia, India, etc. The scope cut across front-office functionality such as Channels and back-office functional elements linked to complex business logic in legacy systems and system of records. The program was done in waterfall model and got initially messed up (only 25% of scope delivered in first 3 years). The project was turned around and impact was realized in terms of: ~5X productivity improvement, 2.5X reduction in cost per Function Point and reduction in defect levels by 0.6X. Some of the best practices adopted were (many others were covered in the earlier part of this blog):
- Finite scope. Iterative large scale software delivery based on Agile Development Factory
- Engaged with offshore partners under same governance, responsible for development and testing prior to acceptance testing
- Define and agree on common Definition of Done (DoD)
- Deliver working ‘shrink-wrapped’ software out of the Agile Factory at each sprint as per agreed upon DoD
- Delivered functional integrated and performance tested solutions in each iteration. Continuous software build and integration. Full-time integration team
- Acceptance, integration and planning was run as sprints and to match those of development. Sprint test execution is planned according to sprint backlog and quality control is one sprint behind development
- Testing automation: 100% functionality coverage, 80% of complex business logic
- Onshore cross-functional team: PM, SME, architects, BA, testing and continuous integration. This team faces off to the business, plans the development program, organizes the team and is empowered to make decisions collaboratively and proactively, and deliver working software at the end of each sprint
- Offshore core team: PM, chief Scrum Master, Proxy Product Manager, BA, Tech Leads, QA management, configuration management, Integration and NFR testing (including module level coverage). Each core team is aligned to functional domains. Key members of the Offshore core team worked alongside the onshore cross-functional team
- Scrum team composition: 50% Scrum Master, 50% BA, Tech Lead, 5 Developers and 2 Testers
- Weekly webinars with Onshore cross-functional team and Offshore core team plus weekly forums for ad-hoc matters
- Webinars and videoconferences for stage planning, reviews and retrospectives; review of each sprint including demonstrations of working software
- Offshore core team feedback the output of daily stand-ups, scrums and “scrum of scrums” to Onshore cross-functional team via reporting of standard metrics and processes
- Multi-vendor Offshore core team Integration meetings twice per week
In the next blog (that concludes this series) I will cite examples to outline methods to realize business competitiveness based on well-considered leverage of Digital, Agile and DevOps, which needs to be the ultimate goal.
Final part to follow citing five examples….