intro to agile

Post on 20-Aug-2015

2.339 Views

Category:

Business

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introduction to Agile Development

What is 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

4

Traditional “Waterfall” Approach

Months to working deliverable software

5

How Agile Differs from Traditional Development Approach

Traditional – Sequential Method

Agile – Iterative Method

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/

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

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

Agile Development

SCRUM Roles

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

11

Scrum Team

• Responsible for product delivery

• Cross-functional Skills

• Self-organizing

• Daily face-to-face communication

• Small size helps foster collaboration

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

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”

Agile Development

SCRUM Process

15

Agile Development

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

17

Story Breakdown

Independent

Negotiable

Valuable

Estimable

Small

Testable

18

Cone Of Uncertainty

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

20

Product Backlog - Example

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

22

Sprint Backlog Example of Sprint Backlog in Excel

• Lists tasks that will be completed during current sprint

• Items drawn from Product Backlog

23

Burndown Chart

• Used to approximate conclusion of estimated backlog of work

• Each point in the chart represents a sprint

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

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."

26

Scrum Board

27

Scrum Board - Example

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

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

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

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)

top related