TMA
Software Development Process
TMA Engineering Process History
• Based on industry practices and standards (CMMI, Agile, RUP,
ISO9001, ISO27001, TL9000)
• Meeting stringent requirements from leading companies
ADOPTED
ADOPTED RUP TL9000 ISO/IEC 27001:2005 ISO 9001:2015
AGILE
2004 2006 2011 2015
2000 2005 2009 2013 2020
ISO 9001:2000 CMMI LEVEL 3 CMMI LEVEL 5 ISO/IEC 27001:2013
2
Software Outsourcing Life-Cycle at TMA
Outsource
Customer needs /
End Users
Technical Solutions
Business Analysis
Design
Implementation Industries
Telecom
Testing Solution Provider E-commerce
Deployment Finance
TMA’s customers
Healthcare
Factory
Deliver Education
Software Product’s Features … 3
Project Organizational Chart
Vietnam
Director
Program Manager BA Team
BA Prime
Project Manager
TA Team QA Team
TA Prime QA Prime
Dev Team – A Dev Team – B QC Team
Team Leader Team Leader QC Prime
Technical Prime Technical Prime Tester 1
Developer 1 Developer 1 Tester …
Developer … Developer …
4
TMA Engineering Process – Main Workflow
End-User Needs
End-Users
Customer: BA
Gather & Clarify Receive & Clarify
TMA: BA
Demo or Release build
User-Needs Customer Requirements
Manage Plan TMA: PM, TL
Requirement Changes Build Schedule
TMA: PM, BA Impact to schedules?
Yes No
Implement a Build
Implement Verify & Validate Deliver
TMA: Dev Team
Build Build Build
5
TMA Engineering Process – Best Practices
Customer
requirements
Develop an Overall Model
Develop a Sub-Model #k
Chief Developer
Develop a Sub-Model #k+1
Technical Prime,
Business Analyst
Figure 1 Example of an object model. This figure displays part of the problem
domain for Feature Driven Development for a Sales Order System.
Chief Developer
PM / TL FEATURES LIST / BUILD SCHEDULE
Iteration No. Iteration #1 …
Implement a Build
• DEV Lead
Build No. Build 1.1 Build 1.2 … • Chief Developer
Feature A DEV Team • Team members
Task #A.1 Implement Test & Integrate
Task #A.2
Feature B
Task #B.1 A Build Package Final Product 6
Common
Mistakes
7
TMA Agile Process
8
TMA
Agile
process
(1/2)
9
TMA
Agile
process
(2/2)
10
Release
Planning
11
Overall Work Products
Epic – Feature – Story – Task Relationship
User Story
Format: As a < type of user >,
Epic Why? Defines the business needs I want < some goal >
so that < some reason >
Feature Description: supporting info and more details
about the requirements of the user story
What? Defines the customer needs
Acceptance Criteria: how to demonstrate the
Story Story
user story is completed correctly
Estimate: estimated size of the user story
Task Task Task Task How? Defines the solution Priority: to be ranked among the other user
stories
RELEASE PLAN (Sprint 2 weeks) Product Backlog can be any work item:
Epics / Features
Release No. Release 1 Release 2 … Release X
User stories
Week No. 1 2 3 4 5 6 7 8 9 10 ... … n-2 n-1 n n+1 Tasks
Sprint No. Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 … Sprint k-1 Sprint k Bugs
Sprint Goal … … … … … … … … Improvements
Sprint Backlog is a list of the product backlog
items pulled into a sprint and an associated plan
for how to achieve them.
12
Quality Assurance Criteria
SPRINT – Development Timeline (2 weeks)
Sprint i-1 Sprint i Sprint i+1
Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We
Daily Scrum Meeting Daily Scrum Meeting
Daily Build Test Daily Build Test
Sprint Backlog is ready
Plan… Coding / Unit Test Coding / Unit Test
Interim Build QC Test Delivered Build QC Test
Plan for next Sprint
100% Completed Code Review Delivery
100% Completed Unit Test Sprint Review &
Retrospective
DEV Cut-Off
RELEASE – Development Timeline
TMA Customer
Development QC SIT Release Date UAT
Day 1 K-10 K-5 (K) K+2
Timeline Production
13
Requirements Change Management
1) The first question DEV Team poses to the Customer is "Can it wait until the next Iteration?"
2) If Customer responds with "Yes, it can wait", there are no issues at all
3) If Customer says "NO, it can't until the next Iteration " the DEV Team may ask another tough question –
"If this change is important, what would you like to take any work items out from the Iteration scope? "
a) If the Customer is not willing to take anything out,
the DEV Team need to discuss each of the
requirements which is added to the stack so that
the DEV Team can plan how it will proceed during
the iteration. This may lead to a conflict situation
that will possibly escalate.
b) If the Customer is more compromising and is
willing to move an item out of Iteration scope,
the DEV Team need to discuss each of the
requirements which is pulled off the stack so that
the DEV Team can plan how it will proceed during
the Iteration.
Disciplined requirements change management process 14
TMA Agile best practices
Early and continuously deliver Delivering unit tests together
with the code
Short time-box sprint, done each user story,
deliver working software Code review, TDD, Unit test coverage match
quality objectives
Shorten feedback loop Divide to many small teams
Wire-frames, prototypes, daily stand-up Each team has specific skill set and focus on
meeting, sprint review, retrospective specific release targets
Continuous integration Clear exit criteria
Auto build and test for any code change, Approved and committed
readiness of potential deliverables Face-to-face conversation
Onsite, phone or instant messaging
for offshore members 15
Sample communication model
Meetings Participants Purposes Duration Frequency Location/Tool
Checking status to see if any Face to face in
Every morning
Daily standup Project team members impediment prevent team to meet 15 minutes working room,
working day
Sprint Goal Skype for Business
Sprints Development Team, Offshore team gather in meeting
Select work in product backlog and Beginning of each
planning Scrum Master, Product 4-8 hours room and use Skype to
plan for a sprint sprint
meeting Owner communicate with onshore team
Review and demo completed work
Sprint review Project team members 4 hours Feature completed Skype for Business
and plan for incomplete work
Make continuous process
Face to face in
Sprint improvements
Project team members 2 hours End of each sprint working room,
Retrospective Combine all improvements items
Skype for Business
from all sprint teams to broadcast
BA, Scrum master and 1 hour normally,
Requirements
related developers, Clarify requirements depending on Ad hoc Skype for Business
clarification
testers complexity
Review quality achievements
TMA Account Director,
(based on quality, productivity
Quarterly high TMA Director, Senior
standard), discuss issue/risk and 2 hours Quarterly Skype for Business
management Managers and CTO,
preventive actions, review
Managers 16
resources plan
Q&A
17