Tag Archives: best practices

Nationwide’s Tea Leaves vs. My Chart

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.
  1. Whole Team
  2. Open Workspace
  3. Daily Standup Meetings
  4. Big Visible Charts
  5. Retrospectives
  6. Customer Collaboration
  7. Collective Code Ownership
  8. Simple & Evolutionary Design
  9. Test Driven Development
  10. Refactoring
  11. Continuous Integration
  12. Automated Regression Tests
  13. Technical Debt
  14. Pair Programming
  15. Sustainable Pace
  16. Iterations/Sprints
  17. Iteration Planning Meetings
  18. Show & Tells
  19. Frequent Releases
  20. Release Planning Meetings
  21. 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

TDD Slides Posted

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.

An Agile Dependencies Chart

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