Big Lessons from a Little Process 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 the presentation.… Read More
Making Better Programmers 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 develop talent. The key factors are: “setting… Read More
Scientific Experiments 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 to control all the variables, and… Read More
Negotiating your Development Process 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 detailed Gantt chart, that’s a… Read More
Definition of Agile Development 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 Test-Driven Development (TDD).… Read More
Crystal Clear Methodology 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?… Read More
Comparison to Traditional Development In my on-going quest to answer the question “What is agile development?”, here is a point-by-point comparison with traditional development.… Read More
The Trust Barrier David Anderson presents three facets of agility: The “toolbox” of iterative development techniques The belief that people are more significant than process Trust David points out that trust underlies the greater efficiency of agile approaches. Lean Software Development also emphasises trust. It is easy to fall into the trap of seeing trust as a prerequisite… Read More
One-Page Guide to Agility Agile development can look a bit crazy, at first. I’m writing this guide to explain the foundations of agility, outline its benefits, and show why it’s not so crazy after all.… Read More
Building on People’s Strengths Alistair Cockburn points out that traditional processes are based on an assumption that people will successfully accomplish things that they normally struggle with. In particular, it is assumed that people will change their habits to follow detailed new instructions. Unfortunately, humans aren’t very good at that! Old habits die hard and, unlike the computers we… Read More