View Single Post

Default 

August 26th, 2008, 11:19
It works, but it's not easy to apply. In particular, it's hard to find customers that agree to use it — those annoying gits usually insist on nailing down the feature set *before* signing the contract.

It also takes a team with rock-solid skills in the underlying techniques, a very good technology infrastructure, a team made up of largely "self-steering" individuals, and strong team discipline with regards to stuff like coding standards, use of shared tools like source repositories, issue trackers, documentation tools (we use a Wiki), and so on. They need to be able to continuously refactor, to keep their code clean even as it constantly changes, to be able to quickly switch code between each other (i.e., write and comment code to a fairly strict standard that emphasizes readability), to maintain the integrity of the system in a source control system, to test everything all the time, and to automate everything that can reasonably be automated. None of that is easy, and very, very little of it is taught at schools. The actual programming part — figuring out how to express an idea as an algorithm, and then expressing it — is the easy bit.

We've been doing things this way for the past five, six years or so, and are gradually getting better at it. We've even been lucky enough to have a few fairly big product development projects with the kind of customer involvement HiddenX describes. They worked out great. But no, it isn't easy at all.

And it still means that you have to nail down your "choke points" — critical features — as early on in the process as feasible. It's just a better, more reliable way of identifying and nailing down these features.
Prime Junta is offline

Prime Junta

RPGCodex' Little BRO

#5

Join Date: Oct 2006
Posts: 8,540