Good project scope management is critical to success in every software project. To ensure that we come in on budget and on time, we have to keep the scope balanced and under control.
1. Don’t ignore the planning phase.
A lot of software projects are doomed from the beginning due to poor planning and underestimating. As software craftspeople, starting a new greenfield project can be an exciting time. It is critical that we resist the urge to jump right in start writing code and initially focus on planning our project with what we know now.
Each project here at Atomic Object starts with a Research, Design and Planning phase. During this phase we engage in a number of planning activities, both with the customer and without them. These activties help us ensure that we are building the right thing for our customer and, most importantly, that our customer is building the right thing for their users. Our end goal during this phase is to have a full estimated backlog for our first phase of development. Following the concepts of the Lean Startup, this first phase should be a minimum viable product.
2. Communicate with your team, and with your customer.
Part of Agile software development is keeping the scope Agile. During the development of a project, we are constantly building and reassessing scope. It’s in constant flux, especially when we work in a fixed budget, scope controlled manner. It is critical that, as we add new features and remove features, we clearly communicate to our customers and our team the impact his has on the overall scope of the project. Sometimes this will require a tough decision by the customer and project team on what to leave out in order to meet the budget.
3. Expect the scope to change.
Let’s face the truth here, we will never plan a project perfectly from the beginning and have scope stay the same. A research, design, and planning phase gets us pretty close to the correct scope, but is truly just a seed of scope to start work from.
As developers work on features and designers start to work on prototypes and mockups, we learn a lot that we could never predict from the RDP phase. Projects always change — this is why the waterfall method is not successful, and what makes Agile methodologies so popular. With Agile we can respond to this change faster and more elegantly. It is crucial that we expect scope to grow, and initially plan for it.
What are some ways that you and your team control scope on your projects?