O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 31. Programming Is an Act of Design

Einar Landre is a practicing software professional with 25 years' experience as a developer, architect, manager, consultant, and author/presenter.

Currently for StatoilHydro's Business Application Services, he engages in business-critical application development, architecture reviews, and software process improvement activities, specializing in SOA, domain-driven design, use of multi-agents and design of large-scale, networked, software-intensive systems.

Einar Landre
image with no caption

KRISTEN NYGAARD, FATHER OF OBJECT-ORIENTED PROGRAMMING and the Simula programming language, used to say programming is learning. Accepting the fact that programming—or more precisely, software development—is a processes of discovery and learning, not a process of engineering and construction, is fundamental to bringing software practices forward. Applying the concepts of traditional engineering and construction on software development does not work. The problems have been documented and commented upon by leading software thinkers for more than 30 years. As an example, in 1987 Fredric Brooks, Jr., stated in the "Report of the Defense Science Board Task Force on Military Software" that the document-driven, specify-then-build approach lies at the heart of many software problems.

So where should the software industry look to improve its practices? What about the industries involved ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required