‘I Feel The Need … The Need For Speed’

As any engineer will tell you, in the world of software development there is a constant pressure to produce high quality applications and systems at as fast a pace as is physically possible. However there is a common saying that you can have quality or you can have speed, its not possible to have both. As the development pace increases a point will be reached where the quality of work produced will take a hit and begin to decline.

Whilst many developments may impose the impression that you are in control of a bus that must travel over a certain level where even the slightest decrease in this pace will cause a bomb to explode and lead to utter carnage and mayhem, it is sometimes necessary to make the conscious decision to slow down.

The large majority of people will tend to lean closer to one side of the scale or the other. Advocates of speed strongly believe that providing solutions at a rapid pace to fulfil contracts and business deals will allow them to stay competitive and gain interest from even more users. On the flip side advocates of quality, if left without direction, could spend months or even years ‘perfecting’ their work.

Some of the best development teams are made up of a mixture of those who crave speed and those who insist on quality. The drive of the speed freaks can help to keep the quality advocates grounded and focused on progressing the project rather than waste time on continuously reworking code over and over again just to make it run a little better. In the same vein, the focus of the quality advocates will help to remind the advocates of speed that it may be necessary to slow things down on occasion.

The risk of using such an arrangement is that it is easy for both parties to get blindsided by their preferences, especially in high pressure situations, which can result in internal conflict that will need to be resolved before any more progress can be made.

The balance of speed vs quality really depends on a number of factors, the system being produced, the type of development and the intended target audience. For example when developing applications for mobile devices speed can overrule quality as, although annoying, regular updates are almost an expectation and rapid releases help to keep applications relevant and trending. On the other hand when working on systems, such as flight control and train braking systems, where potential software failures could result in serious harm or injury, quality must always come first. It is imperative that these systems work correctly from the moment they are implemented.

No matter which way the balance of speed vs quality sits for the duration of a project it is important to manage the expectations of the client. They must be made aware from the very start how prioritising one over the other will impact the progress and outcome of the development. There are methods of shortening the development time with as little impact to quality that have become popular in more recent years, however the client must understand that they will reduce the scope (the total set of features that make up the development) of the final system.

Approaches such as Agile and SCRUM focus on delivering a working solution by delivering the highest priority requirements first. By utilising such an approach the client will be able to release a functional system in a reduced period of time, fulfilling the speed element, and if desired further improvements to performance and additional features can be addressed at a later time.

For much of the work we do here at Zircon, quality is paramount as it involves safety related systems or systems that are required to function reliably to provide real-time data 24/7. However, we do have clients and projects where delivering functionality in a small timeframe is of equal or greater importance. By performing activities such as stand up meetings and code reviews on a daily basis, we strive to improve the overall quality of the work we produce without adding the weight of heavy formal processes on our engineers.

More From The Blog

IR35, Here it Comes Again…

IR35, Here it Comes Again…

IR35, Here it Comes Again...In 2021 the reform to IR35 Off-Payroll rules is to be rolled out to the private sector. As before the reform will only affect companies that do not meet the following attributes: an annual turnover below £10m fewer than 50 employees or a...

Solving the Resource Conundrum

Solving the Resource Conundrum

Solving the Resource ConundrumPicture this. One minute all is fine and dandy, you have access to all the resources you could possibly need, then bam an unexpected challenge arises. Suddenly you find yourself lacking the capacity to meet the new need. What are your...

Quality – An Aid to Produce Consistent Rubbish

Quality – An Aid to Produce Consistent Rubbish

Quality - An Aid to Produce Consistent RubbishAnother year has passed, and myself and a colleague have hosted a BSI auditor for our annual ISO9001/TickITplus check-up, and in fact this was more than the regular check, in that it was our 3-year re-certification audit,...

The Hazards of Legacy Systems

The Hazards of Legacy Systems

The Hazards of Legacy SystemsBeing the owner of a software system with a dedicated customer base sounds like the kind of position one would like to find themselves in. At least until it gets superseded and you have to face dealing with a legacy system. Many developers...

How to Test Without Access to The Test Environment

How to Test Without Access to The Test Environment

How to Test Without Access to The Test EnvironmentIn many of our previous articles, we have expressed the importance of achieving a high standard of testing. Potentially blocking this achievement, several factors can come together to affect the quality of your...

The Technical Workshop – How To Make Them Work For You

The Technical Workshop – How To Make Them Work For You

The Technical Workshop - How To Make Them Work For YouAnyone experienced in product design will understand just how valuable a facilitated workshop can be. Bringing together a project's key stakeholders into a single space allows for the exploration of diverse...

Developing Software for Safety Related Systems

Developing Software for Safety Related Systems

Developing Software for Safety Related SystemsSoftware systems should always be both robust and reliable, however the moment you introduce a safety element, this need for reliability increases significantly. The level of safety required is governed by the severity and...

How to Choose an Outsourcing Partner

How to Choose an Outsourcing Partner

How to Choose an Outsourcing PartnerHaving recognised a need to outsource, and worked your way through the initial preparations, you are now in a strong position to seek out a suitable partner. Choosing an outsourcing partner is no trivial affair, so taking the time...