0% found this document useful (0 votes)
3 views16 pages

Module 3 Notes

The document outlines the process of transitioning to Agile methodologies, emphasizing the need for lightweight documentation and continuous collaboration. It contrasts traditional software development models, which rely on extensive documentation and formal approvals, with Agile's iterative approach that values customer feedback and working software. Key metrics for measuring progress and quality in Agile projects are also discussed, highlighting the importance of using metrics as guideposts for improvement rather than as tools for individual evaluation.

Uploaded by

jaga.konduru
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views16 pages

Module 3 Notes

The document outlines the process of transitioning to Agile methodologies, emphasizing the need for lightweight documentation and continuous collaboration. It contrasts traditional software development models, which rely on extensive documentation and formal approvals, with Agile's iterative approach that values customer feedback and working software. Key metrics for measuring progress and quality in Agile projects are also discussed, highlighting the importance of using metrics as guideposts for improvement rather than as tools for individual evaluation.

Uploaded by

jaga.konduru
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

MODULE-3

TRANSITIONING TYPICAL PROCESSES

Transitioning a typical process is the process of gradually replacing an


existing workflow or methodology with a new one to improve efficiency,
quality, and collaboration.

Steps in Transitioning to Agile

1. Assess the current process

o Understand how the team currently works.

o Identify problems such as delays, poor communication, or high


defect rates.

2. Train the team

o Provide training on Agile principles, Scrum, Kanban, and Agile


testing.

3. Define new roles

o Assign roles such as Product Owner, Scrum Master, and


Development Team.

4. Create a Product Backlog

o List and prioritize all project requirements.

5. Plan Sprints

o Break the project into short iterations (usually 2–4 weeks).

6. Adopt Continuous Testing

o Perform testing throughout development instead of waiting


until the end.

7. Conduct Sprint Reviews and Retrospectives

o Review completed work, gather feedback, and identify


improvements.

8. Continuously Improve

o Refine processes based on lessons learned after each sprint.

In traditional software development models (such as the Waterfall


model), the project is divided into separate phases like:
1. Requirements Gathering

2. Design

3. Development

4. Testing

5. Deployment

At the end of each phase, the team prepares heavy documentation and
obtains formal approvals (sign-offs) before moving to the next phase.

For example:

 After completing the requirements document, the customer signs it.

 After finishing the design document, the project manager approves


it.

 Only then can the developers begin coding.

This process is called a phased and gated process, where each phase
acts as a gate that must be completed before proceeding.

Why doesn't this work well in Agile?

Agile follows a different approach:

 Requirements can change frequently.

 Development and testing happen continuously.

 Customers provide feedback throughout the project.

 Working software is valued more than extensive documentation.

Therefore, creating hundreds of pages of documents and waiting for


approvals after every phase slows down the project.

Heavyweight Documentation

Heavyweight documentation means producing large, detailed documents


before moving forward.

Examples include:

 Software Requirement Specification (SRS)

 Detailed Design Documents

 Test Plans
 Test Summary Reports

 Approval Documents

Problem

 Takes a lot of time.

 Difficult to update when requirements change.

 Many documents become outdated quickly.

Agile Alternative

Instead of heavy documents, Agile prefers lightweight documentation


such as:

 User Stories

 Product Backlog

 Sprint Backlog

 Acceptance Criteria

 Task Boards

 Automated Test Cases

 Sprint Reviews

These are easier to update and keep the team focused on delivering
working software.

Sign-offs in Traditional Projects

A sign-off is formal approval that confirms a phase has been completed.

Example:

Customer:

"I approve these requirements."

Project Manager:

"Design phase is complete."

Only after these approvals does the next phase begin.

Agile Project
Sprint 1

 Write user stories

 Develop feature

 Test feature

 Customer reviews feature

Sprint 2

 Modify requirements if needed

 Develop next feature

 Test continuously

 Customer gives feedback again

This cycle repeats until the product is complete.

