1. 1Extreme Programming July 7, 2015
XP at LogicaCMG Mobile Payments
Paul Grew
LogicaCMG Software Development Manager
Sean Hanly
Exoftware Mentor
2. Extreme Programming July 7, 2015
Roadmap to XP
• The why?
–Issues
•Mature product set
–High cost of UK development
team
–Complex config management
–Waterfall lifecycle
–Fixed scope, time & cost projects
–Long QA test cycles
•No bandwidth for innovation
• The Catalyst
–XP success in other LCMG teams
• The What?
– Offshore mature products
– Ring fence elite staff
– Lavishly train team
– Spread innovation bets
– Invest in technology
3. Extreme Programming July 7, 2015
Challenge: No Innovation Bandwidth
• Insight
– Maintaining exisiting product set was using staff at 100%
– Waterfall did not allow for sufficent innovation
– Long QA Test Cycle
• Solution
– Offshore Maintenance
– Ringfence elite staff
– Introduce XP / Agile process
– Spread Innovtion Bets – (MMFS)
• Result
– First new product within 3 months – Intelligent Charging
– Second new product within 6 weeks later – Data SCP
– Two bets not one – Reduces the risk
– First customer – New product set
4. Extreme Programming July 7, 2015
Challenge: Long QA Test Cycles
• Insight
– Manual regression testing was time consuming and expensive
– Finding defects late in cycle (expensive and stressful)
• Solution
– Test First – Unit and Acceptance
– Fully automate
– Continuously build and integrate
– Pair Programming
• Result
– Mature Products – 50% fewer defects
– Test Cycle – From 2 months to zero
• 3,500 Automated Acceptance Tests – Intelligent Charging
• 1,000 Automated Acceptance Tests – Data SCP
– Build quality in, not inspect it in
5. Extreme Programming July 7, 2015
Challenge: Predictability
• Insight
– Waterfall did not generate sufficent feedback
– Did not easily allow us embrace change
• Solution
– Iterative Development – deliver working software every two weeks
– Transparent tracking – Big Visible Charts, Burndown charts
– Onsite Customer
– Variable Scope
– Smaller work units
• Result
– VATP – Delivered to schedule
– New Products – Always delivered to schedule
6. Extreme Programming July 7, 2015
Challenge: Non Trivial Release
• Insight
– Multiple code streams
– Manual build process
– Manual installation process
– Complex Configuration (overly flexible)
• Solution
– Continuous integration with automated testing
– Single code stream
– Continous deploy and install – (runs once an hour)
– Taken on support staff as customers
• Result
– Ship at any time (enough business value)
– Always have working deployable software
– Simple Confguration
• Runs out of the Box
• Runs on a Laptop
7. Extreme Programming July 7, 2015
Challenge: Delivering on the 80/20
• Insight
– Waterfall –
• Not enough feedback (especially from Customer)
• Big upfront requirements
– Long delivery cycles
• Solution
– Onsite Product Management
– Continuous Planning and Priortization
– Show and Tell
– Working software early and often
• Result
– Two new MMFS products
8. Extreme Programming July 7, 2015
Issues resolved
• Deployability
• Architecture
• Product development
9. Extreme Programming July 7, 2015
How frequently can the software be
deployed to a live system?
–Upgrades require downtime that can be costly
–XP enables us to deploy to a test bed every 2 weeks.
•Feedback on progress
•Feedback on features
•Confidence in delivery and quality
–The operator can then decide how frequently to deploy in the live
environment
10. Extreme Programming July 7, 2015
XP is “percieved” as weak on
architecture
–No BDUF
–Why we’re interested in architecture
•Operators are interested in the technical architecture of our products
and how they fit into their networks
•We have longer term architectural goals
•Consistency across products
–What
•Our teams have product architect that feed in architectural stories to
the proxy customer
–System and data migration
–3rd party evaluation
–OA&M (alarms, logs etc)
–Bid support
•They also pair up!
11. Extreme Programming July 7, 2015
How do we ensure we are building a
product rather than a bespoke
system?
–The proxy customer is the
product manager for that product
–Balances
•Bespoke
–Flexible
–Expensive
–Low confidence in market
direction
•Product – out of the box
–Inflexible
–Lower cost
–Validated by peers
12. Extreme Programming July 7, 2015
Misc
• Pair programming
–Not appropriate for everything
–Pair marriage leads to divorce
• Estimates
–Real time leads to consistency
–Small is best
• Appraisals
–How?
• Communication
–Is there ever enough?