0% found this document useful (0 votes)
27 views

Unit- 2

The document outlines various Agile processes, including Lean Production, Scrum, Crystal, Feature Driven Development, and Adaptive Software Development, emphasizing their principles, roles, and benefits. Lean Production focuses on waste reduction and efficiency, while Scrum promotes teamwork and iterative progress through defined roles and ceremonies. Each methodology has its strengths and challenges, making them suitable for different project sizes and complexities.

Uploaded by

shanthibimmari07
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Unit- 2

The document outlines various Agile processes, including Lean Production, Scrum, Crystal, Feature Driven Development, and Adaptive Software Development, emphasizing their principles, roles, and benefits. Lean Production focuses on waste reduction and efficiency, while Scrum promotes teamwork and iterative progress through defined roles and ceremonies. Each methodology has its strengths and challenges, making them suitable for different project sizes and complexities.

Uploaded by

shanthibimmari07
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 51

Agile Processes

Unit-2
Agenda:

• Lean Production Scrum


• Crystal
• Feature Driven Development
• Adaptive Software Development
• Extreme Programming:
- Method Overview
- Life Cycle
- Work Products
- Roles and Practices
AGILE PROCESSES:

• Focus on flexibility, teamwork,


and efficiency.
• Help teams adapt quickly to
changes.
• These processes are Based on
the Agile Manifesto.
• Commonly used in software
development.
LEAN PRODUCTION:
• Lean Production focuses on reducing waste
and improving efficiency.
• It comes from the Toyota Production System (TPS).
• The goal is to optimize resources
and minimize costs.
• Lean ensures high quality by removing unnecessary steps.
• Waste in production is called "Muda" in Japanese.
• Lean principles are used in manufacturing, services, and software.
• It helps improve processes and create more value.
LEAN PRODUCTION
Core Principles of Lean Production:
• Identify Value – Understand what the customer
values and focus on delivering it.
• Map the Value Stream – Analyze the production
process to eliminate waste and improve efficiency.
• Create Flow – Ensure a smooth and continuous
workflow without delays or bottlenecks.
• Establish Pull – Produce only what is needed,
when it is needed, to avoid overproduction.
• Seek Perfection – Continuously improve
processes to enhance quality and efficiency.
Types of Waste in Lean Production (The 7 Wastes):
1.Overproduction – Producing more than what is needed, leading to
excess inventory.
2.Waiting – Idle time due to delays in production or decision-making.
3.Transport – Unnecessary movement of materials, increasing costs and
risks.
4.Overprocessing – Doing more work than required, such as using higher-
quality materials than needed.
5.Inventory – Excess raw materials, work-in-progress, or finished goods
that increase storage costs.
6.Motion – Unnecessary movement of people, leading to wasted time
and effort.
7.Defects – Errors or rework that increase costs and reduce quality.
Tools and Techniques Used in Lean Production:

1. 5S (Workplace Organization)
 Sort – Remove unnecessary items.
 Set in Order – Organize tools and materials.
 Shine – Keep the workplace clean.
 Standardize – Create consistent procedures.
 Sustain – Maintain and improve continuously.
2. Kaizen (Continuous Improvement)
 Small, regular improvements by all employees.
 Encourages teamwork and innovation.
3. Kanban (Visual Workflow Management)
• Uses visual signals to manage workflow.
• Helps track inventory and production needs.

4. Just-in-Time (JIT) Production


 Produces only what is needed, when needed.
 Reduces inventory and storage costs.

5. Poka-Yoke (Error-Proofing)
 Prevents mistakes in the production process.
 Ensures quality control at every step.

6. Value Stream Mapping (VSM)


 Visualizes the production process.
 Identifies waste and areas for improvement.
7. SMED (Quick Changeover)
 Reduces setup time for machines.
 Increases production efficiency.
8. Andon (Problem Alert System)
 Visual signals to highlight issues.
 Helps fix problems quickly.
9. Cellular Manufacturing
 Groups workstations for a smooth workflow.
 Reduces movement and eliminates delays.
Benefits of Lean Production:
 Reduced Costs – Cuts waste, lowers inventory,

and improves efficiency to save money.


 Improved Quality – Focuses on quality at every stage,

reducing defects and increasing customer satisfaction.


 Faster Delivery – Ensures quick production and

on-time delivery to meet customer needs.


 Greater Flexibility – Adapts easily to changes in

demand and production requirements.


 Employee Engagement – Encourages workers to share ideas and improve processes.
Challenges of Lean Production:

•Difficult Implementation – Requires changes in culture, processes, and workspace.


•Resistance to Change – Employees and managers may hesitate to adopt new methods.
•Sustaining Improvements – Needs continuous effort to prevent slipping back into old
habits.

