Component Design Framework
title | 3. Product Model |
---|
This model looks at the logical breakdown of the capabilities of a software product. Each of these capability areas may contain many functions. When you complete the exercise to itemize your product’s capabilities, it will give you a viewpoint to see whether your product is focused on one “Core” capability, or whether it is a platform for performing many core capabilities. If you have a product that is a platform, you may consider reviewing the architecture for opportunities to leverage common components.
Capabilities
Enablement Type(s)
Service Delivery Step(s)
Expand | ||
---|---|---|
| ||
Form Builder Tool Form Versioning Form Publishing Form Submission Lists and Details Form Settings Management Form Permissions and Security Submission Status Data Export and API Access Event Triggered Service Extensions |
Foundational, Enabler
Submission
Payment and Reconciliation
Login, Identity and Digital Trust
Template and File Mgmt
Subscription/Notification
Additive
Discovery
Workflow and Event Streaming
Multiplicative
Processing
API Access Management
Visualization Dashboards
Password Management & Automation
Registry Aggregation (Backstage)
Prototyping Kits
DevOps and Hosting
Agile Approaches
Where does the need for common Services exist?
Capability Categorization Models
When thinking about what the list of all common components are, it might be helpful to consider that there are multiple ways to group things to create this list.
User Focused
Expand | ||
---|---|---|
| ||
This model looks at the journey of a user: A. discovering a service is available, Discovery
Submission
Processing (Operation)
|
Ecosystem Architecture and Scaling
Expand | ||
---|---|---|
| ||
FoundationalWhen you start your project focused on the foundational capabilities it will ensure there is demand and that you are solving problems for users.
EnablerFactor out the enabler capabilities as new common components.
AdditiveLooking at the user journey where there are system handoffs work to add connections to solutions for the next chunk of work in the user journey.
MultiplicativeAs it will not be possible to scale with just additive approaches, we will need to implement event triggered messaging and subscription services that can enable many systems to connect with each other without those services being tightly coupled.
|