I need you to get from point A to point B. Seriously, how difficult can that be? Well, when it comes to managing a mobile project, navigating from start to finish takes serious focus. There needs to be clear expectations, team collaboration, and effective communication. This is the first part in a series of Insights articles that will cover the steps we take at POSSIBLE Mobile to drive towards project success. The series will cover the beginning steps of kicking off a project on the right foot to the benefits of a feedback loop with retrospectives. Let’s start from the beginning. Before we can plan anything, we need time for discovery.
Each client we work with has a budget in mind and every project needs to have a clear set of goals and well-defined scope. Our projects typically involve planning out an entire release with our clients during a discovery phase. For discovery kickoffs, the POSSIBLE Mobile team includes an account director, project manager, UX lead, and technical lead at a minimum. The level of discovery can be very in-depth if we are working with a first-time client. We take a consulting approach to dive into the client’s business and needs before formulating recommendations. We start by making sure the team understands our client’s overall mission that drives their business.
- Are they a non-profit and being charitable is most important?
- Are they driven by customer satisfaction?
- Are they looking to further innovations in their field?
- Are they trying to connect users who share a common interest?
A company’s mission and vision often guide them in their business decisions, which needs to be kept in mind during our interactions and strategic planning with them. These often tie to their goals for a project. Thus, the next important step is understanding what the client’s goals are for each product release. The goals should also help drive priorities for the project, whether a project is fixed bid with a well-defined scope or whether it’s a time and materials project, whereas lower-priority features may eventually get eliminated in favor of more important features as business needs change. Making sure the entire team is aligned with the goals will help keep everyone on track when having these early discussions.
Next, understanding the client’s KPIs (Key Performance Indicators) will help us understand how they measure results. If the client isn’t certain on what their KPIs should be, we have a seasoned analytics team that can help drive that discovery to determine the best strategy for tracking and analyzing user behaviors. If the correct analytics are not in place, future decisions become subjective instead of data driven.
From here, we dive into the details that will define the scope we set for the release prior to creating estimates to make sure the scope aligns with the client’s budget. In this phase, the client may just have concepts in mind or they may have very specific requirements. Either way, this is a collaborative process in which we reflect on the client’s goals and KPIs to prioritize a final feature set. When we have designs or features that need more research and UX analysis, we often recommend a specific discovery period before settling on a specific direction from the start.
Project Process and Tools
Another critical decision to be made early on is the process we’ll use and the tools that will supplement that process. We start by understanding what tools and process the client uses for their internal projects. From there we present POSSIBLE Mobile’s tools and processes and discuss how we can best collaborate. We recommend using the most important aspects of SCRUM, but still need to be flexible to accommodate our client’s process flow and methodologies. These include daily standups, sprint pre-planning, sprint planning sessions, sprint demos, and retrospectives. We’ll touch more on these in a later series. For documentation and workflow tracking, we recommend the Atlassian suite of Confluence and JIRA. When it comes to installing and testing beta applications, POSSIBLE Mobile has developed our own application, Vend, for simple app deployment to be used by us and our customers. In a later series covering Shipping Checklists, we’ll discuss the benefits of TestFlight and Google Alpha builds for release candidate build testing.
Estimations and Schedules
Once we have come to an agreement on the scope for a particular release, we use an internal estimation tool to determine all estimates. This process involves representation from leads within our design, development, QA, account management, and project management teams. We cover estimates, assumptions and dependencies, as well as reflect on historical estimates. It’s imperative that we have accurate estimates to determine the appropriate cost for a release. If during the process we realize there are too many unanswered questions, we work closely with our clients to close the loop. Once the estimates are complete, the project manager creates the schedule for the release. We analyze the team size needed and roles required, then we evaluate our resourcing availability and any planned vacation schedules. The final schedule is built out and major milestone dates are documented, including everything from development kickoff dates to client QA to final ship dates. Depending on the client’s available budget, the feature set may be negotiated down or expanded.
The next phase in starting the project is creating a legal agreement in the form of a SOW (Statement of Work). The SOW covers all specific activities, deliverables and timelines for the project. A typical SOW contains the following:
- The parties involved
- Roles and responsibilities
- Any specific process or tools
- Scope and any priorities
- Cost / Budget
- Payment Terms
Release Planning and Kickoffs
The project manager will use the agreement terms in the SOW (Statement of Work) to then document the Release Plan in Confluence. We have created our own custom template for a Release Plan so that we cover the same project details across all projects. The release plan should cover the main aspects of the project as noted in the SOW such as roles and responsibilities, scope, etc. Other critical areas to cover include the client’s goals for the project, OS version and platform support, device support (which can differ by feature set), the final selected team and their PTO schedules. Once all these details are gathered, the most important part is reviewing them with the team. This is often done in person and we prefer to have all parties involved. Creating alignment from the start will help the team achieve success throughout the project. It sets clear expectations and helps the team understand the big picture.
Prior to a kickoff with the team, the project manager is also performing other critical steps with their delivery team. Planning out the roadmap will help define a high-level overview or which features will be completed in each sprint and when final bug fixes, regression testing, and shipping will occur. Confluence offers a great macro for this called Roadmap Planner. Planning these details often involves the project leads getting together and whiteboarding out the plan. We analyze the feature set and prioritize each of them based on factors such as:
- Does the client have certain priorities?
- Do features have dependencies on other features?
- Are certain features more technical or risky?
- Will testing be more challenging for some?
- Are some just nice-to-haves if time permits?
Another important step the project manager takes is pre-planning out at least the first sprint. Early sprints can involve such things as project setup, flow charts, design discovery, wireframing, requirement creation and more. We find that two-week sprints are the right length for the team to stay focused and have attainable goals.
What’s Next in the Series?
Stay tuned for future Insights articles which will cover more critical steps to making our projects successful. Topics will include:
- Requirement Definition
- Sprint Planning and Demos
- Tracking Project Burn
- Shipping Checklists
Please leave comments if there are other topics you’d like to hear about.