Conclusion
•Lean focuses on reducing waste and improving efficiency.
•Helps businesses deliver better products at lower costs.
•Continuous improvement is key to long-term success.
SCRUM
What is Scrum:
•Agile Framework – Scrum helps teams work efficiently,
adapt quickly, and deliver quality results.
•Time-Boxed Sprints – Work is divided into short
cycles (2-4 weeks) to create small, usable product updates.
•Incremental Progress – Teams build and improve
products step by step, based on feedback.
•Continuous Improvement – After each Sprint,
teams reflect and improve their process.
•Scrum = Fast, Flexible, and Focused on Value.
Key Roles in Scrum:
Product Owner:
What They Do?
•Decides what to build and in what order
•Manages & prioritizes the Product Backlog
•Acts as a bridge between the team
and stakeholders
Key Duties:

✅ Define and prioritize work


✅ Ensure tasks bring the most value
✅ Communicate with stakeholders
Scrum Master:
What They Do?
•Ensures the team follows Scrum rules
•Removes roadblocks slowing the team down
•Helps the team improve and stay focused

Key Duties:

✅ Facilitate Scrum meetings


✅ Protect the team from distractions
✅ Support continuous improvement
Development Team:
What They Do?
• Builds the product in small steps
• Works together to complete Sprint tasks
• Delivers a shippable product every Sprint.

Key Duties:

✅ Collaborate & complete Sprint tasks


✅ Clarify requirements with the Product Owner
✅ Deliver a working product increment
Scrum Artifacts:
o Artifacts are the key outputs of Scrum, providing transparency and focus for the
team and stakeholders
1. Product Backlog:
Its list of all tasks, features, Improvements.
• Managed & prioritized by the Product Owner
2. Sprint Backlog:
A list of tasks the team commits to in a Sprint.
• Its created in Sprint Planning
3. Increment:
The completed work that is potentially shippable.
• Completed work can be released to customers or stakeholders.
Scrum Events (Ceremonies):
o communication throughout the project.
Events:
1. Sprint: A Sprint is a fixed period of time that cannot be extended.
and it starts with a Sprint Planning meeting and ends with a
Sprint Review and Sprint Retrospective.
2. Sprint Planning: A meeting where the Scrum team
(Product Owner, Scrum Master, and Development Team)
decides what to work on during the upcoming Sprint.
3. Daily Scrum (Daily Standup): A short (usually 15-minute)
daily meeting, will discuss about what completed yesterday and what need to do today.
4. Sprint Review: The team and stakeholders also discuss progress, any changes in the product backlog, and
future priorities.
5. Sprint Retrospective: The goal is continuous improvement, and action items from this meeting should be
implemented in future Sprints to improve team effectiveness.
Scrum Artifacts & Practices for Success:
1. Definition of Done (DoD):
A clear and shared understanding of what constitutes "done" for any
Product Backlog item.

2. Burn-Down Chart:
A Burndown Chart is a simple visual tool that shows how much work is left in a Sprint or project. It tracks the
remaining work over time and helps the team see if they are on track to meet their goals.

3. Velocity:
Team velocity is the amount of work a team can
complete in a Sprint. It’s usually measured in
story points or similar units. This helps the team
plan how much work they can handle in future Sprints.
Benefits of Scrum:

•Transparency:
Scrum ensures everyone can see the project's progress through
meetings, tools, and regular updates.
•Flexibility:
Scrum allows teams to adapt quickly to changes in priorities
or requirements.
•Collaboration:
Scrum promotes teamwork and communication between the
Product Owner, Scrum Master, and Development Team.
•Improvement:
Scrum encourages learning and improving processes through
Sprint Retrospectives.
•Faster Delivery:
Scrum delivers small, working parts of the project at the end of each Sprint, providing value quickly.
Challenges of Scrum:

Needs Experienced Teams:


Scrum can be difficult for teams new to Agile
or not used to self-management.

Consistency Required:
Scrum only works well if all team members follow
its principles and practices properly.

Risk of Overcommitment:
Teams may plan too much work for a Sprint,
leading to unfinished or rushed tasks.
CRYSTAL
Principles of the Crystal Agile methodology:
Crystal: The Crystal Agile Framework is a flexible software development approach focusing on people,
communication, and collaboration. It adapts to the unique needs of each project based on its size,
complexity, and importance.

Principles:
1. Frequent Delivery: Regularly deliver tested, working code to ensure it meets user needs.

2. Reflective Improvement: Continuously assess and improve processes based on past performance.

3. Osmotic Communication: Keep the team together in one space to naturally share information.