Many traditional project processes are not suitable for Agile because they
depend on:

 Extensive documentation,

 Strict phase-by-phase progression, and

 Formal approvals before moving ahead.

Agile replaces these with:

 Lightweight documentation,

 Continuous collaboration,

 Frequent customer feedback,

 Short development iterations (sprints), and

 Working software delivered regularly.

There are no fixed rules for converting traditional processes to Agile.


Each organization can adapt its processes based on its needs while
following Agile principles

Seeking Lightweight Processes


Definition
Seeking Lightweight Processes means using simple, efficient, and
less time-consuming methods for planning, testing, tracking defects,
and measuring progress in Agile projects. The goal is to reduce
unnecessary documentation while still maintaining software quality.

Key Points

 Agile teams prefer simple and flexible processes instead of


heavy documentation.

 Traditional practices such as metrics, defect tracking, and test


planning are still important.

 Organizations may need to follow quality standards such as


CMMI(Capability Maturity Model Integration) and ISO 9000,
even when using Agile.

 Agile is compatible with these standards if the processes are kept


simple and focused on delivering value.

 The main objective is to deliver high-quality software quickly


with minimal unnecessary work.

Traditional Method:

 A tester writes a 50-page test plan before testing begins.

Agile Method:

 The tester creates a 1–2 page test plan with essential test
scenarios and continuously updates it during the sprint.

Scenario: Online Banking Application

A bank is developing an Online Banking System with features such as


Login, Balance Enquiry, Fund Transfer, and Transaction History.

Traditional Process

 The tester writes a 100-page test plan.

 All testing is done after the developers finish coding.

 Defects are reported only at the end of the project.

 The customer waits several months before seeing the software.

Agile (Lightweight Process)

 The team plans to develop the Fund Transfer feature in a 2-week


sprint.
 The tester prepares a simple checklist instead of a lengthy test
plan.

 Developers and testers work together every day.

 Automated tests run whenever new code is added (Continuous


Testing).

 Defects are logged immediately and fixed during the same sprint.

 At the end of the sprint, the team demonstrates the Fund Transfer
feature to the bank manager and collects feedback.

Metrics in Agile Testing

Metrics are quantitative measurements that help an Agile team monitor


its performance, improve processes, and deliver better business value.

Metrics help teams to:

 Measure project progress.

 Identify bottlenecks and delays.

 Improve software quality.

 Support better decision-making.

 Encourage continuous improvement.

 Ensure customer satisfaction.

Note: Metrics should guide improvement, not be used to judge or punish


individual team members.

Lean Measurements

Lean Software Development encourages using fewer but more


meaningful metrics.

Goal of Lean Metrics

 Reduce unnecessary measurements.

 Focus on measurements that improve customer value.

 Encourage teamwork and collaboration.

 Deliver software faster with high quality.

Cycle Time
Definition

Cycle Time is the total time taken from a customer's feature request until
the software feature is delivered.

Formula

Cycle Time = Delivery Date – Feature Request Date

Example

Customer requests Online Bill Payment on 1st July.

Feature delivered on 11th July.

Cycle Time = 10 days

If the next feature takes only 6 days, the team has improved its process.

Team-Based Metrics

Lean recommends measuring the entire team's performance, not


individual performance.

Examples

 Cycle Time

 Release Frequency

 Customer Satisfaction

 Business Value Delivered

These metrics encourage developers, testers, and business analysts to


work together.

Defect Fix Time (Latency)

Defect Fix Time (Latency) is the time taken to fix a defect after it has
been reported.

Defect Fix Time = Defect Fixed Date – Defect Reported Date

Example

Bug reported on Monday


Bug fixed on Wednesday

Defect Fix Time = 2 days

Lower defect fix time indicates better collaboration and faster delivery.

Financial Return (ROI)

Definition

Return on Investment (ROI) measures whether the software provides


sufficient business value compared to its development cost.

Formula
Profit−Cost
ROI= ×100
Cost

Example

Development Cost = ₹10,00,000

