What is Agile?

Agile Manifesto

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

 

12 Principles of Agile


  1. Highest priority is customer satisfaction

  2. Welcome changing requirements

  3. Frequent delivery of software

  4. Business people & developers cooperating daily

  5. Build projects around motivated people

  6. Face-to-face conversation is best

  7. Progress measured by working software

  8. Sustainable development pace

  9. Continuous attention to technical excellence

  10. Simplicity

  11. Self-organizing teams

  12. Regular reflection & adaptation

Agile References

  • http://agilemanifesto.org

  • http://agilemethodology.org

  • http://www.hackerchick.com/2012/01/kanban-is-the-new-scrum.html

What is Scrum?

Scrum Workflow

And I think there’s a lot of goodness in Scrum. It provides clear structure for what the team needs to do (the Sprint Backlog), gives them focus for getting it done (backlogs are fixed for the duration of the sprint), and then enables the team to determine the best methods for getting that work done. It even provides them a coach (ScrumMaster) who’s job it is to make sure they have what they need and to get impediments out of their way.

Abby Fichtner, Kanban is the New Scrum

 

http://www.hackerchick.com/2012/01/kanban-is-the-new-scrum.html

Scrum is a mangement framwork. It gives structure to the Agile principles and makes things more predictable.

 

  • Single person responsible for maximizing the return on investment (ROI) of the development effort
  • Responsible for product vision
  • Constantly re-prioritizes the Product Backlog, adjusting any longterm expectations such as release plans
  • Final arbiter of requirements questions
  • Accepts or rejects each product increment
  • Decides whether to ship
  • Decides whether to continue development
  • Considers stakeholder interests
  • May contribute as a team member

Product Owner

 

  • Cross-functional (e.g., includes members with testing skills, and often others not traditionally called developers: business analysts, domain experts, etc.) Self-organizing / self-managing, without externally assigned roles
  • Negotiates commitments with the Product Owner, one Sprint at a time
  • Has autonomy regarding how to reach commitments
  • Intensely collaborative
  • Most successful when located in one team room, particularly for the first few Sprints
  • Most successful with long-term, full-time membership. Scrum moves work to a flexible learning team and avoids moving people or splitting them between teams.
  • 3-9 members (originally 7 ± 2 members)​

Scrum Development Team

Scrum Master

  • Facilitates the Scrum process
  • Helps resolve impediments
  • Creates an environment conducive to team self-organization
  • Captures empirical data to adjust forecasts
  • Shields the team from external interference and distractions to keep it in group flow (a.k.a. the zone)
  • Enforces timeboxes
  • Keeps Scrum artifacts visible
  • Promotes improved engineering practices
  • Has no management authority over the team (anyone with authority over the team is by definition not its Scrum Master)

Scrum References

  • http://scrumreferencecard.com/scrum-reference-card/

What is Lean?

Lean Principles

  1. Eliminate Waste
  2. Build Quality In
  3. Create Knowledge
  4. Defer Commitment
  5. Deliver Fast
  6. Respect People
  7. Optimize the Whole

Lean comes from Lean Manufacturing and is a set of principles for achieving quality, speed & customer alignment

In a nutshell, Lean says to relentlessly eliminate anything that isn’t adding value and only work on what we absolutely need to be doing at this moment in time. Eliminating waste means eliminating useless meetings, tasks and documentation. But it also means eliminating time spent building what “we know” we’ll need in the future (things are constantly changing so we often end up not needing them – or if we do, we have to rework them because conditions and our understanding has changed by then). It also means eliminating inefficient ways of working – like multitasking (!) – so we can deliver fast.

Abby Fichtner, Agile Vs. Lean: Yeah Yeah, What’s the Difference?

 

Lean References

  • http://www.hackerchick.com/2012/01/agile-vs-lean-yeah-yeah-whats-the-difference.html

Agile

By Mike Costanzo