Skip to content

Category Archives: professional practice

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

New software, old process, big mistake

Its very common for software developers to be asked to build some software that is a straight port of an old software package, or to faithfully model (i.e. completely identical to) an existing process that the customer has. This is a huge mistake – try to avoid these projects. I hold that if the customer […]

Mistakes you can make with SOA

Bob Lewis has a great column this month, “What if SOA is a mistake“? His penultimate paragraph asks: Lost in the shuffle is something basic: Programmer productivity. Friends who are hands-on with such matters tell me the available SOA development environments are less than half as productive as products like PowerBuilder and Delphi were, back […]

Agile and assembly lines

Coder Friendly’s got an interesting article about Agile Evangelism. First I’m not going to take issue with the article itself but something that he quotes from DanC’s Lost Garden on Managing Complexity: The repetative (sic) steps that a single worker performs on an assembly line is a good example of a simple task This is […]

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

Agile is hard

Johanna Rothman on agile adoption for the organisation: Agile requires the discipline to move projects through teams. Multitasking is nuts in agile. Moving team members around to have the “best” specialist available for a particular team is nuts. Performance reviews for individuals is nuts. Managers have to change everything they do, if they want to […]

Agile is dead

I know that’s a pretty bold statement but here’s why. This morning I went to a vendor’s presentation morning, it was the usual game of buzzword bingo from the very first slide on. All the usual enterprise2.0, social-networking, portal-compliant, content-management, vertically-integrated, SOA-BPM-UCM-JEE-ESB-WS-BPEL platform-framework-enabling scalability-enhancing fun-lovin’ don’t write code but manage-the-enterprise-blog-wiki-twitter-facebook-youtube shopping cart drag-n-drop non-content that […]

To do redux

I just want to answer the anonymous “process nazis” trackback on yesterday’s ‘//TODO’ Considered Harmful post, because that blog desn’t allow comments without a login. Quite apart from issues with Godwin’s Law (and that the writer has enumerated a bunch of rules that get “violated” then accuses other people of being process nazis), the post […]

‘//TODO’ considered harmful

Yesterday I said that developers should start being a little more militant about the craftsmanship of their code, i.e. pushing back on broken methodology that demands poorly-built code  be released into the wild. This sort of code is always inherently fragile and will break your software if it has not already. Today I just want […]

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