Profit Earned = ₹15,00,000

ROI = 50%

A higher ROI means the project delivers greater business value.

Business Goal Metrics

Agile teams should identify business goals and measure whether those
goals are achieved.

Example

Business Goal: Increase online customers.

Metrics:

 Number of new customer registrations

 Increase in website visitors

 Number of app downloads

 Customer retention rate

Why We Need Metrics


Metrics are numerical measurements used to monitor, evaluate, and improve the
performance, quality, and progress of a software project.

Why Do We Need Metrics?

Metrics help Agile teams:

 Measure project progress.

 Monitor software quality.

 Detect problems early.

 Track whether goals are being achieved.

 Support continuous improvement.

 Motivate the team.

 Help customers understand project status.

Metrics should be used as guideposts(They tell the team whether they are
moving in the right direction), not as tools to blame or punish individuals.

If code coverage suddenly drops from 75% to 65%, the team investigates
the reason.

Focus on Trends, Not Individual Numbers

A single metric has little meaning.

Teams should observe:

 Whether quality is improving.

 Whether delivery is becoming faster.

 Whether customer satisfaction is increasing.

Example

Code
Sprint
Coverage

Sprint
70%
1

Sprint
72%
2
Code
Sprint
Coverage

Sprint
75%
3

The increasing trend shows continuous improvement.

Metrics Help Track Progress

Metrics help everyone—including customers—monitor project progress


during:

 An iteration (Sprint)

 A release

 An epic

Burndown Chart

A Burndown Chart shows how much work remains in a sprint.

Interpretation

 Line moving downward → Project is progressing well.

 Line moving upward → Warning sign (red flag).

The team should investigate the reason.

Metrics Can Motivate the Team

Properly used metrics encourage improvement and celebrate


achievements.

Example

A development team tracks the number of automated unit tests.

Milestones:

 100 tests

 1,000 tests

 3,000 tests

Each milestone is celebrated because it reflects continuous improvement.

However, more tests do not always mean better quality. The tests
must also be effective.

What not to do with metrics


Do Not Use Metrics to Judge Individuals

One of the biggest mistakes is using metrics to evaluate the performance


of individual team members.

For example:

“Tester A found 50 defects, but Tester B found only 20 defects, so Tester A


is a better tester.”

This conclusion may be wrong.

Tester B may have worked on a smaller or better-tested module, while


Tester A may have worked on a complex module with many problems.

Therefore: Metrics should be used as guideposts for improvement,


not as weapons against individuals.

Do Not Reward Teams Only for Good Numbers

If teams are rewarded or punished based only on metrics, people may


change their behavior just to improve the numbers.

Metrics Can Create the Wrong Motivation

Metrics should encourage improvement, not fear.

If developers are constantly criticized because their defect count is high,


they may become more concerned about protecting their numbers
than improving software quality.

Similarly, if testers are criticized for finding too few defects, they may feel
pressure to report unnecessary defects simply to increase their numbers.

Conclude that Metrics should be used as guideposts to measure progress


and identify areas for improvement, not as a means of judging or
punishing individual team members or teams.”

Communicating Metrics

1. Meaning of Communicating Metrics

Communicating metrics means making important measurements


visible and understandable to the people who need them.

Metrics are useful only when people can:

 See them

 Understand them

 Discuss them
 Take action based on them

One of the most effective ways to communicate metrics is through large,


visible charts or dashboards.

Examples:

 Bar charts

 Line graphs

 Progress charts

 Dashboards

 Build status boards

 Test-result displays

Daily Build Status

-----------------------------

Tests Passed: 3,062

Tests Failed: 12

Automation: 85%

Build Status: PASS

Defects Open: 18

-----------------------------

Metrics ROI

1. Meaning of Metrics ROI

ROI (Return on Investment) means comparing the value gained from


a metric with the time, effort, and cost required to collect and
maintain it.

Defect Tracking

Defect Tracking System (DTS) is a tool used to record, manage, and


track software defects or bugs.

