
Construx Software is a leader in software engineering practices and implementation. Stephen McConnell, its founder, is a leading software engineering analyst and is known for his 1996 classic, “Rapid Development”, which details the best practices and techniques to easily turn your IT organization into a software engineering entity.
More recently Stephen has published “Code Complete”, a compendium of best practices and techniques for developing high quality code along with his most recent publication which is an update to software project estimation which was included in his first book, “Software Estimation; Demystifying the Black Art”.
Below, you will find the latest software engineering tips from Stephen’s company. They are worth a look…

White Papers

Mike Kavis, an enterprise architect, has been in the field long enough to experience the uncomfortable fact that project management is the primary factor that leads to most project failure.
Its not just the big projects that fail but the small and medium-sized ones as well, though these smaller endeavors usually somehow make it into production regularly but with a slew of quality issues and poorly developed code. It used to be that a technical professional’s coding style was his or her signature of quality. Today though, with all the capabilities that modern IDEs offer, present day technicians seem to be able to consistently mangle, and badly, what should be a sign of the “craft” and not the “science” as most code appears to be an unintelligible maze of what could only be called some level of illiteracy.
Mike’s piece below details some of the larger mistakes that management makes which over-simplifies his case. Software engineering analysts have found over a 30+ year period of research that project management (or the lack thereof) has been found consistently to be the critical catalyst to all such failure but more a result of not understanding the smaller factors involved instead of the big ones. In fact, approximately 32 separate factors have been identified as the root causes and\or contributing factors in this same time period, all of which can be found in Steven McConnell’s 1996 classic, “Rapid Application Development”.
It should be noted that project failure does not necessarily mean that a production implementation did not occur but that such implementations are simply riddled with defects, poor usability, lack of flexibility, and maintenance difficulties.
Unfortunately, most project management in Information Technology is guided more by personal agenda, irrational business requirements, and political considerations than the quality standards and methodologies that software engineers have shown repetitively over the years that produce superior results within given budgets.
(more…)

For those technicians and technical managers that have studied the methodologies that are the foundations of quality software engineering, they like I, have been most likely very surprised to find so much animosity by their own managers towards the idea of implementing such techniques in their own IT organizations.
Unfortunately, for those of us that are ardent supporters of such concepts, software engineering is more about cultural adaptation than technique. The techniques have been refined over 30+ years by highly competent technicians, analysts, and technical managers, all who have provided quality results on time while saving their organizations huge sums of monies. You would think that such success would be enough to convince even the most persistent naysayers to opt for some consideration of this approach towards software development. The reality is though, it never has and most likely never will.
It was the United States that developed the software industry into what it is today; and for the most part we can take the blame for all of its failings… and there are many. However, the most egregious act against our profession has been that massively, incompetent business management has created a culture off subservience by IT professionals instead of one of equality while commoditizing a scientific discipline into nothing more than the equivalent of a store-bought toaster. This has always been the most difficult aspect for most people in business, no matter what their job or career title may be, to deal with; that most managers are complete failures at their jobs. That incompetence is embedded in the culture of business which is solely based upon the “greed factor” which has overtaken American corporations beyond what it was after American industrial dominance began to rise after World War II. Back then, companies were not huge institutions for the most part and those that led them had vested interests in making sure they ran with a modicum of stability and success.
With the advent of “professional management” all that was lost as they increasingly viewed only profit as their sole reason for existing. Anyone who would like to dispute this is welcome to read Joel Bakan’s (a noted Canadian jurist) excellent treatise on corporate sociology, “The Corporation”.
Once installed, any hope of refining the Information Technology field into a truly professional career discipline was lost along with it.
(more…)