Beruflich Dokumente
Kultur Dokumente
01/09/2016
Arivarasan I
Assurance
Chennai
arivarasan.i@tcs.com
Confidentiality Statement
Include the confidentiality statement within the box provided. This has to be legally
approved
Confidentiality and Non-Disclosure Notice
The information contained in this document is confidential and proprietary to TATA
Consultancy Services. This information may not be disclosed, duplicated or used for
any other purposes. The information contained in this document may not be
released in whole or in part outside TCS for any purpose without the express written
permission of TATA Consultancy Services.
2
About this Manual:
Purpose:
The objective of this manual is to describe how agile methods can be applied in multi-site software
development projects of any scale.
This manual aims at describing the end-to-end software development process in a hands-on fashion, addressing
issues like responsibilities, interfaces between process steps and criteria for scaling the project setup.
Agile Software Development is a behavioural shift and can work well in the context of any operating and
delivery model.
There are several basic practices to adhere to, while embarking on Agile Software Development. Yet, within a
couple of iterations, agile practitioners should capture the spirit of these practices and continuously adapt them
to their context.
Intended Audience:
This manual is for use by all development projects being executed in or intending to execute in agile framework.
In addition, it can be referred to by projects, of any type and methodology, which intend to adopt practices of
agile framework.
The manual is also for use by support groups like Delivery Assurance to understand the areas of interface of
their groups with the project activities.
Overview:
Section 1 defines software process and related concepts such as architected process, operational process and
process structure as an Entry-Task-Verification & Validation-Exit (ETVX) model.
Section 2, the Phase Guide, describes the phases in an agile development project in terms of the Entry-Task-
Verification & Validation-Exit model. It also lists the common entry criteria and common activities applicable
across all phases.
Section 3, the Practice Guide, details the various agile practices. The nature of a project can vary depending on
the project type, processes included, people involved, scope and time for the project. The various practices
elaborated in the Practice Guide are set as guidance for the project. The Practice Guide outlines the significant
values, characteristics and success factors of various agile and lean practices and provides guidance to agile
(and other) teams in selecting practices that add value in the context of their projects, programs or portfolio As
with everything else in an agile project, the teams have to continuously Inspect and Adapt the practices used
3
and how they are operationalized in the project. While doing so, the team must keep in mind the relevance and
value with respect to the change.
The general benefits of agile models are team and business centric. Hence it is more dependent on client and
TCS ecosystem and less specific to project types. However it has proven more useful and successful for full-cycle
large ADM projects and programs, large enhancement projects on BIPM, smaller ADM projects when applied
for transformed customers.
The practices described in this manual and the importance of usage of these practices varies based on various
factors. The following factors should be considered in determining the practices for the project / program:
The users of this document should use their judgment to select activities relevant to the scenario in which they
are functioning and use this document effectively.
4
LIST OF FIGURES
5
CONTENTS
1.4.1 Phases......9
6
SECTION 3PRACTICE GUIDE
4.2.2 Taskboard..24
7
1 AGILE PROCESS FRAMEWORK:
The Agile process can be divided into set of project or program specific processes.
The Process frame work explained here is Scrum. It consists of Scrum Teams and their
associated roles, events, artifacts, and rules.
Each component within the framework serves a specific purpose and isessential to
8
Figure 1
Scrums success and usage.
1.4.1 Phases
The Five major phases of agile model are;
o Project Initiation- This is agile's version of a high-level business requirement.
Basically, a Product Owner conducts interviews with stakeholders about their
goals for the product.
o Iteration planning- This is important before every iteration /Sprint begins
while Product Owner is involved in scope discussions, the Scrum Master (PM)
and QA work directly with Dev to ensure that scope and acceptance levels are
understood from the onset.
o Iteration progress- The Iteration or sprint has a definition of what is to be
built, a design and flexible plan that will guide building it, the work, and the
resultant product.
o Iteration Retrospective- The purpose of the retrospective is to inspect,
identify and improve the items that does not gone well in the iteration
9
o Demo- Demo is where the tech team determines if the delivered product meets
expectations. This is where the working piece of software will be showcased to
the business team
10
o Quality Assurance Team- involves in verifying and validating the
integrity of the releasable increment that has been developed by the
development team.
o Business Analyst- interprets the business requirement given by the
product owner and translates to the development and QA team in a
technical format.
o Scrum Master- is the leader for the Scrum Team who helps those outside
the Scrum Team understand which of their interactions with the Scrum
Team are helpful and to maximize the value created by the Scrum Team.
The artifacts that are generated during the course of the project are considered
as work items. There are two types of work items: Product work Items and
Process work items
The Product work items are the artifacts that are used in the operation process
of the agile model. Some of them are,
o Product Vision-a Vision Document describes ideas or values or future
state for a particular organization, product or service.
o Product backlog-a document that describes the upcoming work on the
product.
o Sprint/Iteration backlog-Describes what functionality will be in the
next Increment and the work needed to deliver that functionality into a
Done Increment.
o Developed code or source code- an abstraction, but a detailed one
which convey instructions in a persistent manner with the comments
describing the instructions to the computer system
The Process work items are the artifacts that are generated with result obtained
during the course of the sprint/iteration. Some of them are,
11
o Design review documents-The design ideas and information about the
development of the code which will assist the peer review to verify our
software design and source code.
o Daily status reports-The information about the iteration progress will be
sent by QA with the status of each and every user story that was
committed to deliver in the current sprint/iteration.
o Burn down charts-It is a graphical representation of workflow left to do
in that iteration. It will be compared with the actual work done till date
and useful for predicting when work will get completed.
o Requirements Traceability Matrix (RTM):Requirements should be
mapped to appropriate Management Release and Cycle. They must be
imported into ALM using Rally Connector Tool.
o Test Summary Report:Tests that has been carried out during the entire
release cycle with defects, test runs, requirements collectively included
and generated as a Summary report from ALM.
2. PHASE GUIDE
12
The User stories are very important while scheduling and estimation during
planning phase of an iteration.
A user story have three important sections.
o Description of the story
o Acceptance criteria
o Benefit of the story
13
2.1.5 Sprint Backlog
The Sprint Backlog is the set of Product Backlog items selected for the Sprint,
plus a plan for delivering the product Increment and realizing the Sprint Goal.
The Sprint Backlog makes visible all of the work that the Development Team
identifies as necessary to meet the Sprint Goal.
The Sprint Backlog is a plan with enough detail that changes in progress can be
understood in the Daily Scrum/Stand-up meeting.
2.1.6 Sprint
The heart of Scrum is a Sprint, a time-box of one month or less during which a
useable, and potentially releasable product Increment is created.
Sprints best have consistent durations throughout a development effort.
A new Sprint starts immediately after the conclusion of the previous Sprint.
14
During the Sprint Review, the Scrum Team and stakeholders collaborate about
what was done in the Sprint.
If any changes needs in the Product Backlog during the Sprint, attendees
collaborate on the next things that could be done to optimize value.
15
Ensure all the hardware and software resources are ready to complete the sprint
goal.
As the Development Team works, it keeps the Sprint Goal in mind. In order to
satisfy the Sprint Goal, it implements the functionality and technology.
If the work turns out to be different than the Development Team expected, they
collaborate with the Product Owner to negotiate the scope of Sprint Backlog
within the Sprint.
Daily Scrum is a stand-up meeting conducted for every 24 hours to monitor and
discuss about the progress of the current sprint.
As the team is a cross functional one, the developers will propose their design to
the team, which will be validated among the architect and project management.
The Quality Assurance (QA) team will do their analysis, design their test cases
and review it with the business analyst to verify the integrity of the test
scenarios.
Once the Development team completed their code, it will be unit tested and sent
to QA check.
QA team will do their verification and checks on the code against the acceptance
criteria in the user story.
If the code passes the checks, then they will certify the story as working and send
it to the User Acceptance Testing (UAT).
At the end of the sprint, Sprint Review is held to inspect the Increment and adapt
the Product Backlog if needed.
Ensure Requirements are mapped to appropriate Management Release and Cycle
and generate Requirement Traceability Matrix (RTM) and Test Summary Report
(TSR).
In Sprint retrospective, the Scrum Team have identified improvements that it
will implement in the next Sprint.
16
The Increment product developed during the sprint will be regression tested in
an environment which resembles the production.
After the regression, if the increment works well without introducing any defect
in the existing system, then it will be released to the production environment.
17
3 PRACTICE GUIDE
3.1 Release Planning
The purpose of release planning is to commit to a plan for delivering
an increment of product value.
Before getting started, release planning needs:
o A ranked product backlog managed by the product owner
o Input from the team about overall capabilities, known velocity,
and technical impacts
o High-level vision, market, and business objectives
o An acknowledgment of whether new product backlog items may
be needed.
18
After the Development Team forecasts the Product Backlog items it will
deliver in the Sprint, the Scrum Team crafts a Sprint Goal.
19
3.6 Release Retrospective
A release retrospective is an opportunity to inspect and adapt the
release cycle rather than the sprint cycle. Of course, the inspection
points would vary when it comes to the release.
The basic idea of doing a release retrospective is to review and evaluate
an entire release.
This meeting would be held at the end of the release and usually before
starting the next release cycle.
3.7 Management Retrospective
During this meeting, the team reflects on what happened in the iteration
and identifies actions for improvement going forward.
This meeting will be held at the end of the each sprint.
The things that are not went well will be given priority and discussed to
improve in the next sprint.
4 ARTIFACTS GUIDE
4.1 Planning Artifacts
4.1.1 Product Backlog
As a product is used and gains value, and the marketplace provides
feedback, the Product Backlog is a larger and more exhaustive list of
user requirements ordered in a prioritized manner.
It will be constantly updated or changed whenever a requirement is
updated.
Not only changesin businessrequirements, also when marketconditions,
or technology change maycausechangesin the ProductBacklog.
TheProduct Backlog listsall
requirements,enhancements,features,functions and fixesthat constitute
thechanges tobemadeto theproductin futurereleases.
20
The Product Owner is responsible for the Product Backlog, including its
content, availability, and ordering.
22
4.2 Adapting Artifacts
4.2.1 Burn down Charts
The burn down is a chart that shows how quickly you and your team are
burning through your customer's user stories.
It shows the total effort against the amount of work we deliver each
iteration
We can see the total effort on the left, our team velocity on the right. But
look what else this simple graphs gives us.
o Work done each iteration
o Work remaining
o Work done so far
o When we can expect to be done
Figure 2
23
4.2.2 Task Board
Task board is a dashboard of a sprint. Team members update the task
board continuously throughout the sprint.
Each product backlog item is turned into multiple sprint backlog items.
Each of these is represented by one task card that is placed on the Scrum
Task board.
Each task card starts on the Scrum task board in the To Do column.
The columns we generally use on a task board are:
o Story
o To Do
o Work In Progress
o To verify
o Done
4.2.3 Status reports
To: The To list should have the Distribution list for your team plus
Project Manager, Product Owners etc.
Cc: The QA Team (all QA testers working in your iteration team, QA
leads, QA Manager (in CC) in the status email.
Since there are multiple projects within same Iteration team, the
project name should be added after the team name in daily status
reports.
Test Execution Status should be changed from Not Started to Code
Not Ready to Test in the daily status report. Not started prompts a
question in readers mind why its not started?
Is the code not ready/deployed to test or Testers/Environments are not
available to test. Calling it out as Code Not Ready to Test will make it
clear
24
Thank You
25