Agile Scrum software methodology

42
Mohmmad Ali Jinnah University By DR. Haji khan soomro(Dean) Computer science Abdullah Lakhan (Lecturer) Computer scienc

description

Software methodology course

Transcript of Agile Scrum software methodology

Page 1: Agile Scrum software methodology

Mohmmad Ali Jinnah UniversityBy

DR. Haji khan soomro(Dean) Computer science

Abdullah Lakhan (Lecturer) Computer scienc

Page 2: Agile Scrum software methodology

AgendaIntroductionWhat is Scrum?History of ScrumFunctionality of ScrumComponents of Scrum

Scrum Roles The Process Scrum Artifacts

Scaling ScrumEvolution of ScrumScrum & XPConclusion

MAJU Agile Scrum Methodology 2

Page 3: Agile Scrum software methodology

IntroductionClassical methods of software development have

many disadvantages:- huge effort during the planning phase- poor requirements conversion in a rapid changing

environment- treatment of staff as a factor of production

New methods: Agile Software Development

Maju Agile Scrum Methodology 3

Page 4: Agile Scrum software methodology

Manifesto for Agile SDBased on the Manifesto for Agile Software

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

Maju Agile Scrum Methodology 4

Page 5: Agile Scrum software methodology

Agile MethodsAgile methods:

ScrumExtreme ProgrammingAdaptive Software Development (ASD)Dynamic System Development Method (DSDM)…

Agile AllianceA non-profit organization promotes agile

development

Maju Agile Scrum Methodology 6

Page 6: Agile Scrum software methodology

What is Scrum?Definition from rugby football:

a scrum is a way to restart the game after an interruption, where the forwards of each side come together in a tight formation and struggle to gain possession of the ball when it is tossed in among them

Maju Agile Scrum Methodology 7

Page 7: Agile Scrum software methodology

Scrum - an agile processSCRUM is an agile, lightweight process for managing

and controlling software and product development in rapidly changing environments.

Iterative, incremental processTeam-based approachdeveloping systems/ products with rapidly changing

requirementsControls the chaos of conflicting interest and needsImprove communication and maximize cooperationProtecting the team form disruptions and impedimentsA way to maximize productivity

Maju Agile Scrum Methodology 8

Page 8: Agile Scrum software methodology

History of Scrum 1995:

analysis of common software development processes not suitable for empirical, unpredictable and non-repeatable processes

Design of a new method: Scrum by Jeff Sutherland & Ken Schwaber

Enhancement of Scrum by Mike Beedle & combination of Scrum with Extreme Programming

1996:introduction of Scrum at OOPSLA conference

2001:publication “Agile Software Development with Scrum” byKen Schwaber & Mike Beedle

Successful appliance of Scrum in over 50 companiesFounders are members in the Agile Alliance

Maju Agile Scrum Methodology 9

Page 9: Agile Scrum software methodology

Functionality of Scrum

Maju Agile Scrum Methodology 10

Page 10: Agile Scrum software methodology

Components of ScrumScrum RolesThe ProcessScrum Artifacts

Maju Agile Scrum Methodology 11

Page 11: Agile Scrum software methodology

Scrum MasterTypically filled by a Project Manager or Team

LeaderResponsible for enacting scrum values and

practicesMain job is to remove impediments

Maju Agile Scrum Methodology 12

Page 12: Agile Scrum software methodology

The Scrum TeamTypically 5-10 peopleCross-functional (QA, Programmers, UI

Designers, etc.)Members should be full-timeTeam is self-organizingMembership can change only between

sprints

Maju Agile Scrum Methodology 13

Page 13: Agile Scrum software methodology

Product OwnerActs like one voice (in any case)Knows what needs to be build and in what sequence this should be done

Typically a product manager

Maju Agile Scrum Methodology 14

Page 14: Agile Scrum software methodology

The ProcessSprint Planning MeetingSprintDaily ScrumSprint Review Meeting

Maju Agile Scrum Methodology 15

Page 15: Agile Scrum software methodology

Sprint Planning MeetingA collaborative meeting in the beginning of

each Sprint between the Product Owner, the Scrum Master and the Team

Takes 8 hours and consists of 2 parts (“before lunch and after lunch”)

Maju Agile Scrum Methodology 16

Page 16: Agile Scrum software methodology

Parts of Sprint Planning Meeting1st Part:

Creating Product Backlog Determining the Sprint Goal. Participants: Product Owner, Scrum Master,

Scrum Team2nd Part:

Participants: Scrum Master, Scrum TeamCreating Sprint Backlog

Maju Agile Scrum Methodology 17

Page 17: Agile Scrum software methodology

Pre-Project/Kickoff MeetingA special form of Sprint Planning MeetingMeeting before the begin of the Project

Maju Agile Scrum Methodology 18

Page 18: Agile Scrum software methodology

SprintA month-long iteration, during which is

incremented a product functionalityNO outside influence can interference with

the Scrum team during the SprintEach Sprint begins with the Daily Scrum

Meeting

Maju Agile Scrum Methodology 19

Page 19: Agile Scrum software methodology

Daily ScrumIs a short (15 minutes long) meeting, which is

held every day before the Team starts working

Participants: Scrum Master (which is the chairman), Scrum Team

“Chickens” and “Pigs”Every Team member should answer on 3

questions

Maju Agile Scrum Methodology 20

Page 20: Agile Scrum software methodology

