Align and Understand

In order to design, build, and evolve software systems most effectively, our decisions need to create the optimal business impact, which can only be achieved if we are aligned to the business goals, as well as supporting the users current and potential future needs.

<size:24>Component View: Software Development Model for Product feature delivery - Align and Understand Product Requirements</size> Component View: Software Development Model for Product feature delivery - Align and Understand Product Requirements Software Development Model for Product feature delivery[system] Align and Understand Product Requirements[container] Software Architectureand Domain-DrivenDesign[DDD] Explore models in a creativecollaboration of domainexperts and softwareengineers Behavior-DrivenDevelopment[BDD] Define and understand thedesired system behaviorbefore writting any code. Itencourages collaborationand a shared understandingof the project's objectives Product Brief[Opportunity Canvas, Slideck,etc] Short product or featurebrief to frame and constrainthe project Domain Discovery[User Story Map, EventStorming, etc] Map the Big Picture bydescribing the User journeythrough the Product tellinga story from the perspectiveof the end user Product Backlog[Jira, Trello, etc] Prioritised list of UserStories that need to becompleted or addressedduring the project Domain Expert Product Team member whoowns and drives theproduct vision Software Engineer Development Teammember deliveringhigh-quality softwareefficiently and iteratively presents ProductFeature obtains domainknowledge spread domainknowledge creates collaborativerequirementspecification problemdecomposition
AlignAndUnderstand

Product Brief

Short product or feature brief to frame and constrain the project:

  • Identifies key capabilities and high level goals and objectives of the project.
  • Names the different types of users who will use the product.
  • Describes the benefits the organization will gain by building the product.

Domain Discovery

Spreading domain knowledge through the whole team to create a shared understanding of the system to build. It enables the developers to build a software system aligned to the domain which can be more flexible to incorporate future business changes.

Map the Big Picture by describing the User journey through the Product telling a story from the perspective of the end user.

Focus on getting the whole story. Identify high-level user activities - groups of user tasks that work together to support a common goal.

Product Backlog

The product backlog is a prioritized list of user stories that need to be completed to deliver a product or feature.

They typically follow the template: As a user type/role, I want a capability so that benefit or goal.

User stories are not detailed specifications, but rather a placeholder for conversations about the Product to build. They tell stories about What a software system does without revealing details on How it does it.