Download - Applying agile to COTS Implementation
Applying Agile toCOTS implementations
Date: 17-Feb-2012
Experience Report
Nirmal Merchant
Applying Agile to COTS Implementations 2 |#nirmalmerchant
backgroundi am we are▪ Technologist & Certified Scrum
Master▪ Over 12 years of IT experience▪ Scuba diver & Ballroom dancer
▪ Application development group within a global strategic business consulting firm
▪ Over 5 years of Agile practice▪ Exponentially growing portfolio of
projects in the data analysis and BI arena.
▪ Sizeable portfolio of internal projects in ERP, Collaboration and CRM platforms.
▪ Have over 6 speakers delivering 9 talks at this conference
▪ The great place to work…
Applying Agile to COTS Implementations 3 |#nirmalmerchant
CanCan Agile help us execute COTS implementations better? Agile help us execute COTS implementations better?This experience report sharesThis experience report shares▪ The areas where we leveraged Agile principlesThe areas where we leveraged Agile principles▪ What we did differentlyWhat we did differently▪ What results did we experience.What results did we experience.
summary
HoweverHowever, our COTS implementations typically suffered from , our COTS implementations typically suffered from ▪ missed implementation deadlinesmissed implementation deadlines▪ longer time-to-marketlonger time-to-market▪ higher than optimal support costshigher than optimal support costs▪ burned out teamsburned out teams▪ dissatisfied usersdissatisfied users
WeWe have a number of IT enabled business processes where we perceive high have a number of IT enabled business processes where we perceive high business value in leveraging business value in leveraging Commercial Off The Shelf (COTS) Commercial Off The Shelf (COTS) products products instead of developing our own.instead of developing our own.
Applying Agile to COTS Implementations 4 |#nirmalmerchant
Tailored
make / buy
When will you choose one over the other?
Ready to wear
In-house development vs. COTS implementation
▪ We need to catch-up with industry best practices
▪ To comply with industry standards or regulations
▪ There is no significant business value (increase in revenue/reputation) in deviating from industry best practice. (e.g., our administrative/cost center processes)
we prefer to buy when…
Applying Agile to COTS Implementations 5 |#nirmalmerchant
the results of agile COTS▪ Cost of implementation reduced to 1/3rd
▪ Implementation effort reduced from 9 months to 5 months
▪ Effort for maintenance upgrades reduced from 3 months to 1 week
▪ Higher user satisfaction and application usage
▪ Reduction in support tickets
▪ Better vendor relations
▪ Reduced cost of change
So what did we do differently?
Applying Agile to COTS Implementations 6 |#nirmalmerchant
areas influenced by agileProduct Selection
Impleme-nter selection
Staffing the team
Release planning
Fit the product to you
Product Validation
Applying Agile to COTS Implementations 7 |#nirmalmerchant
product selectionthe traditional way the agile way
contract
business goals
feature specification
collaboration
promises
working software
Conversation and collaboration over contract negotiationWorking software over documentation
Applying Agile to COTS Implementations 8 |#nirmalmerchant
product selectionthe traditional way the agile way
▪ Product specifications are precisely defined upfront in the form of a comprehensive list of use cases.
▪ Business goals are clearly communicated in the form of a prioritized backlog user centric stories.
▪ Function leaders evaluate products based on marketing & sales presentations and demos
▪ End users evaluate products through hands-on experience in a sandbox environment
▪ There is minimal interaction between Product vendors and customers and are often separated by time, distance.
▪ Customer and vendor come together to arrive at a common understanding of business goals.
Applying Agile to COTS Implementations 9 |#nirmalmerchant
Time & Materials
http://thumbs.dreamstime.com/thumblarge_250/1205930390UI0KO3.jpg
implementer selectionthe traditional way the agile way
http://aprilpedia.com/wp-content/uploads/2010/12/Tight-Budget.jpg
Fixed CostFixed Scope
http://djbaymusic.com/wp-content/uploads/2011/12/contract1.jpg
Penalties
http://www.mortgageporter.com/reportingfromseattle/images/mpj040179500001.jpg
CYA Process
Embrace Change
http://www.channelweb.co.uk/IMG/070/89070/caterpillar-to-butterfly-change-metamorphosis-370x229.jpg?1257355813
Rewards
http://www.businesstoday-eg.com/images/bankingfinance/best-africa-investment-bank-award.jpg
http://www.virtueinfo.com/wp-content/uploads/2010/06/scrum-agile-software-development2.jpg
PFS Process
Applying Agile to COTS Implementations 10 |#nirmalmerchant
implementer selectionthe traditional way the agile way▪ Success metrics are based on the
timeliness of delivery and staying within budget.
▪ Success metrics are based on realization of business goals.
▪ Scope changes are discouraged by a drawn out CM request process.
▪ Scope changes are embraced by allowing trade-offs while maximizing business value.
▪ Vendor selected through competitive bidding irrespective of their methodology
▪ Vendors are pre-qualified for experience in/willingness to work the agile way.
▪ Preference given to vendor agreeing on fixed scope and fixed cost with penalties for schedule slippage
▪ Preference given to a vendor open to changing scope and a time & materials statement of work. Budget is based on expected ROI and scope is tailored accordingly.
Applying Agile to COTS Implementations 11 |#nirmalmerchant
staffing the teamthe traditional way the agile way
http://farm5.static.flickr.com/4056/4619970091_6a5da2e39c_o.jpg
Get the right people on the bus, the wrong people off the bus, and the right people in the right seats - Jim Collins in Good to Great
http://www.teleportmyjob.com/blog/wp-content/uploads/2009/07/interviewing-the-boss.jpg
Applying Agile to COTS Implementations 12 |#nirmalmerchant
staffing the teamthe traditional way the agile way▪ Delegate staffing to the vendor ▪ Collaborate with the vendor for
staffing
▪ Staff people that excel in specific technical skills regardless of their aptitude and working preferences.
▪ Staff people who can thrive in the environment that you can realistically and consistently offer.
▪ Staff people for specific roles and expertise
▪ Staff generalist specialists
▪ Schedule and budget commitments were made by people different from those staffed
▪ Get stories estimated by the members staffed on the project.
Applying Agile to COTS Implementations 13 |#nirmalmerchant
release planningthe traditional way the agile way
http://chrisnierhaus.com/wp-content/uploads/2009/04/eat_the_elephant.jpg
How do you eat an elephant?
http://t1.gstatic.com/images?q=tbn:ANd9GcQYeL-qVbsBFIJWE_LtrGlsrxIR-aEzDPf38StUOVhQATSE3WLfHg0h8Gf0FQ
One bite at a time!
Applying Agile to COTS Implementations 14 |#nirmalmerchant
release planningthe traditional way the agile way▪ Upfront comprehensive
requirement analysis & sign-off
▪ Features are defined by business leads
▪ Plan to release the whole system or several modules at once
▪ Focus on delivering complete use cases including localizations & remote edge cases
▪ Setup the infrastructure for the whole system upfront
▪ First release is the heavily customized product
▪ Iterative requirements gathering in descending order of business value
▪ Features are driven by end users
▪ Release a small set of features into production in smaller intervals
▪ Focus on maximizing business value and reducing risk
▪ Setup just enough infrastructure required for upcoming release
▪ First release is the configured OTB product
Faster Time to Market…. Faster Return on Investment…
Applying Agile to COTS Implementations 15 |#nirmalmerchant
making the product fit youthe traditional way the agile way
http://www.buybestpriceonline.com/wp-content/uploads/2011/04/shoponline.jpg
http://beehiveblog.com/wp-content/uploads/2010/09/office-clothes_ill-fitting.jpg http://www.blackpoolclothingalterations.com/pictures/jeans.jpg
http://2.bp.blogspot.com/-cgjr-Zlt0XU/TZA1AC0qgXI/AAAAAAAAAWk/SMr47B9kFAw/s640/downsized_0327111524b.jpg
http://wardrobeadvice.com/wp-content/uploads/2009/08/Fitting-room-etiquette.jpg
http://www.fashiontrendsetter.com/accessories_images/2009/Accessorize-SS09-03.jpg
Applying Agile to COTS Implementations 16 |#nirmalmerchant
making the product fit youthe traditional way the agile way▪ Heavily customize the product with
core-code modifications to accommodate non-standard business processes and nice-to-haves
▪ Challenge the business value of the non-standard process
▪ Partner with product vendor to facilitate the process through configuration
▪ Leverage APIs to build stand-alone, loosely coupled extensions
Configuration and Extensions over Product Customization
Applying Agile to COTS Implementations 17 |#nirmalmerchant
http://www.boagworld.com/blogImages/user_testing-20100604-121059.jpg
product validationthe traditional way the agile way
http://www.loridennis.com/greenblog/wp-content/uploads/2012/01/blindfold.jpg
http://pdxcyclingonline.com/wp-content/uploads/2010/08/surprise-face.jpg
WTF!
http://www.boagworld.com/blogImages/user_testing-20100604-121059.jpg
http://jonoscript.files.wordpress.com/2009/03/angry1.jpg?w=510&h=382
Applying Agile to COTS Implementations 18 |#nirmalmerchant
product validationthe traditional way the agile way▪ User (acceptance) testing in a
separate phase right before rollout.
▪ Usability is secondary to functionality. End user experience is not a priority.
▪ Users approach UAT with expectation that product will change based on their feedback. IT approaches UAT with the expectation that users will approve the product without any changes.
▪ Product evolves with feedback from the users throughout the release.
▪ End user experience is seen as critical to realizing business value.
▪ Product is validated through user testing in a risk contained, concentric manner.
High risk users
Earlyadopters
TextAdmin users
TextFriends & family
Reputation risk
Time
Applying Agile to COTS Implementations 19 |#nirmalmerchant
key challenges
▪ Convincing sponsors and vendors to adopt Agile
▪ Securing time from end-users for product selection & validation
▪ Striking the right balance on who to involve and when
▪ Securing product support from the manufacturer when you are not using them or their partners for the implementation
Applying Agile to COTS Implementations 20 |#nirmalmerchant
key takeaways▪ Select a product through first hand experience
▪ Engage an implementer who can practice Agile
▪ Staff the team for success
▪ Deliver early and often
▪ Prefer configuration, extensions and customizations in that order
▪ Continuously validate your deliverable with users
Applying Agile to COTS Implementations 21 |#nirmalmerchant
thank you▪ Technologist, product owner and
certified scrum master at a global business consulting firm
▪ VP of Communications for NYSOEA
▪ Passion for travelling, ballroom dancing, singing, & technology consulting for non-profits.
▪ comment on : www.nirmalmerchant.com
▪ reach me: [email protected]
▪ follow me: #nirmalmerchant
▪ friend me: facebook.com/nirmal.merchant