Skip to content

Tag Archives: emergent design

High-performance system design by declarative specification

“I want to get from London to New York in 12 minutes.” “Ok, we will have to design and build some sort of ICBM or buy one, that will cost a lot of money. Also, I’m not even sure you can get an ICBM that’s fast enough for that distance. And have we thought about [...]

The Frustrated Architect

An interesting set of slides by Simon Brown from a talk he gave about the role of the architect. A PDF is attached to the linked post or you can view the slides online. Wish I had heard the talk (see below). The Frustrated Architect: Software architecture plays a pivotal role in the delivery of [...]

REST-based architectural style, a big winner

Recently been deeply stuck in building software (apart from starting my PhD part-time). A long time ago I wrote about dynamically loading Spring contexts and component discovery – this system I’ve been building is an evolution of that one. We decided to adopt an most REST-based style to integrate between our components. Now, “run-time” discovery [...]

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 [...]