Recap WITI Orange County - April 17, 2014
Waterfall to Lean: With Agile In-Between Event Summary
by Terry Dear
Thank you to WICS (Women in Information and Computer Science) at UCI for securing our location for our Waterfall to Lean: with Agile In-Between event.
The quest for developing quality software that is delivered on time, within budget, bug free, and meets customer satisfaction is the holy grail for software development teams. Definitely this session was for geeks (and so is this summary). Led by moderator, Brian Dreyer from Platinum Edge, our panelists consisting of Diane Cochrane (Blizzard Entertainment), Kristine Hayes Munson (State Street), and Colleen Kirkland (Capital Group) had a lively discussion about the software development processes implemented at their respective companies.
Brian started off the evening off by describing how software development processes (aka methodologies) came into existence. The Waterfall methodology was coined for software development around the 1970s with a focus on milestones and dates. Lean methodology was created in the 1980s adopted from the Toyota Production System to maximize the customer value and minimize waste. Around the 1990s, Agile methodology came about focusing on time-boxed adaptive iterative planning and delivery.
Let us start off by saying Waterfall software methodology is NOT DEAD. Kristine stated her company has monthly release cycles. When one had a pedabytes of data, doing an iterative upgrade to one's database does not make sense. Also her company's Infrastructure team prefers structured, well planned deployments. Her company does more manual testing than automated testing. To ensure 100% compliance and low risk, her company will run systems in parallel before shutting off the old system.
Both Kristine and Colleen stated that their company's industry has a huge focus on compliance and risk. Colleen stated her company is in financial services and is highly conservative. Having said that, they are progressive and develop software in both a Waterfall and Agile manner. They are investigating the SAFe framework (Scaled Agile Framework) developed to adapt the agile methodology at the enterprise level. Integration (among applications) is still conducted using the waterfall approach. Individual applications have become more agile in their development. They have sprint demos every 3 weeks for 2 hours with the whole team, business users included.
Diane works for a gaming entertainment company that have fully embraced the Agile methodology for software development. The team is 100% TDD (Test Driven Development). About 70% of coding is spent on developing the 'functions' of the application, and 30% is spent on writing test code for the particular functions. Agile is about managing and reducing the variance in your deliverable while maintaining a very high developer efficiency rate. For integration, they hold a 'scrum of scrums' 2 months in advance of a release. The developers 'drag' their Operations team along to their Agile approach when releasing to Production.
After listening to how each panelist's company handles scope, timelines, customer expectations, economic benefit, and developer efficiency, some take-aways are:
- Implementing any new software methodology can be viewed as a 'silver bullet'. However, organizational cultural shift is also required and takes hard work for any new methodology to be successful. Do not assume it will be fast.
- Agile methodology switches the emphasis and focus of application delivery from committed scope and schedules to developer efficiency and throughput delivering rapid response to customer changes
- Agile methodology will go the way of the dinosaur (i.e. like six sigma) if it cannot adapt fast enough to the speed of change in the software development world.
- Knowing who is 'voice of the customer'/decision maker is critical, no matter which methodology is selected, be it the 'product owner' or the 'stakeholder'.
- Using the Agile methodology, does NOT mean no documentation
- If your development team cannot reduce scope, that is, take stuff out of the box/sprint, say no to management or dictate schedules, then perhaps staying with the Waterfall approach is the best methodology for customer satisfaction over the long haul.