Skip to content

Tag Archives: emergent design

Throw it away and write another one

Most developers familiar with agile methods are familiar with the idea of the spike. A spike is a time-boxed task that concentrates on clarifying the unknowns in your project. Usually these are technological (“can this be done with this technology?”) but they are also sometimes in the area of the business domain (“is this a [...]

Systems versus Individuals and technical debt

I kind of disagree with this picture by Josh Susser regarding the “circle of death” in terms of code quality and late night effort. It is right enough as far as it goes but it doesn’t go far enough. First up, the easy way out – take a day off, go for a walk in [...]

Just Say No (to broken processes)

Broken development processes lead to broken code. When you find badly formed code, and especially if you didn’t  write it just then in order to make the test pass just a minute ago, and super-especially is the code is already in production, you not only need to rectify the code, you need to rectify the [...]

I’m not making this mess anymore!

XP: After 10 years why are we still talking about it? By Robert C. Martin. Uncle Bob argues passionately, and correctly, for the principles of software craftsmanship. Link: http://www.viddler.com/explore/sergiopereira/videos/7/.

Code re-writes and U.S. health care reform

This post is not about health-care, per se. This is about “re-writes” or “total reforms” of systems. An argument Atul Gawande makes in New Yorker magazine about health-care reform: [Certain reformists say] The country has this one chance, the idealist maintains, to sweep away our inhumane, wasteful patchwork system and replace it with something new [...]

Unit testing as a discipline

In Emergent Design Scott L. Bain dedicates a chapter to Paying attention to Disciplines: Unit testing. To an experienced agilist this may seem a little basic: of course the discipline of unit testing pays dividends! But I think that we agilists forget sometimes that there are still many programmers – or their management – who don’t value the investment [...]

Emergent Design & Professional Software Development

Recently I read Emergent Design: The Evolutionary Nature of Professional Software Development by Scott L. Bain (on Amazon). It’s a very interesting read. [E]mergent design works by refactoring and enhancing code, due to the changes, bugs, and extensions that have to accommodate, while paying close attention to these principles of coding. (152) In order to deal with the [...]