WEEK 3: AGILE DEVELOPMENT

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/56

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 8:17 AM on 9/19/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

57 Terms

1
New cards

Plan-Driven Software Development

A software development process that completely specify the requirements and then design, build, and test a system.

2
New cards

Agile Development

  • Are designed to produce useful software quickly.

  • Are incremental development methods in which the increments are small, and, typically, new releases of the system are created and made available to customers every two or three weeks.


3
New cards

Plan-driven Approach

  • Identifies separate stages in the software process with outputs associated with each stage.

  • Iteration occurs within activities with formal documents used to communicate between stages of the process

    • Ex.: Requirements will evolve until a requirement specification is produced, as an input to design and implementation


4
New cards

Agile Approach

  • Consider design and implementation to be the central activities in the software process

    • Incorporate other activities, such as requirements elicitation and testing, into design and implementation

  • Iteration occurs across activities

    • requirements and design are developed together, rather than separately


5
New cards

Common Practices of Agile Development

  1. Customer Collaboration

  2. Iterative Development

  3. Flexibility

  4. Self-organizing Teams

  5. Continuous Improvement


6
New cards

Customer Collaboration

Continuous involvement of the customer in the development process to ensure that the product meets their needs.

7
New cards

Iterative Development

Developing software in small, frequent increments to provide working software early and often.

8
New cards

Flexibility

The ability to respond to changing requirements, even late in the development process.

9
New cards

Self-organizing Teams

Teams have the autonomy to organize their work and decide how best to achieve their goals.

10
New cards

Continuous Improvement

Regular reflection on processes and practices to improve efficiency and quality over time.

11
New cards

Key Agile Methodologies/Frameworks

  1. Kanban

  2. Scrum

  3. Extreme Programming (XP)

  4. Adaptive Project Framework (AFP)

  5. Extreme Project Management (XPM)

  6. Adaptive Software Development (ASD)

  7. Dynamic Systems Development Method (DSDM)

  8. Feature Driven Development


12
New cards

Kanban

  • A visual Agile approach where teams use a board to track tasks through different stages of development.

  • Tasks are represented as cards on the board, and columns represent the stages. As work progresses, cards are moved between columns to reflect the current stage of each task.


13
New cards

Scrum

  • An Agile methodology for small teams that involves sprints. Led by a Scrum master, the team meets daily to discuss tasks and roadblocks.

  • The process includes sprint planning, which outlines goals for each sprint, and sprint retrospectives, which review the sprint to improve future iterations.

  • An Agile methodology focused on iterative progress and collaboration, aligning with Agile principles.


14
New cards

Scrum

Most popular framework to Regularly Ship Releases

15
New cards

Scrum

Developed in the 1990s by Ken Schwaber and Jeff Sutherland

16
New cards

Roles in Scrum

  1. Scrum Master

  2. Product Owner

  3. Development Team


17
New cards

Scrum Master

Removes obstacles to ensure team efficiency.

18
New cards

Product Owner

Represents the customer, sets priorities, and provides feedback.

19
New cards

Development Team

Cross-functional, self-organized team that delivers product increments.

20
New cards

Sprints and Artifacts

  1. Sprints

  2. Product Backlog

  3. Sprint Backlog

  4. Sprint Burndown Chart


21
New cards

Sprints

Short, fixed-length development cycles (1-4 weeks) that produce incremental product updates.

22
New cards

Product Backlog

Prioritized list of requirements maintained by the Product Owner.

23
New cards

Sprint Backlog

List of tasks for the current Sprint.

24
New cards

Sprint Burndown Chart

Tracks progress by showing remaining work.

25
New cards

Scrum Meetings

  1. Daily Scrum

  2. Sprint Planning

  3. Sprint Review

  4. Sprint Retrospective


26
New cards

Ideal for complex, long-term projects with evolving requirements and uncertain release dates. Used by various industries and companies including Microsoft, IBM, Yahoo, and Google.

When to Use Scrum?

27
New cards

Daily Scrum

15-minute daily meeting for team coordination.

28
New cards

Sprint Planning

Meeting to plan the Sprint's work, up to eight hours for one-month Sprints.

29
New cards

Sprint Review

Meeting to review completed work, four hours for one-month Sprints.

30
New cards

Sprint Retrospective

Meeting to discuss what went well and areas for improvement, three hours for one-month Sprints.

31
New cards

Extreme Programming (XP)

  • An Agile framework focused on improving team collaboration through five core values: communication, simplicity, feedback, courage, and respect.

  • Involves regular releases and iterations, similar to Scrum, but with a stronger technical emphasis, focusing on how tasks are accomplished to quickly respond to customer needs.

  • An Agile framework focused on high-quality code and technical excellence. It emphasizes rigorous engineering practices to quickly adapt to changing requirements.

  • is suitable for small teams (up to 12 people) working on projects with tight deadlines and emphasizes customer involvement, short iterations, and simplicity in design.

  • It can be used independently or in a hybrid with Scrum, combining XP’s technical practices with Scrum’s management approach.


32
New cards

Key XP practices

  • Test-Driven Development (TDD)

  • Code Refactoring

  • Continuous Integration (CI)

  • Pair Programming

  • Coding Standards


33
New cards

Test-Driven Development (TDD)

Writing tests before code to ensure functionality and improve code quality through the Red-Green-Refactor cycle.

34
New cards

Code Refactoring

Continuously improving code by simplifying and clarifying it without altering functionality.

35
New cards

Continuous Integration (CI)

Frequently integrating code changes and using CI/CD tools to ensure rapid delivery and maintain a clean codebase.

36
New cards

Pair Programming

Two developers working together, one coding and one reviewing, to enhance software design and share knowledge.

