środa, 12 listopada 2014

From here to Eternity: The Evolution of Software Engineering

(Complete article: blogomotion.com/Download/the_evolution.pdf)

The Evolution

There is an evolution in everything, including software quality engineering. Even though you may be forgiven for believing software engineering is purely rational, scientific and engineering-wise, in reality its development has over years followed a bumpy, turbulent road, like any other social phenomenon.

During early, pre-transistor, pre-integrated circuit days4 of computing, so beautifully described by Richard Feynman in his reminiscences from Manhattan Project, software projects were very few and – by today’s standards – very small. So, there were enough geniuses and Nobel prise laureates to people them and to conduct them competently without special processes, organisation, or tools.

This changed; computers grew more powerful and numerous, projects grew larger and more complex. There were not enough geniuses to people them all, so more ordinary programmers had to take over. When confronted with daunting tasks, people have an ability – almost unique among world species - to tackle them not only with the power of their individual minds, but with organization and cooperation, processes and procedures. This was the course taken by programming – although the name “software engineering” did not even exist then - in the late fifties and in the sixties.

As software continued to grow in complexity, but pre-manufacturing project methods remained, the situation deteriorated. Words about “software crises” were spoken, and, finally, talking about software engineering, instead of just programming, became standard. Companies, who refused to mend their ways, are mostly extinct now.

And this trend continued, creating growing bastions of techniques, procedures, documentation, rules and standards as defences against the powers of chaos and entropy.

The Revolution
But there is such a thing as overdosing, and all methods, if used without reflection and due consideration, can easily create effects opposite to their initial intentions. Sensible documentation and order more and more often degenerated into stifling bureaucracy. Good formal techniques were sometimes used without regard to real business needs. When the cost of quality exceeds the cost of the lack of quality, overall cost increases instead of decreasing, and quality is no longer free.

(Complete article: blogomotion.com/Download/the_evolution.pdf)

Brak komentarzy:

Prześlij komentarz