Accretive design is not simply a methodology; it's a philosophy that encourages product development teams to embrace a conceptual design process that allows flexibility and foresight for themselves and future contributors. This progressive approach is crucial in today's fast-paced software industry, where adaptability and forward-thinking are key to creating successful and enduring products.
The conceptual phase of design is often eclipsed by the rush to produce tangible results. However, conceptual design is the critical underpinning that affords the necessary breadth for choices when in the context of development. It is akin to setting the foundations of a building so that it can be built upwards securely and with the potential for future expansion.
For example, as we will see below in the shaping phase, a product manager’s (or designer's) role involves the creation of lightweight and ephemeral designs. These are not intended to be complete works but serve as the groundwork for a range of choices. The accretive nature of interactive software design, which, while inherently incremental, often deviates from this pattern in practice.
Harness accretive design in six steps:
Questioning: This initial step involves posing the right questions, leading to inquiries directly related to the focus area. It's about deciding the direction of the inquiry based on a clear focus area.
Describing: Next is the detailed observation of the current situation, the approach being taken today, and the current outcome state from that approach in that situation. The aim is to capture the context succinctly and comprehensively.
Diagnosing: Here, the symptoms and probable causes are identified from the context, allowing a better understanding of the underlying problems with the current approach being taken today and why the approach is not good enough.
Delimiting: This step focuses on clearly defining the specific opportunity frame (unmet/unrealized need, desire/want, or motivation) to address from the diagnosis, i.e., we formally package up the motivation we have to solve something (or the tight-problem definition to address) and what we want the desired outcome to look like.
Shaping: Before moving to concrete plans, this phase involves outlining various approaches with at least one schematic that could satisfy form-context fit. It's the concept: the parts, the links between them, the things that are "in" and the things that are "out" that make a possible solution. We then package up this conceptual design work into a readable two-way document so people who were not part of the shaping can read and understand the thinking behind everything.
Development: Finally, the build phase is executed within a specific timeframe where scope is traded for quality.
These steps do not have to follow a linear sequence. One might jump directly to a solution or start shaping the direction. However, skipping steps and rushing into development without a delimited opportunity leads to run-on projects usually driven by missing the point. Each step represents a layer of thought and consideration that adds to the richness and robustness of the final product.
Accretive design is a reminder that software design is not just a one-time effort but a continuous process of adding, refining, and evolving. It requires a balance between the freedom to explore and the discipline to define, a dance between creativity and structure. By following these steps, product managers and designers can ensure that they not only solve the immediate problems but also lay the groundwork for future innovation and improvement.
The accretive approach is about building with the future in mind, ensuring that each addition is a step towards greater functionality and better user experience. It's a cycle of perpetual enhancement and refinement, where the present builds on the past, and the groundwork is laid for the future. This approach aligns with the dynamic and ever-evolving nature of software, where the only constant is change.