RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL
New Scheme Based On AICTE Flexible Curricula

CD604 (B) Agile Software Development

CSE-Data Science / Data Science — VI Semester

Unit – II | Agile Projects

Unit II: Agile Projects

Agile Project Management is an adaptive approach to planning and managing software projects. Instead of attempting to define every detail at the beginning, Agile projects are planned incrementally and adjusted using continuous feedback.


This unit focuses on Agile teams, project lifecycles, product vision, product backlog, user stories, prioritization, estimation, release planning, risk management and retrospectives.

Planning for Agile Teams

An Agile team is a group of people who collaborate closely to transform requirements into working software increments. Agile teams generally emphasize communication, shared responsibility, customer value and self-organization.


Scrum Teams

Scrum teams work in Sprints and collaborate to create a usable product increment. The team typically includes a Product Owner, Scrum Master and Developers.

XP Teams

XP teams emphasize engineering practices such as pair programming, continuous feedback, frequent releases, testing and close customer collaboration.

General Agile Teams

General Agile teams are cross-functional and may contain developers, testers, designers, analysts and domain experts. Members collaborate to deliver business value.

Team Distribution

Agile teams may work at the same location or be distributed across different geographical locations. Distributed teams require effective communication and collaboration practices.

Characteristics of Effective Agile Teams

Team Distribution

Team distribution refers to how team members are geographically organized. An Agile project may use co-located teams, distributed teams or a combination of both.

Co-located Team

Team members work in the same physical location. Face-to-face communication is easier and problems can often be resolved quickly.

Distributed Team

Team members work from different geographical locations. Digital communication and collaboration tools become important.

Agile Project Lifecycle

An Agile project lifecycle describes the major activities performed from the initial product idea through iterative development, delivery and continuous improvement.

Product Vision
→
Product Backlog
→
Release Planning
→
Iterations
→
Feedback
→
Adaptation

Typical Agile Project Lifecycle

1. Concept / Vision

The initial product idea, business problem and expected value are identified.

2. Inception

Initial stakeholders, team structure, scope and high-level requirements are considered.

3. Planning

The product backlog is created and work is prioritized and estimated.

4. Iterative Development

The team develops and tests small increments while receiving feedback.

5. Release

A usable product increment is delivered to users or customers.

6. Continuous Improvement

Feedback, project information and retrospectives are used to improve future work.

Agile Phase Activities

Product Vision

A Product Vision describes the desired future state of the product. It provides a common direction for the Agile team and stakeholders.


A good product vision should communicate:

  • Who are the target users?
  • What problem does the product solve?
  • What value will the product provide?
  • What makes the product useful or different?
  • What high-level outcome is expected?

Creating the Product Backlog

A Product Backlog is an ordered list of work required to develop and improve a product. It may contain features, user stories, technical work, defects and other product-related activities.

ID Backlog Item Priority Estimate
US-01 User registration High 5
US-02 User login High 3
US-03 Profile management Medium 5
US-04 Notification feature Medium 8
US-05 Theme customization Low 3

User Stories

A User Story is a short description of a requirement written from the perspective of a user or stakeholder. User stories focus on user value rather than detailed implementation.

Common User Story Format

As a [type of user], I want [some goal], so that [some reason/value].
Who? Type of user or role
What? Desired functionality
Why? Expected benefit or value

Characteristics of Good User Stories

Independent

The story should ideally have minimal unnecessary dependency on other stories.

Negotiable

Details can be discussed and refined through collaboration.

Valuable

The story should provide meaningful value to users or stakeholders.

Estimable

The team should be able to estimate the effort required.

Small

A story should be small enough to be planned and delivered within an appropriate iteration.

Testable

There should be a practical way to verify whether the expected behavior has been achieved.

Prioritizing User Stories

Prioritization determines which backlog items should be developed first. High-value or urgent items are generally placed ahead of lower-value items.

High Priority

Essential features, critical defects and high-value functionality.

Medium Priority

Useful features that are important but less urgent.

Low Priority

Optional enhancements that can be developed later.

Agile Estimation

Agile estimation is the process of determining the relative effort, complexity or size of backlog items. Estimates help teams plan releases and iterations.

Common Estimation Approaches

Story Points

Relative units used to represent the size or complexity of a user story.

Planning Poker

A collaborative estimation technique where team members independently select estimates and discuss differences.

Ideal Time

Estimates the amount of focused development time without considering interruptions and other overheads.

Relative Estimation

Stories are compared with reference stories to determine their relative size.

Release Planning

Release planning determines which product backlog items are expected to be delivered in a particular release and provides a high-level roadmap for development.

Product Vision
→
Product Backlog
→
Prioritize
→
Estimate
→
Select Stories
→
Release Plan

Steps in Creating a Release Plan

  1. Define the product vision and release objectives.
  2. Create and refine the product backlog.
  3. Identify and prioritize important user stories.
  4. Estimate the effort associated with backlog items.
  5. Determine team capacity and expected velocity where appropriate.
  6. Group suitable stories into planned iterations.
  7. Define the expected release scope and schedule.
  8. Review and adapt the release plan as new information becomes available.

Monitoring and Adapting

Agile projects are continuously monitored so that the team can identify problems early and adapt plans according to new information.


Progress Monitoring

Track completed work, remaining work, team capacity and release objectives.

Feedback

Use feedback from users, customers and team members to improve the product and process.

Adaptation

Modify priorities, plans or implementation approaches when project conditions change.

Continuous Improvement

Regularly identify opportunities to improve team effectiveness and product development.

Managing Risks and Issues

Agile teams identify risks and issues early and continuously review them throughout the project.

Requirement Risk

Requirements may change or remain unclear.

Technical Risk

Technology limitations or integration problems may affect development.

Schedule Risk

Unexpected work may affect planned delivery.

Resource Risk

Changes in team availability or skills may affect progress.

Quality Risk

Defects or insufficient testing can reduce product quality.

Communication Risk

Poor communication can cause misunderstanding and delays.

Retrospectives

A retrospective is a structured team discussion used to reflect on completed work and identify improvements for future iterations.


Typical Retrospective Questions

  • What went well?
  • What did not go well?
  • What problems did the team face?
  • What should we improve?
  • What action should we take in the next iteration?

Benefits of Agile Project Planning

Flexibility

Plans can be adapted as requirements and business priorities change.

Early Feedback

Frequent delivery enables stakeholders to provide feedback early.

Risk Visibility

Continuous monitoring helps expose risks and issues earlier.

Better Prioritization

High-value features can be addressed before lower-priority work.

Quick Revision

Agile Team: A collaborative and usually cross-functional group that delivers working software.


Product Vision: Describes the desired future state and value of the product.


Product Backlog: Ordered list of work required to develop and improve the product.


User Story: Short requirement description written from the user's perspective.


Release Planning: High-level planning of backlog items expected to be delivered in a release.


Retrospective: Team reflection used to identify improvements for future work.

Important RGPV Exam Questions

Handwritten Notes

Get exam-oriented handwritten notes for CD604(B) Agile Software Development Unit II, including important definitions, explanations, diagrams, examples and RGPV-focused questions.

✍️ Download Unit 1 Handwritten Notes