As an Agile coach, I am always reflecting on my experiences and looking for ways to help others improve. Recently I hired a contractor to complete a home improvement project. It didn't go very well. Let me share what went wrong and how I think using Agile techniques would have helped.
The Project
The project started with us meeting with a designer. The designer took our ideas and developed a plan. Once we approved the plan, a crew was assigned to do the work. The installation took about 3 weeks because the crew could not work every day due to various weather conditions and a holiday.
Once the crew was finished, the designer contacted us for a walk through. The designer noticed things were not done according to the plan. Plus there were things that were not done to our satisfaction. These issues required the crew to come back out for another week to make corrections.
What Went Wrong?
Problem #1
The crew never met with the designer, and worked off drawings given to them. Thus the crew made assumptions which led to interpreting what the designer wanted.
Problem #2
Upon arrival each day, the crew did not explain to us what they were planning to do. Because they were unable to work every day, we were never sure if certain tasks were complete or not. This made us feel like the crew was taking forever to finish.
Problem #3
The crew did not ask us for our input at all during the installation. They just showed up, did some work and left. At one point, the implementation crew installed the wrong thing. They realized it at the time, but decided to wait until the project was finished to see if we would be ok with it!
Which Agile Techniques Would Have Helped?
Agile Technique: Three Amigos
According to the
Agile Alliance, Three Amigos "involves an entire team in discussing all the details of every increment of work." To apply this technique to our project: the crew, the designer and my wife & I, all needed to meet at the same time. That way, everyone would have the same understanding of the design. The crew could have asked questions so they were prepared to begin work when they arrived.
Agile Technique: Daily Stand Up
According to the
Agile Alliance, a Daily Stand Up is "where the team meets so as to bring everyone up to date on the information that is vital for coordination." To apply this technique to our project: the crew needed to inform us what they were planning to do each day. If they had, we could have given them feedback on anything of concern from the previous day. For example, they planted all the plants right before a long holiday weekend. It was very hot, and we had to water like crazy. But what if we had been planning to go out of town? A quick conversation in the morning could have informed them to wait until after the holiday to plant.
Agile Technique: Frequent Feature Demo
Frequently demonstrating working features is a method for teams to convey progress and get feedback from the stakeholders. To apply this technique to our project: the crew needed to show us their progress as they worked on each item to make sure it was being done to our satisfaction. It would have been much easier to make corrections at the time they were doing the work, rather than a couple of weeks after they had finished.
Conclusion
I couldn't help but give feedback to the designer. I shared the above Agile techniques in hopes that it might help them become better at what they do. Have you applied Agile techniques to non-software projects?