When we design or adopt a new product development process, project management framework or methodology we often rush to establish certain rules and definitions, such as sprints, story points, velocity. We rarely focus on philosophy and values on top of which we build our processes. Below are some of my views on this topic.
Purpose of the process
The main purpose of a product development process is to streamline all available resources to make highly impactful changes towards the company objectives. As we make progress towards our goals we must continuously learn and grow as a team. It is important to celebrate the learning as well as the delivery of successful changes.
A holistic process
A good process covers not only the execution phase but also the entire cycle of ideation, solutionising and implementation. In this sense it doesn't belong exclusively to the engineering team. It is a company-wide process that should involve stakeholders from all departments.
Other than being focused on how to deliver changes, a good process also focuses on scoping what should change in order to solve the original problem. And on reasoning about why solving that specific problem matters.
Here are a few important values that at the core of good process:
- Alignment. Everyone must be aligned and move towards the same goal. By design of the process there should not be any conflict of interests. Among many other things this means alignment of incentives, careful handovers and clear communication.
- Transparency. At any given moment of time everyone in the company should be able to know what’s currently being worked on. Transparency is about sharing information on the most appropriate granularity level. Oversharing is as bad for transparency as undersharing. Having a common understanding of a given situation has a major systemic impact on the overall team performance.
- Sustainability. To achieve continuous growth we should work sustainably. Energy management matters as much as time management. Going over and beyond to deliver a project within a tight deadline usually leads to completely missing the deadline of the next project. And it is rarely worth it. Overoptimising the process for speed and efficiency is a major mistake that results in the entire system becoming much more fragile.
- Engagement. Everyone should be engaged in the process of making impactful changes. Participation and involvement should not be limited by roles and job titles. Engineers should have an interest in the problem space. And business owners should have a good knowledge of the solutions that are currently in place.
Establishing a good process often means developing solid communication norms. A high-level communication guideline that covers various situations can help to facilitate this change. For example, it could define situations when asynchronous or synchronous communication should be preferred. It can also set some common principles and standards for documentation and shared knowledge management.
Teams, as well as humans, develop habits around cyclic events. A good process must cultivate good habits and establish a certain rhythm of work. When a team delivers changes continuously every quarter or every month it gains self-confidence and continuously improves thanks to the feedback loops. This creates a momentum for high-impact work.
Ever changing process
No process can be perfect from the first version. Any rules need continuous adjustments and changes as the team and the environment it works in changes. Put principles behind your process over the process itself. It is important to maintain the core principles while continuously improving the process. However, principles by themselves cannot replace a process. At any given moment you should have a specific process. And any changes to that process must be made explicitly and in an agreement with the existing principles.