Building and shipping world-class software products is hard. Even apparently simple mobile and web applications involve seamless integration of hundreds or thousands of components including authentication, identity, on-device databases, UI frameworks, networking APIs, analytics, and polished visual layout.
Many applications also add location services, push notifications, cloud storage, accessibility, localization, in-app purchases, social sharing, digital media rights, and even IoT-type device integration. The list goes on and on…
Each requires specialized expertise, which is often specific to the platform apps will be delivered on. Even with highly experienced teams, many projects present the need to implement new technologies, which forces us to quickly ramp up and become “area-experts”.
As technical project managers we are usually not the highly-specialized technology experts on the team. Instead we are generalists responsible not only for managing our projects’ budget and schedule, but also for ensuring that our expert team members are working together from a common plan. Great PMs use the “Jedi Arts” of project management to guide the team to successful delivery. Here a few techniques that PMs versed in the “Jedi Arts” use.
Technique #1 – Stay Ahead of the Team
At the beginning of a project, the team may feel as though a lot is known about the final product. There are some wireframes or visual designs. If the project is to deliver an already existing product to a new platform, there is already a working app to compare against. This can be a trap.
No matter how much information is available at the start of a project, there are going to be gaps. As the owner of the plan’s execution, the PM needs to stay ahead of the curve. It’s often not enough to rely only on the available information – PMs need to identify gaps and ensure they’re closed.
Jedi technique: Jedi-level PMs consistently work to refine the plan for all team members and stakeholders, continually through the entire course of a project. Where a project plan relies on incomplete or inconsistent information, Jedi-level PMs get out in front and produce clarity. When projects depend on work done by other teams, the PM engages them immediately in order to understand the status, schedule, and details of the dependency, and holds them accountable.
Getting ahead of the team and clarifying the plan is especially important at the beginning of a project, but Jedi-level PMs don’t let up until the project is delivered. This makes the whole team more efficient and leads to more predictable and higher quality delivery.
Technique #2 – Remain as Flexible as Possible
For many project managers, it may be tempting to call the plan “done”, once all of the components and tasks have been identified, documented, and estimated. As the project evolves, unexpected things will happen – the client needs to adjust to a market shift, a partner team is unable to deliver a dependency, or your platform vendor makes a change that forces work to be redone. It could be one of a thousand things, and chances are you haven’t thought of them all.
Jedi technique: By remaining flexible, keeping alternatives in mind, and fostering creativity when the team needs it, Jedi-level PMs are able to keep the team flexible and adaptable. Their instincts and experience guide them in finding ways to work around unexpected events. They lead their teams towards simpler solutions that deliver the same functionality with less effort and complexity. They coach their clients to be adaptable in order to protect their schedule and budget.
Technique #3 – Take the Risks Up Front
Continuing on the theme of creating clarity in the plan, there are aspects of nearly every project that defy predictability. It’s easy to let the implementation emerge organically as developers work through the details, but this is risky. Much more often than not, these riskier areas end up taking longer to complete than expected. And to make matters worse, the more complex the problem the harder it is to know how much longer it will take to solve.
Jedi technique: When faced with risk, Jedi-level PMs choose to do the hardest, scariest, riskiest work as early as possible. This maximizes the opportunity to adjust the rest of the plan, while there’s still time and budget available. Doing the complex tasks as early as possible can also reveal previously unidentified problems farther down the line, while there’s still enough time to develop the clarity the team will need when they get there.
Managing software development projects is challenging and complex. It’s a continuous process of creating clarity, driving away uncertainty and risk, and keeping the team focused on the highest value activities. These tips represent a small cross-section of a larger set of techniques and tools that technical project managers use to deliver products efficiently and predictably.
Image courtesy of Jeff Sheldon for Unsplash.