Agile Zone is brought to you in partnership with:

Keyvan Nayyeri is a Ph.D. student in Computer Science and previously held a B.Sc. degree in Applied Mathematics. He was born in Kermanshah, Kurdistan, Iran in 1984, and is currently living in San Antonio, TX. His primary research interests are Programming Languages & Compilers and Software Engineering.  He’s also a software architect and developer with focus on Microsoft development technologies as well as Open Source platforms. Keyvan is an avid community leader and contributor who has written four books for Wiley/Wrox and several articles for prominent community websites. Also he has contributed to many Open Source projects. As a result of his long-time contributions to the community, he has received several recognitions and awards from Microsoft, its partners, and community websites. Keyvan is a continues learner who loves to study, learn, and discover new technologies everyday, and is enthusiast for serving to the humankind through his research and contributions. For a long time he has been blogging about various topics on his blog that has become a rich resource for software developers. His blog is available at Keyvan has posted 36 posts at DZone. View Full User Profile

The Curious Case of Software Quality

  • submit to reddit
Most likely you have heard about the recent debate on technical blogosphere about the importance of software quality in software development cycle. There are many posts written to contribute to this discussion so it’s difficult to point to one, but Simone has a good wrap up with his own opinions on this topic.

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!


Published at DZone with permission of its author, Keyvan Nayyeri. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)