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
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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
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
15. P K Mallik
Agile Delivery Model
Business Case
Application
Release
Sprint
Factory Acceptance
User Acceptance
System Integration
Deployment
ValueRealisation
Functional
Tactical
Strategic
Business
16. P K Mallik
Agile Coverage
Level 0 – Start up Level 1 – Basic
Level 2 – Advanced Level 3 – Enterprise
BusinessFunctionalTacticalStrategic
BusinessValue
17. 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
18. 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