Agile Scrum software methodology

Post on 09-Sep-2014

161 views 4 download

Tags:

description

Software methodology course

Transcript of Agile Scrum software methodology

Mohmmad Ali Jinnah UniversityBy

DR. Haji khan soomro(Dean) Computer science

Abdullah Lakhan (Lecturer) Computer scienc

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

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

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

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

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

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

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

Functionality of Scrum

Maju Agile Scrum Methodology 10

Components of ScrumScrum RolesThe ProcessScrum Artifacts

Maju Agile Scrum Methodology 11

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

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

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

The ProcessSprint Planning MeetingSprintDaily ScrumSprint Review Meeting

Maju Agile Scrum Methodology 15

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

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

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

Maju Agile Scrum Methodology 18

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

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

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

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

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

Scrum ArtifactsProduct BacklogSprint BacklogBurn down Charts

Maju Agile Scrum Methodology 24

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

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

Product BacklogIs only a FORECAST!-> is not exact

Maju Agile Scrum Methodology 27

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

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

Sprint BacklogIs a FORECAST!Is a good warning monitor

Maju Agile Scrum Methodology 30

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

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

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

Maju Agile Scrum Methodology 33

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

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

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

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

(all the releases)

Maju Agile Scrum Methodology 37

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

Scaling Scrum

Maju Agile Scrum Methodology 39

Scaling Scrum

Maju Agile Scrum Methodology 40

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

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

ConclusionThanks for you attention!

Any questions?

Maju Agile Scrum Methodology 43