What Are 8 Milestones Every Software Project Should Have?
Putting the right software project milestones in place can help you increase your chances of success. PMI reports that 37% of projects fail due to the lack of defined project objectives and milestones. Milestones are essential for many reasons, from assisting to gauge if the project is progressing as planned to helping to identify where potential roadblocks may arise. In this article, we will provide you with the essential milestones every project should have.
Essential milestones for every software project
For milestones to be of benefit to your project, they need to be set up in the right order and be clearly outlined. We’ve worked on countless projects containing milestones and have seen what works. Below is our recommendation on the milestones that lend to effective project completion.
1. Requirements gathering
Before moving forward on any project, be sure your business understands the objectives and scope of work first at a high level and then broken down into as granular as you can. Business requirements can be presented in many forms from listed on a word document to being written up in user stories for teams that follow an agile approach. What you ultimately want to understand is a full representation of the things you need the software to do.
2. Validate your requirement expectations
Next, you want to be sure to engage your technical resources so they can translate the requirements into more specifics as to how they are going to fulfill them. For example, if your general requirement is that you want to build an e-commerce store, the end result may not be what you want. In other words, the requirement is too generic. Instead, you should ask your developer or technical resource how they plan to build the e-store and what tools or platform they will use, such as WooCommerce in WordPress, Shopify or Magento, etc. When you understand the tools and platform that will be used, it can help you plan ahead. If you leave your project at the basic requirements level, you’ve left too much room for interpretation, which could impact the project down the line. Before completing this step, get a qualified budget and timeline estimate, which can help you decide if you’re aimed at a project that is doable before getting too far in.
3. Predevelopment planning
There are three teams involved in ironing out project details. The first is the Architectural and Technical Design team. Depending on your project’s requirements, here are some of the questions you might ask your team to ensure proper planning:
• Where will the application be hosted?
• Are we using any existing platforms or products?
• Do we have product licenses we need to buy, and who will own the rights to it?
• Are we building in a language that is supported in our area?
• How will you model your data?
The second team is Project Planning. Think about determining which project management model will be best for your team. In an Agile model, you don’t have to flesh out a full project plan up front; instead, you agree you will have a deliverable every two or three weeks. In the Agile approach, you have a planning session at the beginning of every iteration. Whereas in the Waterfall method, you work out a master project plan encompassing the entire scope of work and lay it out in a Gant Chart from start to completion. Depending on the approach you choose, your project team would then set up the respective teams, tasks, deliverables, and load any user stories you may have.
The third team is Quality Assurance. At this point in the project, QA will start writing out their test cases based on the fleshed-out requirements, begin test scripts, and get their work set up so they can start testing when development begins.
The predevelopment stage is also a great opportunity to have your technical representative validate the technical direction of your project. Because there are so many approaches one can take for the same business requirements, it’s a good idea to ask all the specifics upfront, so it doesn’t snag or halt the project later.
In this milestone, your teams will begin working on all the phases you laid out in the preplanning stages. Once you get into development, implementation will be broken down into a combination of many iteration deliverables, which will end up being more than one milestone. We recommend setting up deliverables that can be reviewed every two or three weeks.
5. Quality assurance testing
Quality assurance can be done in two ways. One at the end of development, which is not recommended except for small projects, or it can be done throughout the project. If done throughout, QA should be done with each one of the two or three-week deliverable iterations. Like implementation, QA is not one milestone, but it will be many milestones as the project progresses. It’s not uncommon to also do one QA pass at the end of the project to make sure there’s end to end testing validating the whole system is working as expected.
6. User acceptance testing
User acceptance testing is a critical validation phase. It gives anyone who is not a part of the development team a chance to validate that all the requirements are fulfilled. In an iterative delivery model, the UA team would have seen each one of the deliverables throughout the project. So, this phase would be more of a final look for approval before it gets pushed out into production.
Deployment is the exercise of making the application live. In this phase, there’s an environment set up, where you upload the code, do a quick test to make sure everything is running in the way it was in your test environment, and a push to production. Some other exercises for turning a site live include migrating an existing URL or a site email link to point to the new server. Depending on the project requirements, the exercises could vary.
Too many project plans end with go live as the last line item. After the project is complete, your development team will go away if you don’t have a support plan in place. So, sometime before post-launch, you should think about how you plan to support your new application. Will you add-on a support option with your current vendor? Will you train someone on your team? Or do you need to hire someone long-term? These are all considerations to think about.
Minimizing project risks
Every project is unique, so therefore yours could have additional milestones to consider. The above list is a good representation of the milestones you need to see your project through to success. Considering each one of these in light of your unique project goals will help to minimize the risk of project halt or failure and assist with keeping your project on track.
To kick-off, your businesses project, you’ll need to next understand the discovery phase, which is an essential step in predevelopment. What questions should you ask upfront to ensure you’re headed in the right direction? Download this guide to understand all you need to know for the discovery phase below.