So, what causes new technology to be delivered late?

As someone still relatively new to technology and developing systems, I know that this is an issue that comes to the fore from time to time and so I felt it would be a good topic to discuss...

As someone still relatively new to technology and developing systems, I know that this is an issue that comes to the fore from time to time and so I felt it would be a good topic to discuss in my latest article...

As someone still relatively new to technology and developing systems, I know that this is an issue that comes to the fore from time to time and so I felt it would be a good topic to discuss in my latest article for anyone thinking of launching a new technology initiative and things to bear in mind.

So, I thought I would begin by saying that these delays usually fall into several areas, including planning, resource management, communication, and technical challenges.

Starting with planning, which is very tricky because of the uncertainty between the objective and the time it takes to develop, plus also the technical understanding between the customer and the system developer.  This is often unknown at the outset and only becomes clearer as the project gathers momentum and the full set of requirements is revealed.  The result is that with more requirements comes more time to complete.  On the development side tasks that are estimated to take a certain amount of time can take longer to complete, especially if it is a complicated requirement.

In a short space of time, the additional requirements noted earlier and the addition of new ones will lead to what is called scope creep, or the gradual expansion of the project goals beyond the original objectives.  These initial and new requirements can also be poorly defined or uncertain.  As a very basic example the client may want a button to do something and so this is what is developed.  However, when the work is done the client may say – ‘oh I thought that button would be red, not blue, on the left, not the right’.  Therefore, further development is needed so that it meets what they thought but did not state.  Of course, this means a longer period of development.

The second area is resources, which in some instances can equally apply to the client or the developer.  The client champion may be absent at a time a decision is required and so delayed.  The developer may similarly have an unexpected absence, such as a key member of the development team leaving.  In a small team, an emergency with another client could take the resource away from what’s planned.  There may be a time when resources are stretched and if they are stretched further, it will delay development.  On rare occasions, there may be skills gaps for some of the development, which might require the client champion or the developer to gain further knowledge that was unexpected.

Communication is often at the heart of any issue and there can be a lack of proper communication between the project team, management, and clients that can result in differing expectations and delays.  Of course, strong and regular communication can eradicate this issue.  However, though communication is an element, understanding what is communicated is another thing entirely, especially if technical jargon is used – so do ensure this is highlighted at the earliest opportunity.  My earlier example around the button also falls under the communication area.

My final general area is technical, where there will always be a disconnect between a client and a system developer but there can be other related aspects at play.  For example, where there is a need for integration or the import of data from an existing system there may be unforeseen technical difficulties, software bugs, or compatibility problems, all of these will potentially cause delays.  Development that relies on external factors such as third-party vendors, APIs, or external systems may also lead to delays if they are late or unresponsive.  If the new system also relies on another supplier completing their work, such as web design to allow for a new integration is delivered late, so will the work required for the integration.  If the third-party system being integrated is out of date that can cause problems and delays, especially where APIs are not used.  These are now the easiest ways to integrate, so a company without them is perhaps not a wise choice.

Once a new system is completed, or as elements are completed there could be issues in testing – the client may be unsure what to test or how far to do so and in my above example the tester can see the button is there, so for them, it has passed the customer requirement of having the button.  The need for continued rework, even if individually minor can end up significantly delaying a project because of the number of them.

Other aspects that might result in lengthening the project are delayed approvals or decision-making by clients, changing priorities mid-project, failing to account for legal, regulatory, or compliance requirements if these become an issue late in the project.  E.g. IOS can often take time to sign off Apps and provide no reason for declining.  Legal disputes or delays in signing contracts with clients, partners, or vendors can also affect timelines.

Finally, insufficient or delayed funding can slow down purchasing resources or hiring personnel.  Budget overruns may require a project pause or reallocation of resources, delaying delivery.

As you can see, many factors are at play when undertaking a new technology project, and you can see how easily they can be delayed.  Of course, communication is key in determining milestones, when they might be missed and how both parties undertake this promptly.

ABOUT THE AUTHOR
Mark Scott
Mark Scott
RELATED ARTICLES