Thoughts on Technology, Methodology and Programming.

Archive for the ‘Communication’ Category

Specifications are useless

Posted by Marcus Wyatt on 5 August 2006

Jeff Atwood wrote:

I finally understand what Linus Torvalds was complaining about:

A “spec” is close to useless. I have never seen a spec that was both big enough to be useful and accurate. And I have seen lots of total crap work that was based on specs. It’s the single worst way to write software, because it by definition means that the software was written to match theory, not reality.

Specs, if they’re well-written, can be useful. But they probably won’t be. The best functional spec you’ll ever have is the behavior of real applications.

Could not have agreed more.

I’ve seen many a Functional Specification that is just a total waste of paper. Missing the important stuff like business rules and how the client business actually works. I think that if you aren’t able to have an onsite customer, then you would be better off using techniques like use-cases and fit story tests to capture the essential business behavior.

To build the best possible software, you need to have constant communication and refinement of the software by engaging the client continuously. This I’ve found is still the best method for building software. You have a customer team writing stories about what they want to system to do and the developers implement the stories in a consultative style together with the Customer.

The other interesting social change using this method of building software is that the Customer and Development Team suddenly start to collaborate. In my experience I’ve found that in traditional software development, the Customer are trying to get the most value from the development team and the development team wants to cut as much functionality as possible. This normally causes the parties to concentrate on contract negotiation and not on building the best software for the problem. I like to use the analogy of the Rugby Scrum, rather than scrumming against each other, in other words pushing against each other, lets rather Scrum together (push together) to achieve a spectacularly better result.

Technorati Tags:

powered by performancing firefox


Posted in Communication, Development | Leave a Comment »

It’s Not Just Stand-up

Posted by Marcus Wyatt on 19 July 2006

Martin Fowler posted this great article written by Jason Yip on Stand-up meeting patterns. Who would have thought that a soft process like a meeting can be described like a pattern. This is well worth the read. Here is an excerpt from the article:

The daily stand-up meeting is simple to describe: the whole team meets every day for a quick status update. This short definition does not really tell you the subtle details that distinguish a good stand-up from a bad one.

People who have experienced good stand-ups will generally know what can be done when things aren’t working well. This capability is obviously less likely for people with limited experience to reflect on. I’ve written this paper as an attempt to partly compensate for inexperience by describing the benefits and consequences of common practices for daily stand-ups. These patterns of stand-ups are intended to help direct the experimentation and adjustment of new practitioners as well as provide points of reflection to experienced practitioners.


Posted in Communication, XP | Leave a Comment »