I’m not going to write one of those lengthy N-page blog posts on this topic because for my regular readers it’s clear that I’m with quality band, and I have supported my opinions in good details in the past few months with several posts covering different aspects of quality and its influence on software projects. So there is no doubt that I definitely like the idea of investing in the area of quality when building the software projects.
But what made me curious about this case was the fact that as time goes on, more and more people become interested in building fast software than building high quality software or at least this is the feeling that I have. This may be something related to the current economic crisis which has forced some people to think about money rather than quality which makes sense to some extent.
Having this said, I think that these years are the worst time to buy something or get a service because not only software projects but also almost everything in this world is affected by this crisis and it looks like that companies are lowering their quality to a reasonable extent. Contrasting this with the software companies, there is a high chance that companies try to reduce their work force and/or hire lower level developers to keep everything on track. Besides, people and other companies are not very interested to invest much money in software projects and this can automatically influence the response that they get from software teams. In addition, software developers may become lazy in learning and improving their skills because they see that it is not such an important factor in their career. All these parameters can damage the software quality.
On the other hand, the growth in the number of rapid software supporters may be also something related to the progress of the software development. The more we face with complex software projects, the more we move toward lower quality projects which is the reverse progress as what we expect. In my opinion this is somehow related to the nature of human that tries to choose easier options when facing with something difficult. Unfortunately it looks like that software development industry is returning more superficial works as it matures.
However, I just want to add one more point to this discussion and that is, I think that rapid software development as is supported by some people in today’s debates is only possible for the field of commonplace data-in/data-out systems. This field, which is somehow the primary field of software, is saturated with lots of automated tools, methods, and techniques which really allow you to build software projects in a shorter time even with a comparatively satisfactory quality. But if you want to build software for other purposes, you’re compelled to know the principles, have the knowledge, and build high quality projects.
All in all, these days it’s proven that those who work in the area of these uncommon software projects have better jobs that are safer than others. Therefore, I can simply conclude that with knowledge and knowing the principles you don’t miss anything, but without them you’re walking on a dead end!