QuestionsWhat did you do since the last Scrum? What are you doing until the next Scrum?What is stopping you getting on with the

work?

Maju Agile Scrum Methodology 21

Page 21: Agile Scrum software methodology

Daily ScrumIs NOT a problem solving sessionIs NOT a way to collect information about

WHO is behind the scheduleIs a meeting in which team members make

commitments to each other and to the Scrum Master

Is a good way for a Scrum Master to track the progress of the Team

Maju Agile Scrum Methodology 22

Page 22: Agile Scrum software methodology

Sprint Review MeetingIs held at the end of each SprintBusiness functionality which was created

during the Sprint is demonstrated to the Product Owner

Informal, should not distract Team members of doing their work

Maju Agile Scrum Methodology 23

Page 23: Agile Scrum software methodology

Scrum ArtifactsProduct BacklogSprint BacklogBurn down Charts

Maju Agile Scrum Methodology 24

Page 24: Agile Scrum software methodology

Product BacklogRequirements for a system, expressed as a

prioritized list of Backlog ItemsIs managed and owned by a Product OwnerSpreadsheet (typically)Usually is created during the Sprint Planning

MeetingCan be changed and re-prioritized before

each PM

Maju Agile Scrum Methodology 25

Page 25: Agile Scrum software methodology

Estimation of Product Backlog ItemsEstablishes team’s velocity (how much Effort

a Team can handle in one Sprint)Determining units of complexity.

Size-category (“T-Shirt size”)Story pointsWork days/work hours

Methods of estimation:Expert ReviewCreating a Work Breakdown Structure (WBS)

Maju Agile Scrum Methodology 26

Page 26: Agile Scrum software methodology

Product BacklogIs only a FORECAST!-> is not exact

Maju Agile Scrum Methodology 27

Page 27: Agile Scrum software methodology

Sprint BacklogA subset of Product Backlog Items, which

define the work for a SprintIs created ONLY by Team membersEach Item has it’s own statusShould be updated every day

Maju Agile Scrum Methodology 28

Page 28: Agile Scrum software methodology

Sprint BacklogNo more then 300 tasks in the listIf a task requires more than 16 hours, it

should be broken downTeam can add or subtract items from the list.

Product Owner is not allowed to do it

Maju Agile Scrum Methodology 29

Page 29: Agile Scrum software methodology

Sprint BacklogIs a FORECAST!Is a good warning monitor

Maju Agile Scrum Methodology 30

Page 30: Agile Scrum software methodology

Burn down ChartsAre used to represent “work done”.Are wonderful Information Radiators3 Types:

Sprint Burn down Chart (progress of the Sprint)

Release Burn down Chart (progress of release)Product Burn down chart (progress of the

Product)

Maju Agile Scrum Methodology 31

Page 31: Agile Scrum software methodology

Information Radiator"Two characteristics are key to a good

information radiator. The first is that the information changes over time. This makes it worth a person's while to look at the display... The other characteristic is that it takes very little energy to view the display."

Maju Agile Scrum Methodology 32

Page 32: Agile Scrum software methodology

Burn down ChartsX-Axis: time (usually in days)Y-Axis: remaining effort

Maju Agile Scrum Methodology 33

Page 33: Agile Scrum software methodology

Sprint Burn down ChartDepicts the total Sprint Backlog hours

remaining per dayShows the estimated amount of time to

release Ideally should burn down to zero to the end

of the SprintActually is not a straight lineCan bump UP

Maju Agile Scrum Methodology 34

Page 34: Agile Scrum software methodology

Release Burn down ChartWill the release be done on right time?X-axis: sprintsY-axis: amount of hours remainingThe estimated work remaining can also burn

up

Maju Agile Scrum Methodology 35

Page 35: Agile Scrum software methodology

Alternative Release Burn down ChartConsists of bars (one for each sprint)Values on the Y-axis: positive AND negativeIs more informative then a simple chart

Maju Agile Scrum Methodology 36

Page 36: Agile Scrum software methodology

Product Burn down ChartIs a “big picture” view of project’s progress

(all the releases)

Maju Agile Scrum Methodology 37

Page 37: Agile Scrum software methodology

Scaling ScrumA typical Scrum team is 6-10 peopleJeff Sutherland - up to over 800 people "Scrum of Scrums" or what called "Meta-

Scrum“Frequency of meetings is based on the

degree of coupling between packets

Maju Agile Scrum Methodology 38

Page 38: Agile Scrum software methodology

Scaling Scrum

Maju Agile Scrum Methodology 39

Page 39: Agile Scrum software methodology

Scaling Scrum

Maju Agile Scrum Methodology 40

Page 40: Agile Scrum software methodology

XP@ScrumScrum is an effective project management

wrapper for eXtreme Programming development practices, which enables agile projects to become scalable and developed by distributed teams of developers.

Maju Agile Scrum Methodology 41

Page 41: Agile Scrum software methodology

Pro/ConAdvantages

Completely developed and tested features in short iterations

Simplicity of the process Clearly defined rules Increasing productivity Self-organizing each team member

carries a lot of responsibility

Improved communication Combination with

Extreme Programming

Drawbacks “Undisciplined hacking”

(no written documentation)

Violation of responsibility Current mainly carried by

the inventors

Maju Agile Scrum Methodology 42

Page 42: Agile Scrum software methodology

ConclusionThanks for you attention!

Any questions?

Maju Agile Scrum Methodology 43