Software Development

Invest in software quality, not development speed

It is common in software development that enforces by the outside factors to likely invest in SPEED of development rather than QUALITY. Of course in another point of view,

who cares, what happened behind the scene

their only expectation is that the software we develop should work. That only one side view. After months or years of using the software, then the requirement changed, the view is flipped to the developer and that comes with a cost.

The cost of maintaince

It is easier to develop than to maintain. Developers feel so burden and of course, it’s boring. How to not to invest in speed solely but to balance the weight between speed and quality. There is no perfect software that has both speed and quality is well implemented. Speed requires trade-off as well as quality.

Speed in development means nothing if the software being developed has no quality and makes maintenance hard in the future. The same goes for the quality if the software doesn’t suit to the user’s needs. what is the point of having good quality?

In this kind of situation, developers should make the client understand what are the consequences of having faster development but later the client cannot ask anything more due to the cost of maintenance is high. But if the client wants to be able to request for changes in the future, the client should give some time to the developers to make the software in good quality as well as works as expected.

What is the pro and con for Speed and quality?

Speed

  • Pro: Fast delivery (in the beginning), 
  • Pro: Quick result while coding
  • Pro: Easy learning curve (No additional complex ecosystem)
  • Con: High maintenance cost
  • Con: Slow delivery (after a long period of time)
  • Con: Task cannot be distributed
  • Con: Code not testable (frequently happened)

Quality:

  • Con: Slow delivery (only in the beginning)
  • Con: Slow learning curve( Introduction of complex ecosystem)
  • Pro: Maintenance is easier to carry out
  • Pro: Fast delivery(after a long period of time)
  • Pro: Task can be distributed among the development team

There are many more of the pros and cons of both of them, but what been stated here is only a glance of it. whatever that is, quality is always a focus but if we urge to do simple software like data entry only, there’s no point of having quality but being thrown away after the job finished. 

It depends on software team analysis. In my context, the software will be used for a long period of time and I would never invest on development speed.

Thanks for reading.

Leave a Reply

Your email address will not be published. Required fields are marked *