How is Building a Custom Application & A House Similar?
The Risk of Scope Creep and How to Avoid Unexpected Costs
Have you ever had a house built or know someone who has? You may have heard some horror stories or have some of your own where the project ended up costing much more than anticipated and way off schedule. Not only is this frustrating, had you known the end result you may have chosen a different route completely.
Building a custom application can develop (no pun intended) into a similar situation if the company designing your application and the lead project manager from your organization are not suited for the task. In our experience in both situations, building a home or a custom application, the reason for much of this frustration and misunderstanding stems from what is known as scope creep.
Scope Creep – What is it?
Scope creep is a term used in project management that refers to uncontrolled changes or a continuous growth in the total scope of the project (Wikipedia: Scope Creep). So why does it occur?
Generally speaking, scope creep is a byproduct of not properly defining, documenting, or controlling a project from beginning to end. Some of the most common factors that result in scope creep are:
- Poor Communication between Stakeholder and Provider
- Poor change control
- Weak Project Management
- Not understanding the driving reason behind the project; or
- lack of initial product versatility.
Depending on the size of the project, some of these are quite easy mistakes to fall into. Understanding the company’s end goal, having the right personnel in place to drive the project, and selecting a service provider who can handle your task are all crucial. What’s the solution?
Agile Programming V. Long, In Depth Scoping
Agile Programming or a development method in which requirements and solutions evolve through collaboration between continuous communication, organizing, and cross functional teams that can keep the end vision in sight. Additionally, Agile methodologies promotes adaptive planning to accommodate the evolution of the project, early development, and continuous improvement. This method effectively allows and encourages a flexible and rapid adaptation to change. (Wikipedia: Agile Software Development)
In plain English, when you are developing a custom application it is common to realize the benefits of certain features that may not have been recognized in the initial planning period. With Agile Programming, a system can be developed to easily adapt as the project grows as well as keep both the service provider and stakeholder on the same page in regards to expectations surrounding cost, schedule, and benefits of changes to the project scope.
Conversely, when a scope is created in depth all at once, it creates the opportunities listed above that result in scope creep. Long in depth scopes assume the risk of miscommunication, specifically regarding items such as the cost-benefit of changes made during production, as well as an understanding of what is included in the initial bid/scope of the project. These misunderstandings often lead to cost increases and leaves the stakeholder wishing they would have taken a different bid.
This may seem a bit cumbersome to fully understand – let’s take a look at an example
Example: How Agile Strategies Benefit both the Stakeholder and Service Provider
When you are having a house constructed, you may not care or be overly concerned exactly how the construction company will complete the project. However, you will care much more about the process which affects when each step of the process will be complete.
For example, you may not know that something is in mid-construction when you ask to change directions regarding materials used or fully understand the implications of your request. This makes it nearly impossible to stay within scope.
Another example would be that you held assumptions about what was included in the bid just to find out that flooring was left out, certain city codes were not taken into consideration, or more items that most are less familiar with such as plumbing or electrical requirements.
Avoiding Scope Creep with Custom Built Applications
Programming is much like this – many are unfamiliar with what the process looks like and do not understand that their requests mid-development could dismantle that initial scope.
The good news is there is a process to avoid all of this. While there are many variations to Agile Methodologies and approaches to avoid scope creep, we’ve listed the twelve principles that all methods are based upon. Keep these in mind when you are selecting a provider! Just like homeownership and having a new house constructed, it’s important that all parties understand the course to accomplish the task as efficiently as possible.
The Agile Manifesto is based on twelve principles:
Customer satisfaction by early and continuous delivery of valuable software
Welcome changing requirements, even in late development
Working software is delivered frequently (weeks rather than months)
Close, daily cooperation between business people and developers
Projects are built around motivated individuals, who should be trusted
Face-to-face conversation is the best form of communication (co-location)
Working software is the principal measure of progress
Sustainable development, able to maintain a constant pace
Continuous attention to technical excellence and good design
Simplicity—the art of maximizing the amount of work not done—is essential
Best architectures, requirements, and designs emerge from self-organizing teams
Regularly, the team reflects on how to become more effective, and adjusts accordingly