4. Personal Safety: Create a safe space for open communication and idea sharing without fear.

5. Focus on Work: Set clear priorities so team members can focus without frequent task switching.

6. Access to Experts and Users: Ensure developers can interact with real users and experts for valuable feedback.

7. Technical Environment: Use tools for automated testing, configuration, and continuous integration to detect and
fix errors quickly.
Crystal Family:
• The Crystal Family is a set of Agile methodologies designed to fit projects of different sizes, complexities,
and risks. Each variation focuses on communication, simplicity, and flexibility while adapting to team and
project needs.
1. Crystal Clear:
Minimal processes,
face-to-face communication,
frequent delivery, and little
documentation. Best for small and simple projects.
2. Crystal Yellow: Adds some structure, light documentation, and clear goals for medium-sized teams. Ideal for
moderately complex projects.
3. Crystal Orange: Introduces more formal processes and tracking while retaining flexibility. Suitable for
medium-to-large projects.
4. Crystal Red: Formal roles, structured processes, and detailed tracking to handle complexity and risk.
Designed for large or critical projects.
5. Crystal Blue (and others): Highly formalized structure to manage very large, complex projects while staying
flexible.
Strengths, Challenges of Crystal:

Strengths of Crystal:
• Flexible: Adapts to different project needs and team dynamics.
• Lightweight: Requires minimal documentation and processes.
• Team Empowerment: Let teams choose practices that work best for them.
• Focus on Communication: Encourages clear and frequent informal communication.

Challenges of Crystal:
• Limited Scalability: Works best for small teams; larger teams may need more structure.
• Less Guidance: Difficult for Agile beginners as it relies on team experience.
• Team Proximity: Designed for co-located teams, so remote work needs adjustments.

When to Use Crystal:


• For small to medium-sized teams.
• When projects have uncertainty or changing requirements.
• For experienced Agile teams that value flexibility.
FEATURE-DRIVEN DEVELOPMENT
Stages of FDD:
• Its an agile software development methodology that focuses on building features incrementally
to create a complete product.

1. Develop an Overall Model: The team creates a base object model to


solve the domain problem, serving as the foundation for building
the application and its features.
2. Build the Features List: The team lists all product features based on the
vision and user needs. These features are broken into small tasks that can
be completed in 2–10 days.
3. Plan by Feature: Features are prioritized based on value, resources, time,
risks, and dependencies. Each feature is assigned to specific teams
called "feature owners."
4. Design by Feature: High-priority features are detailed, designed,
and reviewed. This step refines both the feature and the overall model.
5. Build by Feature:
Development, testing, and integration of features take place.
Completed features are reviewed, added to the main product, and made available for client use.
FDD Team Roles:
Role Responsibilities

Chief Architect Oversees technical direction and system design;


guides the team on technical challenges.

Chief Programmer Leads the development team; ensures features are


implemented and the project is successful.

Feature Owners Responsible for the successful delivery of specific features;


works with the team to define and deliver.

Class Owners Developers in charge of specific classes or components;


handle coding and related documentation.

Domain Expert Provides deep knowledge of the problem domain;


ensures the system meets business needs.

Project Manager Tracks project progress, manages schedules, resources,


and communication to achieve project goals.
FDD vs. Scrum:
Aspect FDD Scrum

Involves actual product users in The Product Owner acts as the end
User Involvement
development user

Emphasizes domain modeling and Does not focus on domain-driven


Focus Areas
design design

Features are developed in 2–10


Timeline Sprints last 2–4 weeks
days

Complex structure with roles like


Lean structure with roles like Scrum
Team Structure Chief Programmer and Domain
Master and Product Owner
Expert

Prefers daily stand-ups and


Documentation Values detailed documentation
frequent meetings
Advantages & Disadvantages of FDD:
• Advantages of FDD

 Involves real end-users, leading to user-focused product development.

 Domain modeling and planning provide a clear and predictable roadmap.

 Scalable for large and complex projects due to its structured approach.

 Strong documentation improves visibility, productivity, and efficiency.

 Breaking tasks into smaller parts makes code management easier.

• Disadvantages of FDD

 Complex team structure is not ideal for small projects.

 Team building and training require extra time and budget.

 Dependencies between features can delay the development process.

 Limited flexibility for ongoing feature changes due to upfront planning.


When to Use FDD:
 For large projects with multiple teams.

 When project requirements are well-defined.

 For organizations needing structured Agile methods with clear goals.


ADAPTIVE SOFTWARE DEVELOPMENT
Key Principles of Adaptive Software Development (ASD):
 Adaptive Software Development (ASD) is an Agile approach created by Jim Highsmith. It focuses on
