The thousands of developers at the Nationwide family of insurance companies are exemplary practitioners of agile software development. They are led by Tom Paider, who uses a list that he calls the “21 Agile Tea Leaves” to measure how well any one team is doing.
- Whole Team
- Open Workspace
- Daily Standup Meetings
- Big Visible Charts
- Retrospectives
- Customer Collaboration
- Collective Code Ownership
- Simple & Evolutionary Design
- Test Driven Development
- Refactoring
- Continuous Integration
- Automated Regression Tests
- Technical Debt
- Pair Programming
- Sustainable Pace
- Iterations/Sprints
- Iteration Planning Meetings
- Show & Tells
- Frequent Releases
- Release Planning Meetings
- Story Cards w/Acceptance Criteria
Previously, I posted what I called an Agile Dependencies Chart. These two documents are remarkably similar in content. Other than the obvious fact that
Here are the slides (as a PDF file) for the Intro to Test-Driven Development speech that I gave at the SCQAA meeting last night. I haven’t seen the speaker feedback forms yet, but based on the comments from people walking up to me afterwards, it was an effective speech. In particular, everyone loved my grand experiment to demonstrate TDD — without requiring any programming knowledge — by having the audience break up into teams and write limericks test-driven.
If enjoyed this speech, then you might also be interested in materials from other speeches that I’ve given in the past. You can find them on the Downloads page.
I’m offering up this diagram as “the world of Agile Software Development according to Craig.” Let me know what you think.
One of the principles of Agile development is known as “Simple, Emergent Design.” And one of the ways to know if you have achieved a simple design is if the entire system can be diagrammed on a single sheet of paper — no matter how involved and feature-filled the system becomes — by applying the proper level of abstraction. (Note: It’s not unreasonable for parts of the diagram to be black boxes representing sub-systems, each of which have their own single-sheet diagram.)
A while ago, I took it as a challenge to try to describe the world of Agile development, itself, using such a single-sheet diagram. Continue reading An Agile Dependencies Chart →
Best practices evolve. The best practices for writing software are no exception. Here are a number of conventions and practices that used to be considered good in the past, together with the new ways of doing things, and why. Continue reading That’s So Yesterday! (On Writing Better Software) →
a blog by Craig L. Jones, Software Agilist