Points of View - Inner
Seven Insights: Agile and Custom Off The Shelf (COTS) packaged software
Companies are transitioning to an agile approach to solution delivery that focuses on iterative, small incremental delivery of valuable working code. This approach works well for new software development but when implementing Custom Off The Shelf (COTS) packaged software, it can be challenging to apply agile approaches because of COTS software’s full-featured, integrated software suite and data model that often needs to be delivered as a whole. Applying agile to a COTS implementation requires adaptation through each phase of the project lifecycle.
Discovery identifies the requirements and high-level solution.
Not all features in COTS packages are required for a customer. Conducting a series of sprints can be undertaken to determine what and how features will be used. The output of this will be a list of all artifacts required for implementation including configurations, interfaces, customizations, reports/queries and data requirements – this in turn feeds the product backlog.
Planning defines the Minimum Viable Product (MVP) and generates schedule and effort estimates.
Planning starts by prioritizing the backlog and determining the MVP. Estimates are applied to the backlog and a rough schedule is outlined. In addition, high-level architecture and change management plans are developed to identify tech enablers and non-code artifacts to include in the backlog. This phase addresses the management questions of “What will I get”, “When will I get it”, and “How much will it cost.” A mixture of waterfall planning with selective sprints is used to further refine requirements (especially architecture).
Construction iteratively executes design, development and testing to produce working code.
This phase most closely aligns with agile practices. Stories are selected from the backlog and are implemented in a series of sprints – resulting in working code. Sprints end with a demonstration where the product owner (and possibly users) accept or reject the new code.
Processes are designed as code is constructed.
Not everything that is developed is code. Processes need to be designed to identify manual steps, meetings/interactions, approvals, offline calculations/creations, analysis and review steps. Design of the processes should be linked to the corresponding code development sprints as much as possible so that the process and tool interactions align.
Artifacts related to organizational change should also be completed as code is constructed.
Like processes, there are a number of artifacts that are not code but that are required to facilitate adoption by the users. These include role definitions, training, user guides/references and procedures. Like processes, these artifacts should also be developed in alignment with the sprints and the development of code.
Pull testing into sprints as much as possible.
Typically in waterfall, unit/module testing is performed alongside code development and subsequently a separate testing phase is executed to perform system integration, performance, volume, security and user acceptance testing. But in this method, issues are discovered later and can be more costly to fix. Project managers should pull in all testing activities into the construction phase sprints. This may be challenging in a complex system and user environment so some amount of testing may need to be postponed closer to deployment.
Deployment ensures all artifacts are tested and complete and are ready for production.
Agile seeks continuous integration throughout sprints. But in complex environments, a final readiness review ensuring all components work together and are ready for production is required. This phase aligns the deployment team and users for launch. Depending on the amount of work deferred during construction, this phase could be a single sprint (ideal) or a series of sprints to complete the work.
About the Author
Brian Walker is a Senior Director at Kenny & Company. Brian has consulted at Fortune 500 high technology, manufacturing, telecommunications, consumer products and hospitality companies for more than 20 years. Brian has led projects in Business Operations, Process Excellence, Lean/Agile, Program Management, Systems Integration, ERP, Change Management, Business & IT Strategy, Supply Chain Management, and Finance. Brian is a Certified SAFe® 4 Program Consultant (SPC), Certified Scrum Master (CSM) and Certified in Production and Inventory Management (CPIM).
About Kenny & Company
Kenny & Company is a management consulting firm offering Strategy, Operations and Technology services to our clients.
We exist because we love to do the work. After management consulting for 20+ years at some of the largest consulting companies globally, our partners realized that when it comes to consulting, bigger doesn’t always mean better. Instead, we’ve created a place where our ideas and opinions are grounded in experience, analysis and facts, leading to real problem solving and real solutions – a truly collaborative experience with our clients making their business our business.
We focus on getting the work done and prefer to let our work speak for itself. When we do speak, we don’t talk about ourselves, but rather about what we do for our clients. We’re proud of the strong character our entire team brings, the high intensity in which we thrive, and above all, doing great work.
This article was first published at michaelskenny.com on June 106, 2019. The views and opinions expressed in this article are provided by Kenny & Company to provide general business information on a particular topic and do not constitute professional advice with respect to your business.
Seven Insights: Agile and Custom Off The Shelf (COTS) packaged software by Brian Walker at Kenny & Company is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License . Kenny & Company has licensed this work under a Creative Commons Attribution-NoDerivs 3.0 United States License.