flexibility, collaboration, and continuous learning to handle complex and uncertain projects.

1. Collaborative Development

 Teamwork is key! Developers, testers, and business reps work

closely together.

 Frequent communication ensures quick adjustments and

problem-solving.

2. Iterative & Incremental Process

 Software is built in small steps, improving with each iteration.

 Unlike Scrum, ASD allows flexible iteration lengths based on

project needs.
3. Continuous Adaptation

 Change is good! ASD embraces evolving requirements.

 Regular adjustments help improve the product and process

4. Feedback-Driven Development

 Constant feedback from users and stakeholders shapes the product.

 Frequent reviews ensure the software aligns with business goals.

5. Risk Management

 Address high-risk areas early with prototypes or proof-of-concept builds.

 Identifying issues early helps reduce bigger problems later.

6. Embracing Uncertainty

 Software development is unpredictable—ASD adapts rather than resists change.

 Teams learn and improve continuously to refine their solutions.


Three Phases of Adaptive Software Development:
1. Speculation

 Set initial project goals and requirements.

 Identify risks and prepare for flexibility.

 No fixed plan—assumptions may change as the project evolves.

2. Collaboration

 Team members, users, and stakeholders work together.

 Sharing knowledge and ideas ensures alignment.

 Continuous adjustments improve the product.

3. Learning

 Gather feedback from users and stakeholders.

 Refine and improve the product with each iteration.

• Lessons learned guide the next development steps


Core Values of ASD:
1. Embrace Change

 Change is a natural part of development.

 Flexibility helps teams adapt to new requirements.

2. Customer Collaboration

 Customers and stakeholders are involved at every stage.

 Their feedback helps shape the product.

3. Frequent Delivery

 Working software is released regularly.

 Early and continuous delivery provides value.

4. Simplicity & Focus

 Keep solutions simple and avoid unnecessary complexity.

 Deliver just enough functionality with room for adjustments.


ASD vs. Other Agile Methodologies:
Aspect ASD Scrum Kanban Crystal

Structured with fixed-length Visual workflow management Adjusts processes based on


Structure Flexible, adapts to project needs
Sprints & defined roles (Kanban board) team size & complexity

Continuous flow, no fixed Different "colors" for different


Iterations Varies based on project needs Time-boxed Sprints
iterations projects

Following a structured Agile Optimizing workflow & limiting Scaling Agile based on project
Focus Adapting to change, continuous learning
process WIP needs

Encourages collaboration, but no strict Defined roles (Scrum Master, No prescribed roles, self- Customizable based on project
Roles & Processes
roles Product Owner, Dev Team) managed teams complexity

Sprint Planning, Daily Standups, Visualizing work, improving Different approaches for
Key Features Speculation, Collaboration, Learning
Retrospectives efficiency different team sizes
When to Use ASD, Advantages & Challenges:
📌 When to Use ASD:

✅ Uncertain & Complex Projects – Requirements may change over time.


✅ High-Risk & Innovative Projects – Helps manage unknowns and evolving needs.
✅ Large Teams – Collaboration & feedback help navigate complexity.

✅ Advantages of ASD:

✔ Flexibility – Adapts to changing requirements.


✔ Customer Satisfaction – Frequent feedback ensures alignment.
✔ Team Empowerment – Encourages creativity & shared ownership.
✔ Continuous Improvement – Focus on learning & refinement.

⚠️Challenges of ASD:

⚡ High Collaboration Needs – Requires strong communication & trust.


⚡ Ambiguity in Planning – Less structured than traditional methods.
⚡ Complex Implementation – Teams need experience to balance adaptability & structure.
Extreme Programming (XP)
Core Principles of Extreme Programming (XP):
Extreme Programming (XP) is an Agile methodology that ensures high-quality software through engineering
practices, frequent releases, and strong team collaboration to quickly adapt to changing requirements.

Core Principles:
✅ Communication – Open and direct collaboration among
developers, customers, and stakeholders.
✅ Simplicity – Build only what is needed, avoiding unnecessary
complexity.
✅ Feedback – Continuously improve through testing, customer input,
and team insights.
✅ Courage – Make bold decisions, adapt plans, and refine code
when needed.
✅ Respect – Value every team member’s contribution and maintain
a supportive environment.
Key Practices of Extreme Programming (XP):
✅ Test-Driven Development (TDD) –
Write tests before coding to ensure correct functionality.
✅ Pair Programming –
Two developers code together to improve quality and share knowledge.
✅ Continuous Integration –
Frequently merge and test code to catch issues early.
✅ Refactoring –
Continuously improve code structure without changing functionality.
✅ Small Releases –
Deliver small, functional updates frequently for quick feedback.
✅ Collective Code Ownership –
The whole team shares responsibility for the codebase.
✅ Coding Standards –
Follow consistent guidelines for clean, readable code.
✅ Sustainable Pace – Maintain a steady, manageable workload to avoid burnout.
✅ On-Site Customer – Have a customer available for immediate feedback.
✅ Metaphor – Use simple, shared language to describe the system’s design.
Benefits & Challenges of Extreme Programming (XP):

