One Shoe (part of iO)

Key elements for a successful enterprise software development strategy

Developing and implementing software can be challenging. Depending on the purpose behind the development of specific software solutions, the approach and focus of the development strategy may vary. In this article series (see also article 2, 3 and 4) we share the insights we had into the important differences between building software for specific purposes (‘built for purpose’) and building software to support long-term strategies (‘built to last’).

Tibor Uittenbogaard | 03 dec 2018

Built for purpose

When developing software with a specific goal or purpose in mind (hence forth: “built for purpose”) we mean that after completion and delivery of the result the project is completed, and the agreed solution is considered ‘delivered’. In other words: the software application was developed to serve its purpose. Nothing more. Nothing less.

Built to last

Built to last software applications are different. This kind of software development is never really done. Built to last software is, in fact, building (software) solutions capable for change! Changes that can take place during longer periods of time or even years. And that is what the developers of Enterprise Content Management - and Enterprise Software solutions need to be able to deal with. Delivering software solutions that are built to last, requires that the agency has a certain level of maturity, and an additional set of development- and organizational skills. When it comes to building software solutions to last, agencies have to take into account a whole multitude of possible scenarios that the software solution might encounter during its life-cycle.

Different goals require different approaches

The development and implementation of purpose-built software can be pretty challenging. Doing this successfully requires good agency- and developments skills. But it is my opinion that satisfactory delivery (of the software application), in time, as agreed, and with the right features to meet the client’s needs and purpose, should be considered the basic level of competency for a modern digital agency. The difference with built to last software solutions however is, these projects have a beginning and an end. This makes these kind of projects something you can grasp, quantify and finalize.

Built to last software, CMS and Enterprise Content Management systems, have to take into account - for example -, growth of the platform (traffic, data storage, etc.), performance (speed, capacity for peak loads), an open architecture that allows integrations of 3rd party systems and databases (connection interfacing), changes in scope and business requirements, and changes in the software and IT landscape. Any of these factors can influence and change the development strategy.

The agency needs to be aware of these kind of aspects by ensuring that whatever changes lie ahead, the application can withstand the test of time- and changes. Built-to-last, in that sense, could also be called “built to test”. Future proofing the solution and the development approach for this is mostly the responsibility of the agency. But the client also has quite some influence on this.

To ensure that the website, app or software application you develop is capable for change you need to look at:

  1. Lifecycle management; Anticipate and prepare for (future) changes that your company and your client may face;
  2. Test coverage; this is vital for your project, but should be practical and supportive, evolving and as a part of documentation;
  3. Partnership; asking (your agency and client ) the right questions.