It’s no secret that every digital project can have unanticipated issues and obstacles. But when you combine best practices in software development planning, project management, and testing, you can create an ideal environment for avoiding pitfalls. In this post I’ll help you take a step back and think holistically about some preventative measures that can keep your project running smoothly.
#1 Conduct a Proper Discovery
Spending time and money on a discovery period will help you to answer all of the major W’s: who, what, where, when, and how to achieve your business goals. In the end, it will actually save you time and money.
A discovery allows you to ask the proper questions for all the facets of your engagement, including strategy, user experience, design, implementation and post launch support.
Some questions asked in each of these areas are:
Strategy + Defining Goals:
Why are we doing this?
What are the goals for the website?
What are the KPIs? (For example, is there a pre-existing tracking system like Google Analytics?
How are we going to measure success?
How are we going to manage the process? Think governance, responsibility and stakeholders.
Defining your audience. Who are we trying to communicate with? Are there different audiences - primary, secondary etc? Why do they come to your site?
Identify user journeys. This involves a series of steps in how a user will interact with your design.
Content Types + Management
Content Review. What is the content that will be on your site? Has it already been created or will you be creating new content? Will it be updated often or will it be static? What are the different types of content that will be managed on it?
Content Editors and working with your team. Who will be writing the content? When will it be ready? Who is loading the content to the site? Do you have an existing workflow (keep in mind permissions approvals etc)?
These are just a few of the details gathered in the discovery period - which could range from a few days to several weeks depending on the size of a project.
#2 Define Project Priorities (Dependencies, Milestones, Timelines, Risks)
Many of your project priorities should be fleshed out in your discovery. During this period, your team will learn some dependencies and priorities which will influence decisions later in the project.
It’s important to know the top three objectives of your project. Also, in collaboration with your partner agency, both teams can help to determine tasks that have dependencies and the estimated time frame associated with each. Anything that is not a priority for your initial launch can be put into a later release. You should always be thinking in a mindset “what’s needed” and “what’s extra.”
In partnership, you should be working with your agency to have effective project management and planning. This will include core foundations - meetings with your stakeholders, risk assessments and the plan itself. Remember, that you should meet with your agency on a regular basis to discuss a breakdown of milestones, and smaller pieces which include an even smaller breakdown of features/functionality components and subcomponents. Collaboration, questions are key to success. Skipping corners and being reactive is a recipe for disaster.
#3 Define a Definition of Done
At the beginning of a project kickoff, you should work with your partner to have a mutual understanding of what the “definition of done” is. This will help to create a mutual understanding of when something can be marked as “completed.”
The “definition of done” is formally defined when the team agrees on a list of criteria (often a user story) that is considered to be “done”. If for any reason some of these criteria fail, then that means the work should not be counted as complete. Whatever you want to call it, make sure that you have an understanding and a guide/checklist that guides your implementation activities through discussion, estimation, design and testing.
Make sure that you are on the same page over the minimum work generally required to get to a “done” state. Again, this is mostly applied to user stories or individual features.
#4 Prioritize Testing
A key word and practice is “testing.” Your internal team and partner agency must test, test, and test. Write down what has been tested and have clear acceptance criteria set up that will help prove that the requirements and functionality are working.
It’s a red flag if you are delivered something that has not been thoroughly tested. Something can always be repaired after additional testing, but if you are ever sent to review something that looks unprofessional or has multiple errors, escalate immediately!
#5 Add Enough Time for Project Management (including communication, testing and QA)
Project managers (PMs) are the the gel that keep projects running. Work closely with your agency’s project manager - they will have the pulse on the project and will help inform your stakeholders and their project team.
Often times, organizations may not see the added value of a project manager and will try to cut that from the scope of the project. However, a key to project success is communication, and communicating often, to mitigate problems. Your assigned project manager will communicate the project status, identify and mitigate problems that are essential to stakeholders.
Work closely with your partner agency and Project Manager and have regular meetings with them. They will help to ensure that nothing falls through the cracks. Make sure that all of your relevant stakeholders attend the meetings. Additionally, make sure that you communicate any changes from your organization (i.e. a Product Owner leaving etc.)
The bottom line is that the only constant is that change and surprises are inevitable. However, learn from each project and if you plan ahead of time and invest in the proper tools like a discovery engagement, project management, testing etc, the surprises are easier to handle.
Want to read more about avoiding digital project pitfalls? Here are the ten steps to successful requirements gathering.