Agile Scrum.A Chicken and Pig approach

Preview:

DESCRIPTION

An Introduction to Scrum..A Chicken and Pig approach.

Citation preview

An Introduction to Scrum

Satyendra Jaladi

All characters and slides in this presentation are real and bear entire resemblance to the people who take up the respective roles.all the similarities are meant to be concurrent and purely intentional.

A Chicken & Pig Approach

*Contents

*What is Agile Methodology

*What is Scrum

*Scrum History

*Scrum process

*Agile Really is…

*Conventional vs Agile

*Scrum Roles

*Scrum Terminology

*References

*What is Agile Methodology

Agile software development (Develop quickly and lightly) is based on iterative and incremental development methodology.

*Scrum Su!!!s or Scum Works!!

*If you are executing a project in what you call as agile approach and your project delivery is not Iterative(1-4 weeks),Fixed time based(for consecutive iterations),not responding to business, and not delivery focused then surely scrum su!!!s for your project otherwise Scrum Works.

*“LetsGo” company’s first project

*Example of a project that was executed without proper planning, estimation and schedule is given below.

LetsGo Inc.Ltd.

*What is Scrum

*Scrum is a light-weight Agile method mainly used for managing software development.

*What scrum is not!!

Scrum does not mean doing more work with less number of people!!

*Scrum has it’s limitations.

As Agile means mostly a change of behaviour,based on previous experiences……………. takes time.

*Agile Manifesto

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

*Scrum History

*Jeff Sutherland created initial scrum at Easel Corporation in 1993, based on real life projects.

*He continued to work with Ken Schwaber to emerge Scrum as a formal process at OOPSLA'95.

*Together they have enhanced scrum and helped writing “Agile Manifesto”.

*Some of the Companies implementing scrum.* Nokia, First American Real Estate, BMC Software,

* Microsoft, Yahoo, Google,

* BBC, Siemens, Time Warner,

* Tieto.

*Scrum process

*What is so great about Scrum…

Scrum is implemented keeping in mind the following

Agile principles.* Eliminate Waste that is basically anything not adding value

to the customer.* Test Driven Development* Pair Programming*Co-ownership*Continuous Integration* Standup Meetings-(15Min)

*Pair Programming

*Pair programming is two team members working on a programming task together, at one workstation.

*one writes the code(driver),and the other reviews the code(navigator/observer).

*The two programmers(one of the programmer may be a novice

programmer)switch roles frequently.

*pair programming aids in making a new developer quickly, the loss of one developer is not impacted on the work, because the people who paired with him/her have acquired much of his/her knowledge.

*Last but not least Pair programming reduces mental stress in finding that “missing semicolon”.

*Agile Really is…

*Even if your Agile Scrum does not follow any of the above said principles and still want to be agile it is possible,if your project is….

*Business Focused.(If your business drives what the project should do).

*Responsive.(Need just enough requirements to start the first iteration and add to it later)

*Predictable.(The first iteration is 2weeks,and based on the retrospection next iteration accommodate the changes).

*Adaptable.(Based on inputs from previous sprint the next iteration can change by adding or deleting the tasks.)

*Conventional vs Agile

* Conventional (constructive):

* Document and plan driven approach.

* The whole project planned up-front.

* Implicit resistance to change; requires re-estimation, re-planning, re-design...

* Tight contracts to mitigate risks, formal change management process.

* Project seen as a “black box”, tight customer and supplier roles.

* Separate testing phase.

* Software delivered late, risks realize late, often leading to a false sense of progress.

* Agile (adaptive):

* Focus on delivering the software.

* Rough plan for the whole project, plans updated based on results and feedback.

* Changes encouraged, customer value drives development.

* Trust and empowerment; contracts enabling easy changes to add value.

* Close and continuous co-operation of customer and developers.

* Each increment produces potentially shippable software.

*Working software from each increment, risks realize early.

*Scrum Roles

*Team Members- Plays the central role in the scrum, each individual is self organizing, cross functional, and result oriented.

*Product Owner- Acts as a stakeholder who represents the customer,PO has authority to accept or reject the sprint results, will be part of spring planning,retrospection.

*Scrum Master- Encourages communication and co-operation among the teammates during initial iterations, helps the team in decision making, problem solving whenever required.

*Scrum Terminology

*Product Backlog or Work item list is a prioritized stack of requirements, the product backlog, should also comprise Defect handling(Bug-Fixing) activity at a later level.

*Sprint or An iteration of work during which a potentially shippable product “increment” is implemented. Currently, the recommended duration for sprint is 2-weeks.

*Daily Scrum or Daily Stand-Up is a team level meeting for a 15 minute duration in the IT world, The word “scrum” has different meanings in different contexts.

*The three questions of daily scrum1. What have you done since the previous Daily Scrum?2. What will you do until the next Daily Scrum?3. Are there any impediments that prevent you doing your work?

*Very bad answers to the above questions are.1.What have you done since the previous Daily Scrum?Ans)Some bug fixing and testing work.2.What will you do until the next Daily Scrum?Ans)Some more bug fixes and testing.3.Are there any impediments that prevent you doing your work?Ans)No Impediments.

Instead issues pending in the Bugzilla,fixing new features that are causing regression can be discussed in the daily scrum.

Sprint Retrospective : Analysis about what went well with the spring and what were the show stopper issues,understand why the Sprint failed, prevent it from happening again.

ye shall know the truth…

*Definition of Done: Every task in the spring must meet the set of guidelines, which are made to deliver a “potentially shippable” product increment, before it can be marked as done.

*Definition of Done - Example

*There are no errors and no new warnings when built against the agreed product baseline.

*The code is committed in the version control system.

*The implementation passes testing in all supported environments.

*Code reviews are complete, code is documented well.

*The source implementation meets the story acceptance criteria

*Automated Unit-test cases exist are running daily at the CITA.

*Sprint Burndown chart: A chart for tracing the amount of work left for the current iteration.

• Agile/Scrum websites:• http://agilemanifesto.org/• http://www.agilealliance.org/• http://www.implementingscrum.com/• http://www.mountaingoatsoftware.com/scrum

• Vesa Valima ,Risto Kero and Uppalapati Jayasurya

• Books• Agile Software Development with Scrum (Schwaber, Beedle).

Thank you

Satyendra.Jaladi

Recommended