Rakuten Technology Conference 2011.
By David Ramos and Ilya Solovyev(LinkShare Corporation)
In today's high tech world, the complexity of projects continues to increase rapidly. Many technical organizations continuously ask themselves – what can we do to ensure the highest level of quality within a time-boxed project? When a project faces unforeseen challenges, there's an increased need for creative solutions and a higher level of teamwork. This presentation explores the coexistence of the agile and waterfall methodologies. This may be taboo in the traditional project management organization, however we have proven that it works.
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Agile meets waterfall
1. Agile Meets Waterfall
Presenters:
David Ramos
Ilya Solovyev
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
0
2. Project Objective
To enable Linkshare to collect and pay VAT
VAT (Value Added Tax) exclusive to the
commissions that Publishers earn,
which will enable Linkshare to compete
effectively for Publishers in the U.K and
European markets.
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
1
3. Project Challenges
Complexity
Changes required on 5 production systems
Limited legacy documentation
Large volume of semi-documented exceptions
Time to Market
Compressed project schedule to meet same year
revenue target
Resources Availability
Competing projects
Limited number of Subject Matter Experts
Steep learning curve to ramp additional resources
Lessons learned from a previous
related project
High volume of bugs
Limited test cases and test rounds
Inadequate testing environment
Limited test data
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
2
4. Solution to Challenges: Agile Meets Waterfall
Q2 2011 Q3 2011 Q4 2011
Inception
Requirements
Design
Code
Test
Regression
UAT
Deploy
Close
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
3
5. Project Approach
Key Agile Principles Key Waterfall Principles
Large Batches
Small Batches Typical delivery schedule is two or three times a year.
Functionality is developed in short iterations of 1-4 weeks, and
released into production frequently, as often as weekly.
Responding To Change Baseline and Change Control
Acknowledge uncertainty, and adapt to both external (market) Typically constrain, or even completely eliminate any
and internal changes, by modifying plans and approach. Use significant change other than dropping features. Work to initial
engineering principles to make code base easy to modify. plans, even when they are proven to be invalid.
Iteration & Continuous Improvement
Retrospectives at the end of each iteration allows teams to Lessons Learned at the End
reflect, learn and continually improve by continually adapting. Negative feedback is rarely if ever given, and often too late to
avoid significant project consequences.
Small, Integrated Teams Silo Teams with Handoffs
Small team size and complementary overlap in skill sets Staff works in functional oriented groups, throwing
simplifies communications, allows everyone to see the big documentation and code over the wall.
picture, creates self discipline and provide flexibility.
All or Nothing
Focus on Highest Value First Tight coupling, and a bias toward building out the internals in
Align project, product and team visions a breadth first fashion, means that nothing can be delivered in
by prioritizing by business needs, and using well-architectured isolation, even if it’s valuable.
code, to deliver better quality products faster and cheaper.
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
4
6. Team Structure
Role Agile Waterfall
Product Owner
Project Manager
Technical
Functional
Manager
Requirements
Manager
Technical Lead
Software
Developers
QA Lead
QA Engineers
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
5
7. Development Approach
• Agile for Development and Test
• Daily ½ hour meeting
• Three 1-week sprints
• Assignments to sprint backlog tasks
• Dependent on developer’s expertise
• The team was self-organized
• Found the best architecture and
code design approaches during
weekly sprints
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
6
8. Test Approach
• Test development first
– from unit testing to demo
• Test Environment LinkShare Wiki
– 60% performance
improvement
• Test Data
• Created WIKI page
– result of existing unit
tests
• Sprint QA testing
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
7
9. Project Outcomes
Largest Related Code Release since Q4 2010
– Code Reviews
– Early Testing + Testing with Recent Data
– Multiple Rounds of UAT
Lessons Out Box Team Project
Learned Thinking Work Success
Post Release Bugs Pre Release Bugs Days to First Invoice
111 329 29
4 26 2
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
8
10. Agile Challenges
Backlog
• It can grow to a size where
it’s difficult to groom or
prioritize in any reasonable
amount of time
Documentation
• It often gets out prioritized
Staffing
• Some resist to co-locate
• Estimating complex stories
can be difficult to less
experienced team members.
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
9
11. Conclusion
Agile + Waterfall
– Can co-exist
– Helps produce the
highest quality product
– Helps achieve milestones
and adhere to timelines
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
10
12. Next Steps
• 2012 Product Roadmap
• Adapt this new approach
to complex and time
sensitive projects
• Example: Global SAP
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
11
13. Next Steps – Global SAP Rollout 2012
• Multiple Concurrent Projects
Currently Underway • 2 Week Dev Sprints
Agile • Quick response to change
• Waterfall UAT and Regression
Legacy
System
Integration
Phase 1
LinkShare
Rollout
Global SAP
Waterfall
• Single Waterfall Project
• Strict Change Control
• All or Nothing
Copyright 2011 LinkShare Corporation. All rights reserved. CONFIDENTIAL: FOR INTERNAL DISTRIBUTION ONLY
12