Why use a Defect Tracking System?

1. Convenience

o Stores complete bug details in one place.

o Includes steps to reproduce, severity, priority, status,


environment, browser, etc.
o Screenshots, logs, and files can also be attached.

2. Knowledge Base

o Old defects can help the team understand previously found


problems.

o Developers and testers can find previous solutions easily.

o Useful for intermittent bugs that are difficult to reproduce.

3. Remembering Solutions

o Records the cause of a defect and how it was fixed.

o Helps when the same problem occurs again.

o Reduces dependence on people's memory.

4. Large or Distributed Teams

o Useful when many teams work on the same project.

o Team members in different locations can access the same


defect information.

5. Customer Support

o Helps support teams know which customer-reported defects


were fixed.

o They can also identify defects that are still pending.

o Makes it easier to provide information to customers.

6. Metrics

o Defect information can be used to calculate and analyze


defect rates.

o Helps the team understand the quality of the software.

o However, not every bug needs to be counted as a defect.

7. Traceability

o A DTS can link defects with test cases.

o However, not every defect needs a test case.

o Examples: spelling mistakes, usability problems, and bugs


found during exploratory testing.

Example:
Suppose you are testing an Online Banking Application and find a login
defect.

A Defect Tracking System (DTS) record could look like this:

Field Example

Defect ID BUG-101

Title Login fails with valid password

User cannot log in even after entering correct username


Description
and password.

Steps to 1. Open banking website 2. Enter valid username 3.


Reproduce Enter valid password 4. Click Login

Expected
User should successfully log in.
Result

Actual Result Error message "Invalid credentials" is displayed.

Severity High

Priority High

Status Open

Assigned To Developer

Environment Chrome, Windows 11

Screenshot/
Attached
Log

Resolution Password validation code corrected

Retest Result Passed

Final Status Closed

Why Shouldn’t We Use a DTS


A Defect Tracking System (DTS) is useful, but Agile teams may decide
not to use a formal DTS when defects can be handled quickly through
direct communication and simple tracking.

1. Less Need for a DTS in Agile

 Agile and Lean focus on quality, collaboration, and quick


feedback.
 If the development process is good, defects should be fewer.

 Simple defects can be tracked using cards or task boards.

2. DTS Can Reduce Communication

 Testers may enter a defect into the system instead of talking to


developers.

 Developers may simply read the report without discussing the


problem.

 Direct communication between tester and developer can solve


problems faster.

3. Time-Consuming Process

A defect may go through many steps:

Report → Triage → Assign → Analyze → Fix → Reassign → Retest →


Close

 Writing detailed defect reports takes time.

 Developers may misunderstand the defect.

 The defect may require several rounds of discussion and correction.

4. Defects Become a Queue

 Open defects in a DTS can become a backlog of unfinished work.

 Lean considers unnecessary inventory or waiting as waste.

 Teams should try to reduce the number of pending defects.

5. Direct Communication Can Be Faster

Instead of writing a long defect report:

Tester finds bug → Talks to developer → Shows the problem →


Developer fixes it → Tester verifies

This can be much faster for simple defects.

6. Choose DTS Carefully

If a team decides to use a DTS:

 Keep it simple and easy to use.

 Make sure the whole team can use it.

 Choose a tool based on the team's actual needs.

 Avoid tools that create unnecessary work.


7. Make Defects Visible

Even without a formal DTS, defects should be visible to the whole


team.

For example, use a story board:

 🟨 Yellow card → Normal bug

 🟥 Red card → High-priority or critical bug

 Other cards → Stories and testing/development tasks

This allows everyone to quickly see the status of defects.

8. Main Focus

The goal is not simply to track defects.

The main goal is:

Deliver a high-quality product quickly and provide value to the


customer.

Defect Tracking Tools:


 Jira
 Bugzilla
 Azure DevOps
 MantisBT
 Redmine
 YouTrack
 GitHub Issues
 Trac
 Trello
 Zoho BugTracker

You might also like