Topics
- Earned Value Management (RSS) (12)
- Estimation and Pricing (RSS) (14)
- Older Topics (RSS) (32)
- Agile Software Development (RSS) (16)
- News (RSS) (16)
- People Skills (RSS) (12)
- Understanding ourselves (RSS) (2)
This blog began as a software development blog, on the topic of Agile software development. These are the original posts, from before I changed focus to “the neglected essentials of software development”.
Let’s start this post with a thought experiment. Not in software development, but in playing chess.
Imagine two novice chess players, working as a team. (We’ll assume their opponent is a computer, so it can’t overhear them talk.) Our two novices will benefit greatly from their collaboration. They’ll discuss all… Read more
In keeping with the theme of this blog, which is “the neglected essentials of software development”, I’d like to share something I’ve learned recently. It’s about how Professional people in other fields think – people like architects, town planners and doctors.
Recently Alistair Cockburn invited 32 agile practitioners to join him at the Snowbird ski resort, for a retrospective on the agile movement as a whole. I followed the event via Twitter, sitting under a sun umbrella here in the southern hemisphere, reading the tweets from the snow.
The event… Read more
I presented a session at today’s Wellington Agile BarCamp. The session was called “Crystal Clear: Big Lessons from a Little Process“. Instead of describing all the details of the process, I outlined four of the most important lessons I have learned from it.
Here are some brief notes on… Read more
Regular feedback is a key element of agile development. Rapid feedback improves our software. I suggest it also improves us, the people who write the software.
I’ve just read a fascinating article on where talent comes from, over on Freakonomics.com. It outlines research into the key factors that… Read more
Steve Yegge points out that it’s very hard to do a valid scientific experiment in software development:
“You can’t have the same team do the same project twice; a bunch of stuff changes the second time around. You can’t have 2 teams do the same project; it’s too hard
Principled Negotiation also applies to defining your software development process. You can’t choose Agile just because you like it. You have to understand what your customers’ interests are, and you have to seek a process which meets their interests and yours.
For instance: if the customer says they want a… Read more
Agile development is hard to define, because most people define it by giving examples. For instance they give a specific description of Extreme Programming (XP), instead of defining of agile development in general. We’ve ended up with a widespread misconception that agility is about XP techniques like Pair Programming and… Read more
Crystal Clear is a methodology that summarises 10 years of research into successful software teams. Which things really matter? Which things most influence the project outcome?
In my on-going quest to answer the question “What is agile development?”, here is a point-by-point comparison with traditional development.