P K Mallik
Architecture, Design, Value Delivery and Grooming
Agile Architecture and Design
P K Mallik
Source : Agile Modelling in Software Engineering by Audrey Nemeth and Vladimir Borisov
Feature Driven Development
RFI/RFP/
Proposal
Business
Case
Change Requests
Other Costs Refresh
Change Requests
Defects
P K Mallik
Agile Requirements/Features Mapping
Features
User Story – Checkout
Check Out items
Pay by Credit Card
Send Email Confirmation
As a user I should be able to pay
for purchased items so that I can
place the order
Notes:
• Payment by multiple credit cards
• Email to be sent with purchase
details
Acceptance Criteria:
• Purchase to be retained even when
cancelled
Cancelled purchases to be
recorded
Order Fulfilment
Epic – Fulfilment
On successful purchase
goods purchased will be
dispatched within 48
hours
Theme – Security
Password policy and
role based access control
as well as maker-
checker must be
supported
System must adhere to
companies security
policies
P K Mallik
Features User Story Security Performance Usability Others
RBAC Data Filter Capacity Latency UI Preferences Menu
Feature 1 User Story 1 X X X X X X
User Story 2 X
User Story 3 X X X X X
Feature 2 User Story 4 X X
Feature 3 User Story 5 X X X
User Story 6 X X X
User Story 7 X X X X
Feature 4 User Story 8 X X
User Story 9 X X X
User Story 10 X X X X
Feature 5 User Story 11
User Story 12 X X X X
Implementation approach Template Component Service Optimise Db Template Template Template
Implemented by Story Story Story Activity Story Story Story
Agile Mapping
P K Mallik
Managing Features and Themes
• Each Feature can map to more than one user story, however each user
story can map to only one feature (If this is not the case there is
something wrong in your definitions)
• Themes that are implemented as user stories will be scheduled
independently
– To minimize impact of stories already delivered
• Define placeholders in templates which will implement the theme
• OR Create stubs which are called by components of affected user stories
• DO NOT design assuming that thee components will be revisited when the theme is
implemented
• Test plan for Theme will need to verify implementation across all impacted user stories that
have been developed
– To ensure implementation in stories which will be delivered
• Verify that theme is implemented in template
• OR inspect code of component to ensure theme implementation
• Test plan to include verification for theme implementation
• Themes that are implemented as activities should be scheduled as part of
the activities for the foundation and hardening sprint
P K Mallik
Agile Framework
Pre-sales
Epics
Effort Estimate Contract
Estimates
Sizing
RFP Scope
Story Points
Milestone Dates
Delivery – Foundation
Architecture
Requirement Foundation
Management Foundation
Solution Foundation
ReleasePlan
Delivery – Development and Testing
DetailedDesign/FnSpec
Delivery – Acceptance
UAT
Iteration Plan Coding and UT
Module Integration Testing
Task Assignment
HLD
Templates
Standards
Common Components
Entities Attributes and Relations
Code
Configuration
NFR Testing
Walkthrough
Production
Feature Sizing
Acceptance Test Plan
P K Mallik
Functional
Non-Functional
Evolutionary Design
Pre Sales
(Contract)
Application Architecture
Features Themes Story/Function Points
Non Functional Requirements
Functionality
Concepts, Standards
and Templates
Estimate, Staffing
Principles, Components
and Interfaces
Velocity,
Productivity, Buffers,
Activities
Foundation
(Plan)
High Level Design
Epics Themes
Project
Backlog
Story Points
Sprint
(Actual)
Low Level Design
User StoriesBacklog
Story Points
Tasks
Estimate, Staffing
Velocity,
Activities
Actual
Dis
Assembly
Estimate
Velocity
Assign
P K Mallik
Application Architecture
Data Layer
Business Layer
ERP
CRM Workflow
External Interfaces
BPM Web
Services
User Interface Layer
Cloud
Mobile Tablet Web
Db Server OLAP Db
Content
Server
P K Mallik
Agile Architecture
Data Layer
Business Layer
Db Server OLAP Db
Content
Server
User Interface Layer
Usability Themes
User Story 1 User Story 2
Maintainability Themes
Performance Themes
Task1Task2
Task1Task2Task3
Security ThemesEpic
User Story 3
Availability
Themes
QueryMemory/CPURendering
AuthenticationAccessControlDataFilter
P K Mallik
High Level Design
High Level Requirement
User
Story
Architecture
High Level Design
Conversation
Entities
• Keys
• Attributes
• Relations
• CRUD
Forms
• Short Description
• Key Fields
• Special
Navigation
• Business Rules
Reports
• Short Description
• Reporting Logic
• Key Fields
• Important
Formulae
Components
• Short Description
• Important
Methods and
Attributes
• Business Rules
• Threading,
Static, Async
Templates
• Short Description
• Business Rules
• Themes
• Public Methods
and Attributes
• Virtual Methods
and Attributes
Themes
Constraints
Acceptance
Criteria
Use CaseFDD RDD
Notes
Validate
P K Mallik
High Level Design – Checkout
Form Template
Check Out Form
• Items Grid View
• Prices and Taxes
• Credit Card Fields
• Payment Button
Confirmation Form
• Items Grid View
• Receipt Fields
• Print and Save
Component Template
Invoicing
• Generate Invoice()
• Calculate Charges()
Interface Template
Payment Gateway
• Payment Request ()
• On Success Save()
• On Failure Cache()
Report Template
Invoice Print
• Amount to Words()
• Print()
• Save As PDF()
Database
Invoice header
• Date, Number,
Client
• Invoice Detail
• Charges
• Items
Client
• Points Balance
P K Mallik
Low Level Design
High Level Design
Entities
• Keys
• Attributes
• Relations
• CRUD
Forms
• Short Description
• Key Fields
• Special
Navigation
• Business Rules
Reports
• Short Description
• Reporting Logic
• Key Fields
• Important
Computations
Components
• Short Description
• Important
Methods and
Attributes
• Business Rules
• Threading,
Static, Async
Templates
• Short Description
• Business Rules
• Themes
• Public Methods
and Attributes
• Virtual Methods
and Attributes
Low Level Design
Entities
• Foreign Keys
• Column Type and
Length
• Constraints
• Triggers
Forms
• Wireframe
• Navigation
• Field level
validations
• Messaging
• Form Actions
Reports
• Parameters
• Data query
logic
• Layout
• Summaries
• Drill downs
Components
• Public
attributes
• Events
• Methods
• Service
Management
Templates
• Methods
• Attributes
• Facades
• Overwritten
attributes and
methods
• Test scenarios
P K Mallik
Example – Shopping Cart
Epic – Registered user searches for products for Purchase
User Stories
Search Select CheckoutLogin
High Level Design
Search Form
• Free Text Search
• Product Name,
Category, Size, Colour
and brand
Query Generator
• Create Query
based on selected
parameters
• Fetch Data
Saved Searches
• Parameter
• Value
Low Level Design
Wireframe Field Validations Query Generator
Interface
Save Searches
Retrieve
Searches
Pre Sales
Release Planning
Release
Foundation
Sprint
P K Mallik
Agile Techniques
P K Mallik
Agile Delivery Model
Business Case
Application
Release
Sprint
Factory Acceptance
User Acceptance
System Integration
Deployment
ValueRealisation
Functional
Tactical
Strategic
Business
P K Mallik
Agile Coverage
Level 0 – Start up Level 1 – Basic
Level 2 – Advanced Level 3 – Enterprise
BusinessFunctionalTacticalStrategic
BusinessValue
P K Mallik
Offshore
Onsite
Onsite
Project Life Cycle
Scope (Epics/Themes)
Solution Architecture
Release Plan
Iteration Plan
Low Level Design
Code
Unit Testing
Module Integration Testing
NFR Testing
Acceptance Test Plan
Factory Acceptance Testing
System integration Testing
User Stories
Release Backlog
Requirements Overview
Sizing and Effort
Release
Iteration
Application/Product
Standards and Templates
Prototypes
Key Component
Configuration
NFR TestingUAT
UAT
SA
Product Owner
Developer
Tester
Project Manager
TA
BA
Enterprise Architecture
High Level Requirements
Detailed Requirements
Governance Model
HLD
P K Mallik
Roles and Responsibilities
Pre-sales
Foundation
Delivery
Solution Architect Technical Architect
Define Scope
Identify Technologies
Define Architecture
Estimate costs and Schedule
Prototyping
Select Technologies
Identify Interfaces
Define implementation strategy
Define NFR Approach
POC’s for NFR’s
High Level Design
Define Templates
Identify Key Components
Assist in Test Plan, Project Plan,
Estimation
Product Configuration
Tool Setup
Standards and Templates
Assist in Design, NFR Test Planning,
Estimation
Grooming
Capability Building
Troubleshooting
Change Controls
Grooming
Capability Building
Troubleshooting
Complex Component
Development
P K Mallik
Thank You

