Early in my career, I was lucky to be able to work for a process manufacturing company that invented and produced engineered lumber products. Today I use many of my experiences on the manufacturing floor in my agile software development life. I know what you are thinking, how can you equate the manufacturing of engineered lumber products with development of software. Well you don’t have to look far to see that the whole product and software development communities have embraced efficient process manufacturing production line principles in the development of software projects and or products. This is a move from the world where building software was like building a house — lots of up front work regarding requirements and design, checkpoints and sign-offs along the way, and quality check offs at the end.
Scrum, Test Driven Development, Kanban, and eXtreme Programming — all of which are similar to the processes and best practices followed on a manufacturing floor. How are they similar? I’m glad you asked, over my next several posts I plan on exploring how they are similar and what we can learn from what transpires on the manufacturing floor.
Let’s first focus on what seems to be the most commonly implemented Agile practice – Scrum. I’m not going to get too much into what Scrum is – there are plenty of resources available for that and I’m sure one day that will be a good discussion for Agile.Agile.Agile. So with Scrum, there are three areas which really stand-out:
- Daily Standup (or Scrum) = Shift Production Meeting. All most all teams that practice Agile have daily meetings during which the team members answer the questions of “what happened since we last met”, “what is planned between now and the next time we meet”, and “what is preventing progress towards the goal”. Well these are the same questions answered during a shift production meeting at a manufacturing facility. They discuss the results from their previous shift, the happenings of the shift prior, planned production, and obstacles/challenges to meet the production goals. Much like the daily standup, issues are raised during the shift production meeting, but the discussion surrounding the actions to resolve are reserved until after the meeting and only those parties that can impact the resolution are involved. The primary reasons these meetings are similar are simple — it’s all about daily collaboration, team building, and ensuring the goals of the team are always in front of them.
- Do what you said you would do. Well parents around the world have been saying this for a long time, but this is a core tenant of Scrum and working on a manufacturing floor. Actually, Scrum is about commitments and an agreement between the Product Development Team and the Product Owner (or Ownership Team). The crew that works on a manufacturing floor are committed to producing what was planned in the production schedule.
- Plan in short periods that result in potentially shippable product. A key to meeting production goals is setting realistic goals that are derived from understanding production input constraints (raw materials and workforce) and an honest assessment of market conditions (understanding supply and demand of produced products as well as organization production goals). To do this successfully, planning is most effective when it is done within short time fences. Of course, all practicing agilistas know this to be true within most agile processes – and the sprint timeline is considered untouchable. This is because what was mentioned above – the team planned and committed to complete work within the specified sprint. It is also important to mention that using consistent short periods helps teams, production floor and or Scrum team, to get into a rhythm.