Agile Methodology and Scrum

Agile Methodology and Scrum

Overview

Table of contents

No heading

No headings in the article.

  • Agile is an iterative approach to software development that emphasizes flexibility, interactivity, and transparency using small, cross-functional teams

  • The Agile Manifesto describes the core values of Agile:

▪︎ Individuals interactions over processes and tool.

▪︎ working software over comprehensive documentation.

▪︎ Customer collaboration over negotiations.

▪︎ Responding to change over following plan.

  • The waterfall approach is a structured, step-by-step process that can lead to problems not surfaced until later in development

  • Extreme Programming (XP) advocated an iterative approach that valued simplicity, communication, feedback, respect, and courage

  • A Kanban system is characterized by visualizing workflow, limiting work in progress, managing and enhancing flow, making process policies explicit, and continuously improving a process

  • Working in small batches means delivering something useful quickly

  • An MVP is the cheapest/easiest thing you can do to test a hypothesis and learn

  • Behavior Driven Development makes sure you are building the right thing

  • Test Driven Development makes sure you are building the thing right

  • Pair programming enables you to discover defects earlier and increase your code quality

  • The Gherkin syntax, which comes from a company called Cucumber, is a single syntax that developers and stakeholders can understand: given some set of preconditions, when an event occurs, then some outcome is observed.

    Agile Methodology

  • Scrum is a methodology that follows the Agile philosophy.

  • The Scrum management framework:

▪︎ Provides structures through defined role,meeting, rules and artifacts.

▪︎ Prescribes, small cross-functional,self-organizing teams.

▪︎ Uses fixed length iterations called sprints.

▪︎ Produces a potentially shippable product increment with every iteration .

  • The product owner represents stakeholders, articulates the product vision, and decides priorities, requirements, and readiness to ship

  • The scrum master coaches the team, promotes a cooperative environment, shields the team from interference, and unblocks impediments

  • The scrum team is small, dedicated, co-located, cross-functional, and self-managing

  • The scrum team negotiates commitments with the product owner — one sprint at a time

  • The scrum team has autonomy regarding how to reach commitments

  • Scrum produces a product backlog, a sprint backlog, and a completed — or done — increment

  • The Scrum events are sprint planning, daily Scrum meetings, sprints, sprint reviews, and sprint retrospectives.

If done well,scrum can :

  • Increase employee productivity and happiness

  • Improve product quality

  • Reduce time to market

  • Enhance stakeholder satisfaction.

  • How you are organized can affect the systems that you build.

  • Giving teams autonomy leads to motivated teams who can execute faster and build better systems

  • Not adopting Agile across your organization can lead to operational bottlenecks

  • Many companies adhere to their waterfall planning and call it Agile

  • Simply doing iterative development is not Agile unless you are being responsive to changes and delivering value often.