When building and delivering software you need to know what it is you are going to build and how you are going to deliver it. This is what Definition is for and this Definition Playbook helps you do Definition.
Whether you’re agile, waterfall or somewhere in between, you still need to put the work in upfront so as to make sure you deliver what is needed.
If you’re agile you’ll put in just enough work that you can start while continuously performing definition alongside development. If you manage waterfall projects you’ll want to make sure you have everything defined.
Here is where Definition fits if you’re building a new product, solution or platform:
What is Definition?
Definition is a phase of preparing for development, delivery or implementation. You review the problem, understand what can be done to fix it, design the physical and technical solution, and prepare for development to start.
Definition is where you pin down the focus by making detailed choices on what will be in scope and out of scope.
In some organisations, Definition is an isolated process completed all at once for multiple features or initiatives. In others, Definition is integrated into your continuous product development activities. Either way, the process of Definition is similar and bridges the gap between knowing the problem you want to solve and getting them ready to be implemented.
Definition will also help gain alignment across stakeholders by working through the details together and surfacing issues ahead of time.
On completion of Definition, you will have a view of the final estimates and timeline for completing development, and most excitingly, you will be ready to start building.
Why do Definition?
“If you fail to plan, you plan to fail” – Benjamin Franklin
Doing Definition gives you the benefits of greater certainty over time, cost and scope. This helps you avoid or better manage problems like not meeting stakeholder expectations, running over budget, missing deadlines or not delivering that feature someone wanted in the way they wanted it.
Definition is the cheapest place to make mistakes and expend effort. As software gets built and development continues, changes become more and more costly. For example, it is almost 10 times more costly to make a change once something is in development than it is in Definition.
Source: Measuring the Impact of Changing Requirements on Software Project Cost: An Empirical Investigation
Key Concepts
The Key Concepts that are useful for Definition are:
- Double Diamond – for context on where Definition fits.
- User Story Mapping – a methodology for breaking down and visualise requirements.
- Jobs-to-be-Done – a framework for framing Problem Statement(s).
- Product Roadmap frameworks – frameworks for defining your product roadmap
- UML (Universal Modelling Language) – a method that is intended to provide a standard way to visualise the design of a system and the business processes around it.
There are also a number of concepts that will help in the technical design of a solution but are not covered because they are beyond the scope of this Playbook.
Key Inputs
The Key Inputs to a Definition are:
- Business Case – the financial and non-financial justification for this initiative.
- Problem Statement(s) – the problems you want to solve for users, customers or the business. This could be in the form of Jobs-to-be-Done if you’re developing a product.
- Business Context – the aspects of the business that will drive the solution and its requirements, such as processes and regulations.
- Product Roadmap – a list of the features to build and their priority.
- Technology Environment – a description of the current technology environment, including existing architecture, data, systems, interfaces and patterns as well as any desired target state.
- User Personas – a description of who your users are and what they need.
- Concept Wireframes – low fidelity wireframes that visually convey what the solution is looking to achieve.
- Organisation Context – information about the organisation including practices, related programs, key stakeholders and the approach to governance.
Key Activities
The key activity streams are:
- Business Analysis
- Solution Design
- Delivery Management
- User Experience (UX) Design (optional)
Here is a visual overview of the work streams:
1. Business Analysis Steam
The purpose of the Business Analysis Stream is to understand the business and its requirements.
Typically this includes these activities:
- Understand Business Processes
- Understand User Requirements
- Understand Regulation
- Understand Non-Functional Requirements
2. Solution Design Stream
The purpose of the Solution Design Stream is to understand the technology environment and design a solution that will meet the requirements of the business.
Typically this includes these activities:
- Review the Business Analysis
- Design the Technical Solution
- Identify and Resolve Key Technical Issues
- Collaborate on Delivery Strategy
3. Delivery Management Stream
The purpose of the Delivery Management Stream is to manage the Definition activities so that they are conducted successfully while also planning how the solution can be delivered to meet the requirements of the business.
Typically this includes these activities:
- Manage Definition
- Engage with Stakeholders
- Identify Risks
- Finalise Requirements
- Plan Delivery
4. User Experience Design Stream
The purpose of the User Experience Design Stream is to design the visual aspects of the solution. In its simplest form this is just about making the user interface look nice, in its more advanced form this is about co-designing the solution with heavy involvement from users. This stream can also be skipped, especially when developing systems that are more about process automation or APIs.
The simple approach to User Experience Design typically includes these activities:
- Review the Business Analysis
- Create Detailed Wireframes
- Design the User Interface
The more advanced form of User Experience Design typically adds these activities:
- Solution-focused User Research
- Validate Wireframes With Users
- Validate UI Designs With Users
- Develop Clickable Prototype(s)
- Validate Clickable Prototype(s)
Outputs
In general the core outputs you can expect from Definition are:
- User Stories
- Requirements Model
- Solution Architecture
- Wireframes
- Delivery Plan
Then, depending on how you conduct Definition, you may also get:
- Technology Issues Register
- Risk Register
- Business Process Map
- UI Design(s)
- Clickable Prototype(s)
- System Interface Definitions (API Definitions)
Read on:
Rebecca Monfries
Head of Delivery
Rebecca Monfries is Head of Delivery at Terem. She has over a decade of experience delivering a variety of commercial platforms, from the mobile applications for ASX 100 companies through to new products for innovative Australian firms.
LinkedIn: linkedin.com/in/rebeccamonfries
Nathan Bruce
Lead Business Analyst
Nathan Bruce is a Lead Business Analyst at Terem. He has more than 10 years of experience in API Platform integration for a large government agency and software companies, with a strong focus on Agile, technology and integration.
LinkedIn: linkedin.com/in/nathanbruce