Agile Product Development - unders/mywiki GitHub Wiki

APD

Outside-in Design Domain Modeling Practices


  • Client & Company - (Outside) Real domain / value
  • Functional Areas - Strategic design (business alignment)
  • Service ecosystem
  • Service - Software implementation (delivery mechanisms, use cases, sub-domain models, infrastructure, etc)
  • Modules - (Inside) Abstract sub-domain model

Product box / Product backlog

Identify High Cohesive Functional Areas (birds-eye view) The Product box represent a vision for the product for the next 6 to 12 month.

Goal

Identify the most important features of the system and their respective functional areas.

Benefits

  • Organise the architecture according to functional areas.
  • Help temas and POs to map features to functional areas.
  • Create portfolio level backlog
  • Enable team organisation and planning.
  • Help with the prioritisation of features related to strategic areas.

Frequency

  • 1 session every 6 month.

Duration

  • 3 hours

People involved

  • Business and development team

Impact mapping

Funnel the vision down, image we only have 3 month what do we want to achive by the end of three month.

Find answer to the following questions:

  • What should we build in the next few months?
  • Which features would give us a higher impact?
  • How do we identify bounded contexts and high level architecture?
  • How do we show a plan of action to our stakeholders?
  • How do we reduce dependencies and plan for continuous delivery?

Structure

  1. Goal: What do we want to achieve for the next 3 month?
  2. Actor: Who are the actors (user, systems)? How can these actors contribute for us to achieve this goal?
  3. Impact (behaviour): What behaviour do we want these actors to have to achieve this goal?
  4. Deliverable: What features to we have to build to enable that behaviour
                    GOAL              Actor                Impact/Behaviour              Features
                    ----              -----                ----------------              --------- 
Functional Areas- {14 million users} - Fan                - listen to music (media)     - Music player
                                                                                       - Integrate with music sources
                                                                                      
                                                         - Signing up (user profile)   - Register
                                                                                       - Login

                                                         - Posting content (main feed) - Photo
                                                                                       - Video
                                                                                       - Text
                                                              
                                    - Artist             - Sharing exclusive content
                                                         - Rewarding fans
                                                         - Communicate with fans
                                    - 3rd party service


Functional Area
- Meda
- Profiles
- Main Feed
- Activity Feed
- Awards
- Comments
- Analytics
- Public API

Tools, Freeplane for mind mapping.

From the Product box one can drive the functional areas.


User Journey Mapping

The goal is to understand:

  • External world (user/system) interactions with our system(s)
  • Business Flows
  • Interactions between functional areas
  • Separation of concerns across functional areas
  • Define which functional areas should become services.

Functional Mapping


User interaction via Mockups


Outside-In TDD/Design


Resources