- Charles Max Wood
- Alyssa Nicholl
- Joe Eames
Special Guests: James Shore
In this episode, the Adventures in Angular panel talks about Agile Fluency with James Shore. James is one of Charles’ favorite people to talk to about Agile development because he is one of the people who really understands how people work, instead of the methodology proliferation that is more common. They talk about how Agile got started, the Agile Fluency Project, and how Agile has changed over the years. They also touch on TDD, the things people can do to solve the problems with Agile misconceptions, and more!
2:00 – He does a lot of work with agile, but actually got started with something called Extreme Programming.
3:14 – When Agile started, it was a reaction to the management belief that the right way to develop software was to hire armies of replaceable programmers and a few architects to design something that was then sent off for these programmers to work.
4:34 – Agile is turning into the “everything” thing. It is being used in many different spaces and leaving developers behind in the process. This goes along with “the law of raspberry jam.”
6:55 – The agile manifesto states that they value “Individuals and interactions over processes and tools.”
7:28 – The Agile Fluency Project is focused on software teams and they created the Agile Fluency Model, which is a way to describe how teams tend to learn Agile over time. They want people to be able to see what all they can really get out of Agile through this project.
10:05 – Alyssa is more confused on the subject of Agile development and is interested more in what people lost by not using Agile anymore.
11:45 – Agile changed from a grassroots movement driven by developers to a management structure that programmers ignore unless it affects their day-to-day.
14:18 – Test driven development is a way of writing your code so that you have confidence to change it in the future not a way you can get unit test code coverage.
17:36 – Joe defines TDD as a way to help him design better code and he finds value in using TDD and then once the code is done, throwing out the test and still find value in it.
19:50 – TDD creates better code by forcing you to think about the client who will be using it and it forces you writing code that is inherently testable, and therefore, better code.
22:22 – The values of Agile development have not been communicated to the programmers who are forced to use it, which accounts for the push back against it.
24:40 – The issue across the board is when people take and idea and think they can read a headline and understand it fully.
28:17 – The way to combat this problem is to dig into some of the things that was happening 15-20 years ago and you can look into DevOps. You can also look into the Agile Fluency Project and the Agile Fluency Model.
31:24 – To get started with talking about how you should do Agile from the trenches, you can look into the books Fearless Change by Mary Lynn Manns and More Fearless Change by Mary Lynn Manns to help you to learn how to make change within your organization.
35:18 – Planting seeds allows you to make change within your organization and make a difference in a small way.
36:10 – The easiest way to remove some of these obstacles is to get together with your team and get them to agree to a trial period. There are more ways as well to get over obstacles.
43:07 – The reason he became an Agile developer is because after his first job working with it, he never wanted to work any way else. So, he decided to start teaching Agile in order to keep working with it in his career.
- Ruby Rogues Episode 275
- My Ruby Story Episode 48
- Extreme Programming
- Agile Fluency Project
- Agile Fluency Model
- Smalltalk Best Practice Patterns by Kent Beck
- Refactoring by Martin Fowler
- UML Distilled by Martin Fowler
- Fearless Change by Mary Lynn Manns
- More Fearless Change by Mary Lynn Manns
- The Art of Agile Development by James Shore
- James’ GitHub
- Testing Without Mocks: A Pattern Language
- Jake (build tool)
- The High-Performance Coach
- The Expanse by James S. A. Corey