37
New cards

Coding Standards

Adhering to standardized code formats and styles for consistency and maintainability.

38
New cards

Adaptive Project Framework (APF)

  • Is designed for IT projects where unexpected changes can occur. It acknowledges that resources like budgets, timelines, or team members may change during a project.

  • Focuses on managing the resources currently available, rather than those initially planned.


39
New cards

Extreme Project Management (XPM)

  • Ideal for complex projects with high uncertainty. It involves continuously adapting processes and strategies, often shifting week to week, until the desired outcome is achieved.

  • Requires high flexibility, with short sprints allowing for frequent changes, trial-and-error problem-solving, and multiple iterations for self correction.


40
New cards

Adaptive Software Development (ASD)

  • Focused on continuous adaptation, involves three overlapping phases: speculate, collaborate, and learn.

  • Teams often operate in all three phases simultaneously, allowing for continuous learning and problem-solving. The non-linear structure and repetition of these phases enable quicker issue identification and resolution compared to standard project management methods.


41
New cards

Dynamic Systems Development Method (DSDM)

  • An Agile method that emphasizes a full project life cycle with a more structured approach.

  • It consists of four main phases: Feasibility and Business Study, Functional Model or Prototype Iteration, Design and Build Iteration, and Implementation.


42
New cards

Feature Driven Development (FDD)

  • Combines Agile best practices with a focus on specific software features.

  • It relies heavily on customer input to prioritize features and allows for frequent updates. The iterative nature of it enables teams to quickly address and fix errors as they continuously move through project phases.


43
New cards

The 12 Principles of Agile Methods

  1. Satisfy Customers Early and Often: Regular updates lead to satisfied customers and recurring revenue.

  2. Embrace Changing Requirements: Adaptability is crucial; being flexible helps accommodate late changes.

  3. Deliver Value Frequently: Frequent delivery of value helps retain customers and stakeholders.

  4. Promote Collaboration: Break down silos and encourage frequent team collaboration.

  5. Build Around Motivated Individuals: Agile thrives with committed and engaged team members.

  6. Face-to-Face Communication: Prefer face-to-face interactions for effective communication, even if virtual.

  7. Prioritize Working Software: Functional software is the primary measure of progress.

  8. Maintain a Sustainable Pace: Ensure the work pace is manageable to avoid team burnout.

  9. Continuous Excellence: Build on excellent work to enhance future agility.

  10. Keep It Simple: Opt for the simplest solutions to complex problems.

  11. Foster Self-Organizing Teams: Empower teams to organize themselves for maximum value.

  12. Reflect and Adjust: Regular retrospectives help teams improve effectiveness and adapt their practices.


44
New cards

Issues of Scaling Agile Development

  1. Coordination Across Teams

  2. Maintaining Agile Principles


45
New cards

Coordination Across Teams

  • Challenge: Agile practices, like Scrum or XP, are often designed for small, co-located teams. Scaling these methods to large organizations with multiple teams requires effective coordination and communication.

  • Impact: Misalignment between teams can lead to integration issues and inconsistencies.


46
New cards

Maintaining Agile Principles

  • Challenge: As teams grow, maintaining the core Agile principles, such as flexibility and rapid iteration, becomes harder.

  • Impact: Large-scale projects may become less agile and more rigid, deviating from Agile’s adaptive nature.


47
New cards

Issues of Scaling Agile Development

  1. Complexity in Communication

  2. Consistency in Practices

  3. Scaling Frameworks


48
New cards

Complexity in Communication

  • Challenge: With more teams involved, communication becomes more complex, making it difficult to ensure that all teams are aligned and informed.

  • Impact: Increased risk of miscommunication and delays in decision-making.


49
New cards

Consistency in Practices

  • Challenge: Ensuring consistency in Agile practices and standards across multiple teams can be difficult.

  • Impact: Variations in implementation can lead to fragmented processes and reduced overall efficiency.


50
New cards

Scaling Frameworks

  • Challenge: Implementing scaling frameworks like SAFe (Scaled Agile Framework), LeSS (Large Scale Scrum), or Spotify model can be complex and requires careful adaptation to fit organizational needs.

  • Impact: Poor implementation can lead to confusion and resistance from teams.


51
New cards

Issues with Combining Agile with Plan-Driven Approaches

  1. Conflicting Cultures

  2. Integration of Processes


52
New cards

Conflicting Cultures

  • Challenge: Agile focuses on flexibility and iterative development, while plan-driven approaches emphasize detailed upfront planning and documentation.

  • Impact: Conflicting priorities and methodologies can lead to friction between teams and management.


53
New cards

Integration of Processes

  • Challenge: Combining Agile’s iterative cycles with plan-driven approaches’ structured phases can result in mismatched processes and workflows.

  • Impact: Difficulty in integrating practices may lead to inefficiencies and delays.


54
New cards

Issues with Combining Agile with Plan-Driven Approaches

  1. Documentation vs. Flexibility

  2. Resource Allocation

  3. Change Management


55
New cards

Documentation vs. Flexibility

  • Challenge: Agile minimizes documentation, while plan-driven methods require comprehensive documentation.

  • Impact: Balancing the need for documentation with Agile’s focus on working software can be challenging.


56
New cards

Resource Allocation

  • Challenge: Agile requires adaptive resource management, whereas plan-driven approaches often rely on fixed resource plans.

  • Impact: Misalignment in resource allocation can cause delays and resource conflicts.


57
New cards

Change Management

  • Challenge: Agile welcomes change, but plan-driven approaches may resist changes once the plan is set.

  • Impact: Integrating these approaches can result in resistance to change and difficulty in adapting to new requirements.