Share this
Bespoke vs COTS in software development
by Martin White on 26 November 2012
I am often involved in tenders for new pieces of software development work. I frequently come across tender documents full of questions that scream 'we are expecting to use a COTS product for this system!!' even though ostensibly the process allows (sometimes explicitly) for the possibility of a bespoke system. I often find it necessary to explain the pros and cons of the two approaches, both of which are perfectly valid in the right circumstances.
First off, some definitions:
- When I say 'bespoke' I am referring to the complete, ground-up development of a system. This may use some 'productised' components for specific functionality, for example a reporting component, or some advanced controls for the user interface
- By a COTS (Commercial Off-The-Shelf) product I mean a system that already exists and delivers a common set of functions, usually for a particular business domain, with the ability to be customised, configured or extended to suit each client. For example, many companies use SalesForce for customer relationship management, or Xero for accounting.
- In the middle there is a slightly grey area in which products form a customisable platform on which to write bespoke software. For example, Microsoft SharePoint or Microsoft Dynamics CRM, both of which can be used to develop many types of system faster than a pure bespoke development by providing core functionality 'out of the box'. I'm going to ignore this possibility in the interests of brevity in this post, but if anything I would consider this a form of bespoke development rather than a product-based implementation method.
So when would I recommend each approach? Inevitably there is no simple rule to this, but I do encourage you to think long term about it. Below are a couple of examples of factors that you may want to consider if you are faced with this decision. Everyone will have different factors that they care about, but the important thing to understand is that the decision can change as a result of considering the Total Cost of Ownership (TCO) of the final solution. This means not just the initial investment but the ongoing operating costs such as the cost of support, the ease (or difficulty) of making changes, the business benefits that the solution will provide (and how soon you can realise them), and myriad others.
With anything other than minor customisations, over time COTS products are likely to increase in cost relative to bespoke solutions, as they are harder to change. Also, many of the benefits of COTS products can be lost or reduced in value. For example, a heavily customised implementation of a product will be harder to upgrade when a new version of the core product is released; support will be likely to be provided for the core product only, meaning that your customisations will effectively be unsupported; and your ability to influence the functionality of the product will be lessened once the vendor knows you are tied in.
Conclusion? Simple really. COTS products absolutely have their place and are worth considering. But consider carefully how closely they fit your business before committing to one. If it's a square peg with its corners sanded off to fit a round hole, how long before the gaps start to show?
Share this
- Agile Development (89)
- Software Development (68)
- Scrum (41)
- Agile (32)
- Business Analysis (28)
- Application Lifecycle Management (27)
- Capability Development (23)
- Requirements (21)
- Lean Software Development (20)
- Solution Architecture (19)
- DevOps (17)
- Digital Disruption (17)
- Project Management (17)
- Coaching (16)
- IT Professional (15)
- IT Project (15)
- Knowledge Sharing (13)
- Equinox IT News (12)
- Agile Transformation (11)
- IT Consulting (11)
- Digital Transformation (10)
- Strategic Planning (10)
- IT Governance (9)
- International Leaders (9)
- People (9)
- Change Management (8)
- Cloud (8)
- MIT Sloan CISR (7)
- Working from Home (6)
- Azure DevOps (5)
- Innovation (5)
- Kanban (5)
- Business Architecture (4)
- Continuous Integration (4)
- Enterprise Analysis (4)
- Client Briefing Events (3)
- GitHub (3)
- IT Services (3)
- AI (2)
- Business Rules (2)
- Communities of Practice (2)
- Data Visualisation (2)
- Java Development (2)
- Lean Startup (2)
- Scaling (2)
- Security (2)
- System Performance (2)
- ✨ (2)
- Automation (1)
- FinOps (1)
- Microsoft Azure (1)
- Satir Change Model (1)
- Testing (1)
- March 2025 (1)
- December 2024 (1)
- August 2024 (1)
- February 2024 (3)
- January 2024 (1)
- September 2023 (2)
- July 2023 (3)
- August 2022 (4)
- July 2021 (1)
- March 2021 (1)
- February 2021 (1)
- November 2020 (2)
- July 2020 (1)
- June 2020 (2)
- May 2020 (3)
- March 2020 (3)
- August 2019 (1)
- July 2019 (2)
- June 2019 (1)
- April 2019 (3)
- March 2019 (2)
- December 2018 (1)
- October 2018 (1)
- August 2018 (1)
- July 2018 (1)
- April 2018 (2)
- February 2018 (1)
- January 2018 (1)
- September 2017 (1)
- July 2017 (1)
- February 2017 (1)
- January 2017 (1)
- October 2016 (2)
- September 2016 (1)
- August 2016 (4)
- July 2016 (3)
- June 2016 (3)
- May 2016 (4)
- April 2016 (5)
- March 2016 (1)
- February 2016 (1)
- January 2016 (3)
- December 2015 (5)
- November 2015 (11)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (7)
- June 2015 (7)
- April 2015 (1)
- March 2015 (2)
- February 2015 (2)
- December 2014 (3)
- September 2014 (2)
- July 2014 (1)
- June 2014 (2)
- May 2014 (8)
- April 2014 (1)
- March 2014 (2)
- February 2014 (2)
- November 2013 (1)
- October 2013 (2)
- September 2013 (2)
- August 2013 (2)
- May 2013 (1)
- April 2013 (3)
- March 2013 (2)
- February 2013 (1)
- January 2013 (1)
- November 2012 (1)
- October 2012 (1)
- September 2012 (1)
- July 2012 (2)
- June 2012 (1)
- May 2012 (1)
- November 2011 (2)
- August 2011 (2)
- July 2011 (3)
- June 2011 (4)
- April 2011 (2)
- February 2011 (1)
- January 2011 (2)
- December 2010 (1)
- November 2010 (1)
- October 2010 (1)
- February 2010 (1)
- July 2009 (1)
- October 2008 (1)