Good Engineering Is the Primary Objective

When it comes to software development, agile or otherwise, the predominant emphasis is on management disciplines. We write about planning, tracking and delivering the software. But what about writing the software?

In the end, the quality of what the software engineers write determines the outcome. I’ll go so far as to say that good software engineers can overcome incompetent managers and still deliver quality software. The reverse is not true, however. Good managers cannot overcome poor software engineering, at least not during the course of a single project.

(That’s why I’ve always advocated hiring the best software engineers available, not necessarily the best technical fit; but more on that another time.)

That said, I’d like to call your attention to the Manifesto for Software Craftsmanship. It is an adjunct to the Agile Manifesto not a replacement of it. I encourage you to read and sign it. I’ve quoted it here:

“As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:

Not only working software, but also well-crafted software;

Not only responding to change, but also steadily adding value;

Not only individuals and interactions, but also a community of professionals;

Not only customer collaboration, but also productive partnerships;

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.”

Regardless of the software development approach — Kanban, lean, Scrum, waterfall, XP, etc. — there is no substitute for high-quality engineering. Managers, analysts, owners, stakeholders, etc. can add value, as long as they maintain focus on the core objective of good engineering. Do you?

BTW, the site includes a world map showing the location of all of the people that have signed the manifesto. The Internet truly makes us a worldwide community.

Updated: May 17, 2011 — 9:41 pm