Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15
Agile Practices
A Comprehensive Overview of Key Agile
Practices and Principles What is Agile?
• Agile is a flexible and iterative approach to project
management and software development. It focuses on delivering value incrementally, enabling teams to respond to feedback and adapt to changes quickly. Agile Principles
1. Our highest priority is to satisfy the customer through
the early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to- face conversation. Agile Principles
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10.Simplicity–the art of maximizing the amount of work not done–is essential. 11. The best architectures, requirements, and designs emerge from self- organizing teams. 12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Agile vs. Waterfall
• Agile: Focuses on the iterative development process
within the software development lifecycle (SDLC), enabling teams to adapt quickly to user feedback. • DevOps: Emphasizes a linear and sequential development approach, where each phase (requirements, design, implementation, testing, and maintenance) is completed before moving to the next, making it less flexible to changes. Agile vs. Waterfall Agile vs. Waterfall Core Agile Methodologies
1. Scrum: Framework for managing work in structured sprints.
ceremonies, and artifacts. Key roles include Product Owner, Scrum Master, and Development Team, while ceremonies include Daily Standups, Sprint Reviews, and Sprint Retrospectives. Scrum Scrum • When it comes to software development, a scrum can be characterized by developers putting their heads together to address complex problems. • Scrum software development starts with a wish list of features — a.k.a. a product backlog. The team meets to discuss: • The backlog. • What still needs to be completed. • How long it will take. • Scrum relies on an agile software development concept called sprints: • Sprints are periods of time when software development is actually done. • A sprint usually lasts from one week to one month to complete an item from the backlog. • The goal of each sprint is to create a saleable product. • Each sprint ends with a sprint review. • Then the team chooses another piece of backlog to develop — which starts a new sprint. • Sprints continue until the project deadline or the project budget is spent. Scrum • In daily scrums, teams meet to discuss their progress since the previous meeting and make plans for that day. • The meetings should be brief — no longer than 15 minutes. • Each team member needs to be present and prepared. • The ScrumMaster keeps the team focused on the goal. Kanban • Kanban emphasizes managing workflows visually and continuously optimizing for efficiency. Work items move through stages (e.g., To Do, In Progress, Done) displayed on a Kanban board. Extreme Programming
• Extreme Programming (XP) is an Agile software development
methodology that focuses on delivering high-quality software through frequent and continuous feedback, collaboration, and adaptation. XP emphasizes a close working relationship between the development team, the customer, and stakeholders, with an emphasis on rapid, iterative development and deployment. Conclusion
• Agile practices foster adaptability, collaboration, and
incremental improvements, making it ideal for dynamic and complex projects.