Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does software quality really matter for Application Developer - *Practically*? [closed]

Does software quality really matter for a Application Developer in practice?

I know this question seems like the most dumb question. But please see below why I am asking this question.

I am fond of such engineering principles, patterns and had been implementing and enjoying so far. But now I am realizing that such principles really do not matter for Application Developer but do matter is "development time", "application is working as expected" and "finished little late but that's OK".

I am really confused now days about practical importance of software quality and principles for a Application Developer. So looking for practical answer after my all time guide could not give answer for software quality impact organization and [importance of design code quality][2]

Tons of information is available talking on software quality and software engineering but practically are they being enforced in applications development?

I am asking this question as a Application Developer and not talking about OS, language or compiler development / innovations.


Thank you all for your response. Let me add more on why I asked this question on first place.

I too believe and think that there should be no hesitation while thinking about such principles. I believe that this is kind of art and strategy cannot be switched depending on something.

But if you see anything on this subject or say this post, notice phrase such as "depends on what". Now practical question is who gets directly benefited with such quality code, except yourself which is also your sanctification, Morals, ethics.

Lets take a very common example; a website having millions of hits. End user are happy because site looks attractive and they get placed order. Management is happy because development / enhancement was done within budget and all feature are implemented. PM is happy because somehow team delivered it in time. Tech Lead is happy because all heterogeneous sub systems are communicating as expected and infrastructure constraints are met. A team of 25 Developers are happy because all bugs are fixed and now their code is running; Of course they are confident since they used type safe language, great IDE and they will find line number of any run time errors since try catch block is everywhere to persist it.

Here, lets say, they did not follow any pattern or best practices. So the code is not reusable or logical layers are depend on data format or ... But for next development, there would new budget, new development schedule and developers get new task which might not be inline with past task.

So who gets directly benefited or has to enforce eliminating these by following some principles, may be by paying some extra cost in terms of time and budget?

Then who cares to follow these practically? Everybody knows its theoretical importance but in practice, is it "golden touch" or "nice to have" feature or "must have" requirement? If it does really matter, then as many are saying, why budget or time has been given most importance meaning quality as second importance.

like image 567
Dave Avatar asked Aug 06 '09 04:08

Dave


1 Answers

You make quality software for three reasons:

  1. To be well made it must be well designed, and well designed software is faster to write.
  2. Well made software is easier to maintain, and everything gets maintained.
  3. We write well made software because we care, and because we're professionals.
like image 179
Dave Gamble Avatar answered Sep 20 '22 11:09

Dave Gamble