UNIT–II (Agile Projects)
✅ UNIT–II (Agile Projects) – SIMPLE NOTES
⭐ 1. Planning for Agile Teams
Agile teams are small, flexible, self-organizing groups.
A. Scrum Team
Very simple:
-
Product Owner (PO) – decides what to build
-
Scrum Master (SM) – removes problems, supports team
-
Development Team – builds the product
π Remember: PO → SM → DEV
B. XP Team
XP team focuses on quality & coding practices
Members:
-
Customer
-
Developers
-
Coach
-
Tracker
-
Tester
π Easy trick: C–D–C–T–T
C. General Agile Teams
All normal Agile teams have:
-
5–9 people
-
Cross-functional
-
Self-managing
-
Communicate daily
D. Team Distribution
How teams are located:
-
Co-located: in one place (BEST for Agile)
-
Distributed: team in multiple locations → needs online tools
⭐ 2. Agile Project Lifecycle (Simple Explanation)
Agile project lifecycle = build in small cycles called iterations/sprints.
Typical lifecycle:
-
Plan – create vision, backlog
-
Design – simple design
-
Build – develop features in small pieces
-
Test – test continuously
-
Review – show to customer
-
Improve – take feedback and improve
-
Repeat – next iteration
π Trick: P–D–B–T–R–I (Plan, Design, Build, Test, Review, Improve)
⭐ 3. Phase Activities in Agile
Each iteration has:
-
Planning (what to do)
-
Development (coding)
-
Testing (continuous testing)
-
Review (show to customer)
-
Retrospective (improve team work)
⭐ 4. Product Vision (VERY SIMPLE)
Product Vision =
π A short statement describing what the product will achieve.
Example:
“Build a fast, secure online shopping app.”
Purpose:
-
Gives direction
-
Helps team stay focused
⭐ 5. Release Planning (MOST IMPORTANT)
Release planning = deciding what features to deliver in the next release.
Steps:
1. Create Product Backlog
Product backlog = list of all features, tasks, ideas.
Example:
-
Login
-
Payment
-
Search
-
Cart
2. User Stories
User story = a simple requirement written from user's view.
Format:
π “As a user, I want feature, so that benefit.”
Example:
“As a shopper, I want to add items to a cart so I can buy later.”
3. Prioritizing
Deciding which features are most important.
Methods:
-
High / Medium / Low
-
MoSCoW (Must, Should, Could, Won’t)
4. Estimating
Estimating how long each story will take.
Ways:
-
Story points
-
T-shirt size (S, M, L)
5. Creating the Release Plan
Release plan =
π What features will be included in the upcoming release.
Example:
-
Release 1: Login, Search
-
Release 2: Cart, Payment
⭐ 6. Monitoring and Adapting (VERY SCORING)
A. Managing Risks
Risk = a problem that might happen.
Agile reduces risk by:
-
Short iterations
-
Daily meetings
-
Frequent testing
-
Customer feedback
B. Managing Issues
Issue = a problem that already happened
Team fixes issues quickly in daily meetings.
C. Retrospectives
Retrospective =
π A meeting at end of iteration to improve team performance.
Team discusses:
-
What went well
-
What didn’t
-
What to improve next time
Goal: continuous improvement
π― Super-Short Memory Sheet (For Exam)
-
Scrum Team = PO + SM + Dev Team
-
XP Team = Customer + Developers + Coach + Tester
-
Agile Lifecycle = Plan → Build → Test → Review → Improve
-
Backlog = list of all features
-
User Story = As a user, I want…, so that…
-
Prioritizing = Must/Should/Could
-
Retrospective = improve next iteration
✅ SOLID Principles (Super Simple Meanings)
SOLID = 5 important object-oriented design principles used in Agile.
⭐ S – Single Responsibility Principle (SRP)
A class should have only one job.
π Meaning: One class = One purpose
⭐ O – Open/Closed Principle (OCP)
Software should be open for extension but closed for modification.
π Meaning: Add new features without changing old code.
⭐ L – Liskov Substitution Principle (LSP)
A child class should be usable wherever the parent class is used.
π Meaning: Subclasses must behave like their parents.
⭐ I – Interface Segregation Principle (ISP)
Don’t force a class to use methods it doesn’t need.
π Meaning: Small interfaces > Big interfaces.
⭐ D – Dependency Inversion Principle (DIP)
Depend on abstractions, not concrete classes.
π Meaning: High-level code should not depend on low-level code.
Comments
Post a Comment