Benefits of XP:
✅ High Quality – TDD and pair programming improve code reliability.
✅ Flexibility – Easily adapts to changing requirements.
✅ Faster Feedback – Frequent releases and testing provide quick insights.
✅ Team Collaboration – Encourages teamwork and knowledge sharing.
✅ Customer Satisfaction – Continuous customer involvement ensures the right product.

Challenges of XP:
⚠ Steep Learning Curve – Requires time to master TDD and pair programming.
⚠ Team Dependency – Success relies on skilled and committed team members.
⚠ Customer Availability – Needs frequent customer feedback, which may be difficult.
⚠ Scaling Issues – Challenging for large or distributed teams.
Lifecycle of Extreme Programming (XP):
• XP follows short, iterative cycles to adapt to changing requirements.
1. Exploration Phase – Understand customer needs.
✔ Define user stories with customers.
✔ Check technical feasibility.
2. Planning Phase – Prioritize and plan tasks.
✔ Break user stories into small tasks.
✔ Estimate effort and select tasks for development.
3. Iteration to Release – Develop and test.
✔ Code using pair programming.
✔ Validate with test-driven development (TDD).
✔ Frequently integrate and test.
4. Productionizing Phase – Prepare for release.
✔ Conduct final system testing.
✔ Deliver product increment to the customer.
5. Maintenance Phase – Improve and update.
✔ Fix bugs and respond to feedback.
✔ Continue development with XP practices.
6. Death Phase – Project completion.
✔ Deliver the final product.
✔ Review and learn for future projects.
Work Products in XP:
• XP produces lightweight documents to keep development agile and
clear.

1. User Stories – Short descriptions of features from the customer’s


perspective.
2. Task Cards – Small tasks derived from user stories for easy
tracking.
3. Codebase – The evolving software, following strict coding
standards.
4. Automated Tests – Unit and acceptance tests to ensure
functionality.
5. Iteration Plan – A simple plan outlining tasks for the current
cycle.

6. System Metaphor – A shared concept that explains the system’s

structure.
Roles in XP:
• XP teams work collaboratively, with specific roles for efficiency.

🔹 Primary Roles:
✔ Customer – Provides user stories and feedback.
✔ Developers – Write and test code using XP practices.
✔ Tester – Creates and runs automated tests.
✔ Tracker – Monitors progress and team commitments.
✔ Coach – Ensures XP principles are followed.

🔹 Secondary Roles:
✔ Manager – Handles resources and external communication.
✔ Domain Expert – Provides specialized knowledge.
Implementation of XP in the Project:
1. Pair Programming –

Two developers worked together to write, review, and debug code.

2. Test-Driven Development (TDD) –

Tests were written before coding to ensure correctness.

3. Frequent Releases –

Working software was delivered every two weeks.

4. Continuous Integration – Automated builds and tests prevented issues with new code.

5. On-Site Customer – A client representative provided real-time feedback.

6. Simplicity – Only essential features were designed and implemented.

7. Refactoring – Code was continuously improved without changing functionality


Project Outcome & Key Lessons Learned:
 Deliverables:

o A fully functional CRM system was delivered on time and within budget.

o Key features included customer data management, analytics dashboards, and automated marketing tools.

 Client Feedback:
o The client was highly satisfied and appreciated the collaborative approach.

 Metrics:
o Defect rate reduced by 30% compared to previous projects.

o Development time decreased by 20% due to better planning and teamwork.

1. Training is Important: Teams need proper training in XP practices like TDD and pair programming.

2. Client Commitment: An on-site customer helps, but their active participation is crucial.

3. Balance Simplicity & Complexity: Build simple solutions but plan for long-term needs.

4. Tailoring XP: Adjust XP practices to fit the team and project needs.
When to Use XP:

When to Use XP:


• ✔ For projects with frequent changes.
✔ Teams that focus on high-quality code.
✔ When customer involvement is high.
✔ Best for small to medium-sized teams.

Conclusion:

• XP improves software development by enhancing collaboration, flexibility, and customer focus. Its success
depends on team commitment, client involvement, and adapting to changing requirements. When
implemented well, XP leads to high-quality software, satisfied customers, and an empowered team.

You might also like