For this week’s episode of Tech Club, James and I interviewed Software Architect Jon Fazzaro about agile processes for custom software development. It turns out James Swihart himself is a certified Scrum Master, so it was up to me to ask the questions someone on the customer side would have.
We let the interview go a bit longer this week because our goal was to walk through the process from start to finish. That way, we hope you’ll come away with a solid grasp on what would be expected of you as a Product Owner, a representative on the user side, at each stage. You’ll also have a rough idea of what the development team is up to during each of the sprints.
Here’s a list of the main questions we answer:
- What is Scrum and how does it relate to agile?
- What is the main difference between agile and traditional approaches to custom software development?
- Why is it never a good idea to try and imagine every detail of a project upfront?
- What is the primary value of software? And why is agility important?
- Why are the three main points of agile—value, change, and trust—so important to the process?
- What is a Product Backlog and how do sprints work to take it on?
- How does the team respond to changes in the assumptions that were built into plan at the stupidest stage?
- How do you keep a process that’s somewhat open-ended from growing out of control, keeping the timeline and the budget fixed?
- How do people in various roles—Scrum Master, Product Owner, Developers—communicate and coordinate their efforts?
- What does velocity mean in the context of Scrum, and how does it help you plan sprints?
- Why is keeping Scrum teams together so important? (Or what Jon learned about Master Minds from The Art of Manliness)
- What does the Mythical Man Month say about Scrum teams?
- What is Technical Debt and how do you avoid dragging along unnecessary or Rube Goldberg code to later sprints?
- Why is clean code the key to optimal functionality over the many iterations?
- What is Planning Poker and how does the Fibonacci sequence help with sprint planning?
- What happens during product demos and sprint reviews?
- Why is one of the basic principles of agile that working software trumps comprehensive documentation?
- Why is the sprint retrospective the most important part of the process?
Of course, custom software development is a serious topic, but this being Tech Club, James and I couldn't help having a little fun along the way. Anyway, we'd love to hear what you think. If you have any comments, questions, or suggestions, send them along to firstname.lastname@example.org.
Here’s a good list of posts if you want to learn more about Scrum and the agile process: