Tag Archives: Agile Contracts

Applying Agile to Non-Software Projects – Agile Home Remodeling

A number of my students have requested some case studies that show applying Agile to non-software projects. As an example, I recently completed a home remodeling project which may seem simple and trivial; but believe me, it was not.

Agile Home Remodeling

Applying Agile to Non-Software Projects

It is possible to apply Agile to almost any project but that doesn’t necessarily mean using Scrum. And, it certainly doesn’t mean just going through the rituals of doing Scrum mechanically. Applying Agile principles and figuring out how to apply them to non-software projects can be very challenging.

Background

I have been a project manager for a long time. I’ve managed large, complex multi-million dollar projects; but nothing compared to a recent project to do a major remodeling of the kitchen in our house. The project involved:

  • Knocking down a wall that separated the kitchen from the rest of the house to create a more open environment
  • Ripping up the concrete floor to re-route electrical and plumbing connections
  • Replacing all of the existing kitchen cabinets and appliances
  • Installation of new lighting fixtures
  • Moving the entrance-way to the master bedroom to be more consistent with the new floor plan
  • Removing a pantry and replacing it with a new pantry cabinet which required knocking down a wall and moving an intercom system
  • Repainting the entire area and many other cosmetic enhancements

Agile Home Remodeling – Why was this project so difficult?

  • My wife was the major stakeholder in the project, she is a perfectionist, and she has a habit of changing her mind frequently about what she wants. (Her response to that is “She doesn’t change her mind, she just decides as she goes along”)
  • Multiple outside contractors did all of the work in this project
  • A major challenge was to try to manage the costs and schedule of this project within reasonable levels

Agile Contractor Selection

The first task was to select a contractor (or contractors) to do the work. I had several choices:

Contractor “A”

Contractor “A” was the most widely-known contractor in this area. They advertise widely on television and have a good reputation for delivering a high-quality result. They would also take full responsibility for the overall solution. However, their approach is fairly rigid and controlled. Once you sign a contract with them, it is very difficult to make any changes.

Contractor “B”

Contractor “B” was much less widely-known but offered much more flexibility and willingness to work with on a design that was customized to meet our needs. They would also take overall responsibility for managing the overall solution.

Contractor “C”

Contractor “C” offered the most flexibility to meet our needs but was actually two different contractors. It was not really possible for either of them to take overall responsibility for the overall solution

  • One contractor did the demolition and prep work including electrical and plumbing to prepare the new kitchen
  • Another contractor provided the kitchen cabinets and counter-tops. They installed them after the initial demolition and prep work had been completed
  • Following the installation of the cabinets and counter-tops, the original contractor returned to do the finish work. That work included final installation of new lighting fixtures and repainting of the entire area

Choosing a Contractor

Selecting a contractor was difficult:

  • Contractor “A” was probably the lowest risk choice from a traditional project management perspective. It would require less management on my part but offered little flexibility to adapt the solution to meet our needs
  • Contractor “C” was the highest risk and involved coordinating the work of two different contractors. However, they offered the most flexibility to meet our needs
  • Contractor “B” was a compromise between those two extremes. They had the advantage that they were a single contractor who would take overall responsibility for the solution. However, their costs were considerably higher than Contractor “C”

Final Contractor Selection

We chose contractor “C” because flexibility and adaptivity to meet our needs was so important; even though contractor “C” had the highest risk and might be the most difficult to manage. However, these two contractors had a history of working together successfully on other similar projects. I also had a good feeling that I could trust and partner with these individuals to manage the overall solution. That was a key difference:

  • With contractor “A”, we would have relied on a very clear and well-defined contract to deliver the solution. However, we would have little or no flexibility to make changes (That’s what many people might call “Waterfall”)
  • Contractor “C” had a statement of work but it was understood to be flexible and subject to change. The relationship relied on a spirit of trust, partnership, and collaboration (This relationship was much more similar to Agile)

How Did the Project Work Out?

This was a difficult effort to manage.

The scope of the project changed numerous times

My wife decided that we couldn’t remodel the kitchen without replacing all the living room furniture and carpets. And, of course, other changes to the rest of the house became necessary as well which included:

  • Repainting the master bedroom,
  • Replacing pictures and reupholstering other furniture. and
  • Enhancements to other areas of the house

Nailing down the design requirements was very difficult

As I mentioned, my wife changes her mind frequently, and insists on perfection in the end-result. We looked at many different kinds of granite counter-tops and many different floor tiles before making a final selection. There were also many times when a “final selection” changed before it really became a “final selection”

This Was a Project Management Nightmare

This was not a large project but it was one of the most difficult ones that I have ever had to manage. For a traditional plan-driven project manager, this would have been a nightmare attempting to control all of these changes. It is also very challenging to be caught in the middle between a very demanding stakeholder and contractors who have to deliver the work within a given cost.

However, this is a perfect example on a small scale of what an Agile Project Manager has to do. You have to learn how to balance flexibility and adaptivity to maximize the business value of the solution with some level of planning and control,

What Were the Results?

The project turned out to be enormously successful

  • The whole project was completed in a little over three weeks from the time the work started
  • It went over the budget that that we expected to spend but the costs were still at a reasonable level
  • Most importantly, my wife was delighted with the way it came out and she is the most important stakeholder I needed to satisfy.

Finished Result

Here’s a picture of what the finished kitchen looked like:

The New Finished Kitchen

Work-In-Progress

Here’s a couple of pictures taken during the work-in-progress leading up to finishing the kitchen:

Tearing Down the Wall to the Old Kitchen
Ripping Up the Concrete Floor to Re-route Plumbing and Electrical

How Does This Apply to a Business Situation?

I know this is an unusual situation but I like to use unusual situations. I think it encourages “out-of-the-box” thinking rather than viewing standard, stereotypical Agile case studies. The following is a summary of how I think these lessons-learned can be applied to a business situation:

Contractual Relationships

Most businesses could not survive without some kind of contractual relationships with outside contractors. In addition, many businesses have significant supply chains that are critical to the success of their business.

  • Typically, a firm, fixed-price contract and a competitive bidding process among multiple bidders is used to get the lowest possible price.
  • That is a relatively low-risk approach from a cost-management perspective but doesn’t necessarily result in the best overall solution.
  • When there is a lot of uncertainty in the requirements, a different approach is needed to maximize the business value of the solution. It requires a collaborative partnership with a contractor to work together to maximize the value of the solution is essential

Trust

Developing that kind of relationship with contractors requires trust. For that reason, it will not be possible to develop that kind of relationship with just any contractor. That’s why it is important for a business to have strong relationships with a selected number of contractors who can be regarded as close partners.

Risk Management

I took a risk by going with contractors that I thought were the highest risk from a project management perspective. However, that risk paid off in terms of the overall quality of the solution. A similar thing is true in a business environment. Many times you have to take a risk to maximize the value of the solution.

Productivity

The project was completed in a very short time once the work was started. That was largely due to the fact that I empowered the contractors to get the job done the best way they knew how and I didn’t attempt to micro-manage what they were doing. Conventional project management might attempt to more directly manage the work being done.

Overall Summary

Here are some of the important conclusions and lessons learned from this project about applying Agile to non-software projects:

  • Agile principles and values can be applied to some extent to almost any project. However, it requires some skill to interpret these principles and perhaps combine them with traditional project management practices.
  • The overall value that the project delivers is what is most important. The key stakeholder determines “value”. Cost and schedule goals have some value but are only one component of value and not necessarily the most important,
  • A spirit of trust and partnership is important even in a contractual situation. Over-dependence on a traditional contractual relationship can severely reduce flexibility and impact the value that the solution provides.
  • Risk management is important but attempting to minimize and over-control risk can also impact the value of the solution. Taking risks may be necessary to maximize the value of the solution.

Additional Resources

For another example of applying Agile to non-software projects, check out this article:

You will find much more detail on this in my Online Agile Project Management Training.

Agile Contracts – Does it Work? How Do You Do It?

A lot of people may think that it is inconsistent to impose cost and schedule constraints on an Agile project. It is difficult, but it definitely can be done – one of the areas where that becomes essential is Agile contracts.

Agile Contracts

An Example of Agile Contracts

For example,

  • I once managed a large federal government project that had all the typical government contracting requirements for cost and schedule milestones; but,
  • At the same time, the government customer wanted some level of flexibility to work out detailed requirements as the project progresses

The Relationship With the Customer

Does that sound inconsistent? It might be depending on the relationship you have with the customer. Obviously, this will only work if there is a spirit of trust and partnership with the customer.

  • The customer needs to collaboratively work out any trade-offs between the scope of the requirements and the cost and schedule of the contract as it progresses
  • If there is more of a typical “arms-length” contracting relationship or some kind of adversarial relationship, it’s not going to work at all

Doing this generally requires a hybrid Agile approach that blends an Agile development approach with a plan-driven “shell”.

  • The plan-driven shell provides some level of predictability and control over the overall scope, cost, and schedule of the project while
  • The Agile development approach operates within that shell to provide some level of flexibility and adaptivity in the detailed requirements

That approach is described in more detail in my article on the “Managed Agile Development Framework“.

Money for Nothing; Change for Free

Jeff Sutherland has created a very nice model for this called “Money for Nothing, Change for Free”. Jeff’s approach is based on two primary clauses in an Agile contract:

Change for Free

The “Change for Free” clause is based on the idea that the customer can make any change they want provided that the total contract work is not changed.

  • This allows new features to be added provided that lower priority items are removed from the project.
  • I have documented a case study in my book on how General Dynamics, UK successfully used this approach on a large government contract in the UK.

Money for Nothing

The “Money for Nothing” clause is interesting. It recognizes the fact that in many projects:

  • The customer always asks for everything that they could possibly need, but
  • If you prioritize those items and deliver the highest priority items first, at some point you will reach a point of diminishing returns where the cost of developing incremental features exceeds the value that those features provide.

This clause:

  • Allows the customer to cancel the contract at that point. The customer saves 80% of the cost that would have been spent to complete the remaining items; however,
  • The contractor receives a fee of 20% of the cost for early cancellation
  • That makes it a win/win for both the customer and the supplier.

What Kind of Agile Contracts Does This Apply To?

This concept is not limited to fixed-price contracts – that’s only the extreme case.

  • It can be applied to almost any Agile project where there is a need for some level of predictability and control over the costs and schedule of the project
  • Very few people get a “blank check” to do an Agile project without any expectations of what will be delivered and what the estimated cost and schedule of the project are likely to be

Additional Resources

You will find much more detail on this in my Online Agile Project Management Training.