Most of my clients are not yet ready to extend the envelope. They are trying to achieve the basics of good agile management and development. For these companies, the Nokia test is a good place to start, an early milestone, but not the final goal. (BTW - Alistair Cockburn's 7 Crystal Properties also look like a good starting point, and some of his points are raised in the candidate list below).
The next question is how is software engineering doing? I want a litmus test, i.e. a short list of questions for challenging developers and their management on their engineering practices.
My question to you: What questions make a litmus test for "pretty good agile development?" My goal is to come up with ten to fifteen yes/no questions.
The Joel Test was an early example, but is now dated. There have been several attempts at more agile definitions of the test (e.g. confused of calcutta and jbrister), but these have not been validated. All of these lists contributed to the list of candidates, below.
This week, I ask for your help in picking the questions. Next week (or so), I will summarize and then conduct a survey based the questions you select.
Here is the poll: Which questions make up the Litmus Test for Pretty Good Agile Development?
- Source Code: Do you use source control?
- Build: Can you build in a single step?
- Daily Build: Do you make daily builds?
- Bug DB: Do you have a bug database?
- Fixing: Do you fix bugs before writing new code?
- Sched: Do you have an up-to-date schedule?
- Spec: Do you have a spec?
- Quiet: Do programmers have quiet working conditions?
- Tools: Do you use the best tools money can buy?
- Testers: Do you have testers?
- Intervew: Do new candidates write code during their interview?
- Hallway: Do you do hallway usability testing?
- Wiki: Do you use a Wiki?
- Continuous: Do you do continuous build / test / deploy?
- TDDev: Do your tests drive your development?
- Pair: Do your developers pair and support each other?
- Talk: Does everyone talk to each other, constantly?
- Hiring: Does the team select its new members?
- Colocated: Is the team colocated?
- Testing: Can you test in a single step?
- Releases: Have you delivered running, tested, usable functionality to users at least twice in the last six months?
- Deploy: Can you deploy in a single step?
- Integration: Do you integrate the system at least twice per week`
- News: Can you give your boss bad news?
- Access: Does it take less than three days from when you have a question to when an expert answers it?
- Improvement: Did you get together within the last three months to discuss and improve your group’s working habits?
- Retrospective: Does you team conduct a retrospective after every iteration?
- Acceptence: Do you define acceptence tests before you write code?
BTW 2: I will be at the Scrum Gathering in Stockholm and look forward to meeting as many of my readers as possible! Please let me know if you're coming!
BTW 3: Voting closes Midnight (UTC) on October 25. So vote now!
Have I missed anything important? That's what comments are for ;-)
Thanks for your help!