+ All Categories
Home > Business > Intro to Agile

Intro to Agile

Date post: 20-Aug-2015
Category:
Upload: carl-bruiners
View: 2,340 times
Download: 1 times
Share this document with a friend
31
Introduction to Agile Development
Transcript
Page 1: Intro to Agile

Introduction to Agile Development

Page 2: Intro to Agile

What is Agile?

Page 3: Intro to Agile

3

What is Agile Development?• Self Organizing*

• Empowering

• Collaborative

• Active Customer Involvement

• Frequent Delivery

• Incremental

• Time-Based*

• Disciplined

• Continuous Integration*

• Feature Driven

• Adaptive

• Goal Driven

• Iterative

• Lean

• Emergent Approach

Page 4: Intro to Agile

4

Traditional “Waterfall” Approach

Months to working deliverable software

Page 5: Intro to Agile

5

How Agile Differs from Traditional Development Approach

Traditional – Sequential Method

Agile – Iterative Method

Page 6: Intro to Agile

6

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

http://agilemanifesto.org/

Page 7: Intro to Agile

7

Agile Principles

• Customer satisfaction by rapid, continuous delivery of useful software

• Working software is the principle measure of success

• Changes in requirements are anticipated and welcomed

• Close, daily cooperation between business and developers

• Face-to-face conversation is the best form of communication

• Self-organizing teams

• Regular adaptation to changing circumstances

Page 8: Intro to Agile

8

Agile Development Includes…• Continuous Innovation and Integration

Deliver current customer requirements

• Decreased communication latency Stakeholders actively involved in development

• Testing integrated into the development process

Doesn’t need or include a separate QA cycle

Continuous integration, multiple builds

• Product adaptability Doesn’t preclude future requirements

Adapts to changing requirements

Page 9: Intro to Agile

Agile Development

SCRUM Roles

Page 10: Intro to Agile

10

What is Scrum?

• An Agile process for software development

• Projects progress via a series of iterations called “sprints”

• Each sprint is typically 2-4 weeks in duration

• Scrum Team typically includes 5-9 people with cross-functional skills

• Scrum Master facilitates the process

Page 11: Intro to Agile

11

Scrum Team

• Responsible for product delivery

• Cross-functional Skills

• Self-organizing

• Daily face-to-face communication

• Small size helps foster collaboration

Page 12: Intro to Agile

12

Scrum Master

• Not the Team Leader

• Acts as a buffer between the team and any distracting

influences

• Facilitates the process

• Helps remove obstacles to team’s sprint delivery goals

• Ensures team focus

• Not responsible for the teams delivery

Page 13: Intro to Agile

13

Product Owner

• Key stakeholder

• Represents the voice of the customer

• Identifies customer-centric requirements

• Ensures Scrum Team work is aligned with needs of the business

• Creates “User Stories”

• Prioritises the “Product Backlog”

Page 14: Intro to Agile

Agile Development

SCRUM Process

Page 15: Intro to Agile

15

Agile Development

Page 16: Intro to Agile

16

Story Creation

Story

A User Story is a simple statement about what a user wants to do with a feature of the software, written from a user's perspective.

All stories should be Independent, Negotiable, Valuable, Estimable, Small, Testable

Story Points

Relative size of stories vs. each other

Sized by the team and used to understand capacity and estimate schedules

Page 17: Intro to Agile

17

Story Breakdown

Independent

Negotiable

Valuable

Estimable

Small

Testable

Page 18: Intro to Agile

18

Cone Of Uncertainty

Page 19: Intro to Agile

19

Product Backlog

• Master list of desired product functionality

• Initiates the development process

• High priority items are used to create the Sprint Backlog

• Product Backlog grows and changes as more information is acquired

Page 20: Intro to Agile

20

Product Backlog - Example

Page 21: Intro to Agile

21

Sprint Planning Meeting

• Assess team availability and capacity for next iteration

• Review prioritized backlog – commit to deliver stories

• Turn stories into a series of tasks for iteration

• Ownership of tasks along with risks

Page 22: Intro to Agile

22

Sprint Backlog Example of Sprint Backlog in Excel

• Lists tasks that will be completed during current sprint

• Items drawn from Product Backlog

Page 23: Intro to Agile

23

Burndown Chart

• Used to approximate conclusion of estimated backlog of work

• Each point in the chart represents a sprint

Page 24: Intro to Agile

24

Daily Meetings

• Brief (10-15 min) daily meeting

• Assures continual team communication

• Drives accountability (peer-pressure, visibility)

• Demonstrates day-to-day progress to all team members and stakeholders

Page 25: Intro to Agile

25

Identifying Potential Obstacles

• My ____ broke and I need a new one today.

• I still haven't got the software I ordered a month ago.

• I need help debugging a problem with ______.

• I'm struggling to learn ______ and would like to pair with someone on it.

• I can't get the vendor's tech support group to call me back.

• Our new contractor can't start because no one is here to sign her contract.

• I can't get the ____ group to give me any time and I need to meet with them.

• The department VP has asked me to work on something else "for a day or two."

Page 26: Intro to Agile

26

Scrum Board

Page 27: Intro to Agile

27

Scrum Board - Example

Page 28: Intro to Agile

28

Sprint Review Meeting

• Review the work that was completed and not completed

• Present the completed work to the stakeholders (a.k.a. "the demo")

• Incomplete work cannot be demonstrated

• Feedback is reviewed and put back into backlog

• Use to continually stay on course – deliver higher business value

• Two hour time limit

Page 29: Intro to Agile

29

Retrospective meeting

• Team reviews iteration successes and short falls

• What could be done different in subsequent iteration?

• Build in continuous improvement to agile process

• Vital to success of agile development

Page 30: Intro to Agile

30

Summary of Agile Advantages

• Get to see working Software every 2 weeks

• Implement by feature not by task (design, code, test)

• Feedback to development team sooner

• Collaboration with customer – deliver only what’s needed

• Quality as part of process – testing is continuous

• Continuous improvement built into cycle

Agile Projects are 37% Faster to Market than Industry Average*

*QSM Associates

Page 31: Intro to Agile

31

Further reading…

http://www.mountaingoatsoftware.com/blog/ - Mike Cohn (Agile, Scrum, TDD)

http://www.carlbruiners.com - Carl Bruiners (Agile, Scrum, Kanban, BDD)

http://dannorth.net - Dan North (Agile, BDD)

http://www.threeriversinstitute.org - Kent Beck (Agile, XP)

http://scrum.jeffsutherland.com - Jeff Sutherland (Agile, Scrum)

http://www.clarkeching.com - Clarke Ching (Agile, TOC, Scrum)

http://theagilepirate.net - Simon Cromarty (Agile, Scrum, Kanban, BDD)

http://cognitive-edge.com/blog/author/19/ - Dave Snowden (Future of software development)


Recommended