applying agile to cots implementation

21
Applying Agile to COTS implementations Date: 17-Feb-2012 Experience Report Nirmal Merchant

Upload: agile-software-community-of-india

Post on 13-May-2015

1.043 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Applying agile to COTS Implementation

Applying Agile toCOTS implementations

Date: 17-Feb-2012

Experience Report

Nirmal Merchant

Page 2: Applying agile to COTS Implementation

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…

Page 3: Applying agile to COTS Implementation

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.

Page 4: Applying agile to COTS Implementation

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…

Page 5: Applying agile to COTS Implementation

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?

Page 6: Applying agile to COTS Implementation

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

Page 7: Applying agile to COTS Implementation

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

Page 8: Applying agile to COTS Implementation

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.

Page 9: Applying agile to COTS Implementation

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

Page 10: Applying agile to COTS Implementation

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.

Page 11: Applying agile to COTS Implementation

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

Page 12: Applying agile to COTS Implementation

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.

Page 13: Applying agile to COTS Implementation

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!

Page 14: Applying agile to COTS Implementation

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…

Page 15: Applying agile to COTS Implementation

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

Page 16: Applying agile to COTS Implementation

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

Page 17: Applying agile to COTS Implementation

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

Page 18: Applying agile to COTS Implementation

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

Page 19: Applying agile to COTS Implementation

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

Page 20: Applying agile to COTS 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

Page 21: Applying agile to COTS Implementation

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