Successful Software Project Delivery in 10 Steps
Originally posted on Dec 15, 2015 as Successful Software Project Delivery in 10 Steps at the Appnovation Blog.
Here are 10 project management steps that can help deliver your project successfully.
The beginning of a project is often a crucial time to set up the project for success. This phase is often overlooked as everyone has their eyes on the final product, and the impending deadlines. Below are some steps to ensure your team starts off primed for success.
Step 1: Know what you are building (Requirements Gathering)
Sometimes, projects start at-risk with a very vague idea of what the end result should look like. This step is crucial to understanding what the stakeholders are trying to achieve, and provides an opportunity for your team to add value with innovation and expertise. So, start strong, with documented business requirements and functional specifications.
More on Requirements Gathering:
Step 2: Define Success (User Acceptance Criteria)
The key to stakeholder satisfaction is delivering what they expect. But if the project team doesn’t know what stakeholders are expecting, how can they deliver? Step 2 is all about defining the user acceptance criteria. What is the purpose of the project? How can it be measured? What result should this project and all of its features and components provide? Work with your stakeholders to answer these questions and you will be well on your way to a successful project delivery.
Step 3: Assemble your Rockstar Team (Resource Matching)
Careful resource matching is crucial, because you want to build your team based on the skills required to get the job done well. First, create a skills matrix to identify the skills and experience this project will require. Second, work with your team manager to get the people you need on your project. Third, identify any gaps, and mitigate with training, or looking beyond your organization for contractors to fill the gaps (assuming your project contract allows). Lastly, don’t be afraid to mix junior, intermediate, and senior level resources, because you never know what naturally occurring two-way mentorship bonds can be formed.
Step 4: Hold a Kick-off / Retrospective
Kick-offs are great. You gather all of the excellent people from Steps 1, 2, and 3, along with the key stakeholders, and make introductions. Make sure you go over housekeeping items (communication methods, upcoming holidays, etc…), review the requirements, work plan, and schedule, and identify any issues that need to be resolved.
During Steps 1, 2, and 3, many conversations may get lost in translation — so it’s important that this all gets cleared up right away. The goal is for the team to bring up any items that need clarifying, and to make sure all team members know their roles and responsibilities.
If the work you are doing is a continuation of a previous engagement, convert the kick-off into a retrospective and discuss what was done well, what was not done well, what can be improved, and what needs to be taken care of immediately.
More on Project Kick-offs & Retrospectives:
After a successful kick-off, everyone involved will be very optimistic. But how do you maintain enthusiasm, and motivation, after months of hard work? Below are some steps and strategies to keep the team inching forward.
Step 5: Create Projects within Projects
Define and communicate your project approach. Whether it is Waterfall, Scrum, Kanban, or a hybrid approach — create time-boxed segments of effort, and communicate how near or how far the team is in relation to the finish line.
My favourite approach for enterprise projects is a hybrid of Waterfall, Scrum, and Kanban methods. First, I like to break a project into milestones (initiation, design, theming, feature development, etc…). Second, within each milestone, I like to have two-week sprints with sprint planning, daily scrum stand-up meetings, retrospectives, and demos. Third, I like to track the tasks within each sprint on a Kanban board with development, QA,, and user acceptance flows.
Ensure that your process can help you breakdown the larger project into a series of small projects, such that your team can complete the larger project in small chunks.
More on Project and Delivery Process:
- The Agile Drupalist
- Scrum… It’s not just for Rugby Anymore
- Agile Project Management and Incorporating Changes
Step 6: Lean on the Expertise of your Team
The success of a project delivery relies on the team of experts you are working with. These team members are the ones most versed in the challenges, risks, and issues likely to impact the project. So take time to learn about your team, encourage open discussion, suggestions, and sharing ideas.
The goal of this step is to transfer ownership of individual parts of the project to members of the team, empowering them to leverage the skills and expertise they bring to the project. This way no one member is overwhelmed, and the team can continue to do good work through the project.
Staying organized is very difficult to accomplish. Below are some steps that can help identify, capture, and organize what goes into a successful project.
Step 7: Utilize Software and Tracking Tools
It’s impossible to track conversations, decisions, status updates, progress, story points, effort, sprints, milestones, tasks, budgets, deadlines — without help. To stay organized, make use of some of the excellent project management software solutions available.
At Appnovation, we use a couple of different tools, and JIRA has quickly become one of my favourites. Learn more with the resources below.
More on Software and Tracking Tools:
- Tools for Managing Drupal Projects
- JIRA — Scrum, Sprint, Kanban Project Management
- Trello — Organize Anything with Anyone
Step 8: Avoid changes in direction (Project Scope)
Scope changes can derail the momentum of a team. So spend some time here to not only identify and document what the change is, but also identify how to refocus the team and their efforts to minimize the negative effects of context switching. Ensure that all stakeholders and the team are aware of the impact of a change request, and adjust your schedule, budget, and tracking accordingly. Gain approval once the full impact of a change is measured. Keep a change log handy, and remind stakeholders and team regularly where they can find the change log.
At the end of every sprint / milestone is a great opportunity to work with your stakeholders, align priorities, and keep the momentum going. This is also a great moment to gain some praise and acknowledgement for your team, keeping them motivated and on-topic. Step 4 is all about show-and-tell.
Step 9: Provide Visibility (Stakeholders and Project Team Communications)
Build a communications plan. Identify the content required, the best methods for communicating, and the frequency. My typical communication scheme looks like the following:
- Daily: blockers, decisions (Skype / JIRA comment)
- Weekly: summaries of spend, progress, decisions, impacts (Email, Tracking Document)
- Monthly: demos, formal status reports (screen share / conference call)
I prefer this level of communication to keep stakeholders and the project team engaged, with the aim of preventing mistakes and wasted effort.
Step 10: Show your Work (Demo Day)
You will always have at least one stakeholder from whom to elicit feedback. Make sure that part of your process includes some time to let your team do a demo of the work they’ve accomplished at the end of each sprint or milestone. This step goes a long way to engage your stakeholders, revisit priorities, and ensure that the work your team is doing aligns with the goals and objectives of the project.
After you’ve done a demo, go back to Step 1 and do a retrospective, continuously improving the work and the relationship with your stakeholders.
So, there you have it: 10 tried and tested steps that will help to mitigate risks and improve your project delivery. Successful project delivery can save time, save money, increase revenue, and help organizations systematically achieve their goals in an effective manner.
Our team at Appnovation has a very talented roster of Principals and Project Managers with years of experience delivering software projects successfully. Feel free to ping me via LinkedIn if you have any questions — I’m sure one of us can help.
If you found this article useful, please share it!
What’s next? Check out some General Guidelines and Post Launch articles.