Agile Architecture and Design

  • 1.
    P K Mallik Architecture,Design, Value Delivery and Grooming Agile Architecture and Design
  • 2.
    P K Mallik Source: Agile Modelling in Software Engineering by Audrey Nemeth and Vladimir Borisov Feature Driven Development RFI/RFP/ Proposal Business Case Change Requests Other Costs Refresh Change Requests Defects
  • 3.
    P K Mallik AgileRequirements/Features Mapping Features User Story – Checkout Check Out items Pay by Credit Card Send Email Confirmation As a user I should be able to pay for purchased items so that I can place the order Notes: • Payment by multiple credit cards • Email to be sent with purchase details Acceptance Criteria: • Purchase to be retained even when cancelled Cancelled purchases to be recorded Order Fulfilment Epic – Fulfilment On successful purchase goods purchased will be dispatched within 48 hours Theme – Security Password policy and role based access control as well as maker- checker must be supported System must adhere to companies security policies
  • 4.
    P K Mallik FeaturesUser Story Security Performance Usability Others RBAC Data Filter Capacity Latency UI Preferences Menu Feature 1 User Story 1 X X X X X X User Story 2 X User Story 3 X X X X X Feature 2 User Story 4 X X Feature 3 User Story 5 X X X User Story 6 X X X User Story 7 X X X X Feature 4 User Story 8 X X User Story 9 X X X User Story 10 X X X X Feature 5 User Story 11 User Story 12 X X X X Implementation approach Template Component Service Optimise Db Template Template Template Implemented by Story Story Story Activity Story Story Story Agile Mapping
  • 5.
    P K Mallik ManagingFeatures and Themes • Each Feature can map to more than one user story, however each user story can map to only one feature (If this is not the case there is something wrong in your definitions) • Themes that are implemented as user stories will be scheduled independently – To minimize impact of stories already delivered • Define placeholders in templates which will implement the theme • OR Create stubs which are called by components of affected user stories • DO NOT design assuming that thee components will be revisited when the theme is implemented • Test plan for Theme will need to verify implementation across all impacted user stories that have been developed – To ensure implementation in stories which will be delivered • Verify that theme is implemented in template • OR inspect code of component to ensure theme implementation • Test plan to include verification for theme implementation • Themes that are implemented as activities should be scheduled as part of the activities for the foundation and hardening sprint
  • 6.
    P K Mallik AgileFramework Pre-sales Epics Effort Estimate Contract Estimates Sizing RFP Scope Story Points Milestone Dates Delivery – Foundation Architecture Requirement Foundation Management Foundation Solution Foundation ReleasePlan Delivery – Development and Testing DetailedDesign/FnSpec Delivery – Acceptance UAT Iteration Plan Coding and UT Module Integration Testing Task Assignment HLD Templates Standards Common Components Entities Attributes and Relations Code Configuration NFR Testing Walkthrough Production Feature Sizing Acceptance Test Plan
  • 7.
    P K Mallik Functional Non-Functional EvolutionaryDesign Pre Sales (Contract) Application Architecture Features Themes Story/Function Points Non Functional Requirements Functionality Concepts, Standards and Templates Estimate, Staffing Principles, Components and Interfaces Velocity, Productivity, Buffers, Activities Foundation (Plan) High Level Design Epics Themes Project Backlog Story Points Sprint (Actual) Low Level Design User StoriesBacklog Story Points Tasks Estimate, Staffing Velocity, Activities Actual Dis Assembly Estimate Velocity Assign
  • 8.
    P K Mallik ApplicationArchitecture Data Layer Business Layer ERP CRM Workflow External Interfaces BPM Web Services User Interface Layer Cloud Mobile Tablet Web Db Server OLAP Db Content Server
  • 9.
    P K Mallik AgileArchitecture Data Layer Business Layer Db Server OLAP Db Content Server User Interface Layer Usability Themes User Story 1 User Story 2 Maintainability Themes Performance Themes Task1Task2 Task1Task2Task3 Security ThemesEpic User Story 3 Availability Themes QueryMemory/CPURendering AuthenticationAccessControlDataFilter
  • 10.
    P K Mallik HighLevel Design High Level Requirement User Story Architecture High Level Design Conversation Entities • Keys • Attributes • Relations • CRUD Forms • Short Description • Key Fields • Special Navigation • Business Rules Reports • Short Description • Reporting Logic • Key Fields • Important Formulae Components • Short Description • Important Methods and Attributes • Business Rules • Threading, Static, Async Templates • Short Description • Business Rules • Themes • Public Methods and Attributes • Virtual Methods and Attributes Themes Constraints Acceptance Criteria Use CaseFDD RDD Notes Validate
  • 11.
    P K Mallik HighLevel Design – Checkout Form Template Check Out Form • Items Grid View • Prices and Taxes • Credit Card Fields • Payment Button Confirmation Form • Items Grid View • Receipt Fields • Print and Save Component Template Invoicing • Generate Invoice() • Calculate Charges() Interface Template Payment Gateway • Payment Request () • On Success Save() • On Failure Cache() Report Template Invoice Print • Amount to Words() • Print() • Save As PDF() Database Invoice header • Date, Number, Client • Invoice Detail • Charges • Items Client • Points Balance
  • 12.
    P K Mallik LowLevel Design High Level Design Entities • Keys • Attributes • Relations • CRUD Forms • Short Description • Key Fields • Special Navigation • Business Rules Reports • Short Description • Reporting Logic • Key Fields • Important Computations Components • Short Description • Important Methods and Attributes • Business Rules • Threading, Static, Async Templates • Short Description • Business Rules • Themes • Public Methods and Attributes • Virtual Methods and Attributes Low Level Design Entities • Foreign Keys • Column Type and Length • Constraints • Triggers Forms • Wireframe • Navigation • Field level validations • Messaging • Form Actions Reports • Parameters • Data query logic • Layout • Summaries • Drill downs Components • Public attributes • Events • Methods • Service Management Templates • Methods • Attributes • Facades • Overwritten attributes and methods • Test scenarios
  • 13.
    P K Mallik Example– Shopping Cart Epic – Registered user searches for products for Purchase User Stories Search Select CheckoutLogin High Level Design Search Form • Free Text Search • Product Name, Category, Size, Colour and brand Query Generator • Create Query based on selected parameters • Fetch Data Saved Searches • Parameter • Value Low Level Design Wireframe Field Validations Query Generator Interface Save Searches Retrieve Searches Pre Sales Release Planning Release Foundation Sprint
  • 14.
    P K Mallik AgileTechniques
  • 15.
    P K Mallik AgileDelivery Model Business Case Application Release Sprint Factory Acceptance User Acceptance System Integration Deployment ValueRealisation Functional Tactical Strategic Business
  • 16.
    P K Mallik AgileCoverage Level 0 – Start up Level 1 – Basic Level 2 – Advanced Level 3 – Enterprise BusinessFunctionalTacticalStrategic BusinessValue
  • 17.
    P K Mallik Offshore Onsite Onsite ProjectLife Cycle Scope (Epics/Themes) Solution Architecture Release Plan Iteration Plan Low Level Design Code Unit Testing Module Integration Testing NFR Testing Acceptance Test Plan Factory Acceptance Testing System integration Testing User Stories Release Backlog Requirements Overview Sizing and Effort Release Iteration Application/Product Standards and Templates Prototypes Key Component Configuration NFR TestingUAT UAT SA Product Owner Developer Tester Project Manager TA BA Enterprise Architecture High Level Requirements Detailed Requirements Governance Model HLD
  • 18.
    P K Mallik Rolesand Responsibilities Pre-sales Foundation Delivery Solution Architect Technical Architect Define Scope Identify Technologies Define Architecture Estimate costs and Schedule Prototyping Select Technologies Identify Interfaces Define implementation strategy Define NFR Approach POC’s for NFR’s High Level Design Define Templates Identify Key Components Assist in Test Plan, Project Plan, Estimation Product Configuration Tool Setup Standards and Templates Assist in Design, NFR Test Planning, Estimation Grooming Capability Building Troubleshooting Change Controls Grooming Capability Building Troubleshooting Complex Component Development
  • 19.