scrum for developers

36
SCRUM FOR DEVELOPERS Mohamed Ahmed Meligy Senior Software Engineer SilverKey Technologies, LLC weblogs.asp.net/meligy

Upload: mohamed-meligy

Post on 22-May-2015

3.522 views

Category:

Business


1 download

DESCRIPTION

A session on what a developer needs to know when applying to a company where the PM says "we work with Scrum"

TRANSCRIPT

Page 1: Scrum For Developers

SCRUM FOR DEVELOPERSMohamed Ahmed MeligySenior Software EngineerSilverKey Technologies, LLCweblogs.asp.net/meligy

Page 2: Scrum For Developers

Project Management Methodologies

You heard about them in collage

Page 3: Scrum For Developers

Waterfall Model

Page 4: Scrum For Developers

Does it work ???

Who goes home at 5 PM ?Why did Windows Vista take 5 years ?

Page 5: Scrum For Developers

Every Project Story

• The customer knows nothing• The developer thinks about new technologies• The PM thinks about the deadline• The analyst thinks he knows everything

He got “everything” from the customer, who knows “nothing” ;-)

Page 6: Scrum For Developers

Every Project Story

• The developer: “I can do it in 3 months”• The PM: “You’ll do it in 2 months”• The project takes 4-5 month

Page 7: Scrum For Developers

Every Project Story

• 1st Month: Everybody is happy• 2nd Month: Customer sees “something”• 3rd Month: Customer makes tons of changes

– The developer screams– The project manager blames …. ???

• Last Month: Everybody is at office till 8-10 PM• Every DAY:

– The PM: Developer, you’re not done yet? LOSER!!

Page 8: Scrum For Developers

Why does it happen?

• Requirements are not fully understood at the beginning of the process.

• Requirements change during the process.• The process becomes unpredictable when

new tools and technologies are used.

Page 9: Scrum For Developers

Other Methodologies

• Spiral• CMMI• Rational Rose• Agile

Page 10: Scrum For Developers

AgileWho’s this ???

Page 11: Scrum For Developers

Agile Manifesto

• Individuals and interactionsOver processes and tools

• Working softwareOver comprehensive documentation

• Customer collaborationOver contract negotiation

• Responding to changeOver following a plan

Page 12: Scrum For Developers

Agile Methodologies

• eXtreme Programming (XP)– Pair Programming– Test Driven Development– Continuous Integration– Refactoring, Coding Standards, etc…

• Adaptive Software Development– speculate, collaborate, and learn cycles

• Scrum

Page 13: Scrum For Developers

SCRUM??

Page 14: Scrum For Developers

2-4 weeks

7-8 hours

Product BacklogAs prioritized by Product Owner

Sprint Backlog

Backlog tasksexpandedby team

Potentially ShippableProduct Increment

Daily ScrumMeeting

Source: Adapted from “Agile Software Development with Scrum” by Ken Schwaber and Mike Beedle.

Scrum Model

Page 15: Scrum For Developers

Prerequisites

• Small Team• Good People• Common Sense

Page 16: Scrum For Developers

Product BacklogList of work items during the entire project

Page 17: Scrum For Developers

SprintA certain period of time with specific deliverables

Lasts for 2-4 weeks – NO MORE NO LESS

Page 18: Scrum For Developers

Sprint

• Before Start: Sprint Planning• Starts with Sprint Backlog

Choose highest priority items remaining in product backlog

• Ends with Deliverables– New Features Developed / Old Bugs Fixed– Sprint Zero and Sprint One might deliver documents!

• Architecture Documents• UI Prototype

• After End: Sprint Review Usually just before next sprint planning

Page 19: Scrum For Developers

Sprint Daily Meetings

What did you do Yesterday ?What will you do today ?

Do you have any problems ?

Page 20: Scrum For Developers

Sprint Daily Meetings

• Stand up Meetings• 15 Minutes Max.

– Well, don’t exceed 30 minutes at least

• Entire Team

Page 21: Scrum For Developers

Scrum Roles

Product OwnerScrum MasterProject Team

Page 22: Scrum For Developers

Scrum Roles: Product Owner

• Possibly a Product Manager or Project Sponsor– That’s what we call an “analyst”

• Marketing• Internal Customer• etc.

– Not a technical guy, BUT ….

Page 23: Scrum For Developers

Scrum Roles: Scrum Master

• Responsible for enacting Scrum values and practices– Manages the sprint meeting– Does the sprint reporting

• Typically a Project Manager or Team Leader– That’s what the books say– I have played it a different way

Page 24: Scrum For Developers

Scrum Roles: Project Team

• Cross-functional– QA– Developers– UI Designers– etc

• 5-10 members (as the books say)– I’d rather 5 to 7 MAX per team

Page 25: Scrum For Developers

Scrum Artifacts

Product BacklogSprint Backlog

Burndown Chart

Page 26: Scrum For Developers

Burndown Chart

Page 27: Scrum For Developers

SCRUM AND YOUThe Developer

Page 28: Scrum For Developers

Self Management

50% for managing yourself25% for managing your boss

25% for managing everybody else

(Dee Hock – Founder of VISA)

Page 29: Scrum For Developers

Accept Flexible Deliverables

As this means flexible scheduleTry not to hate the customer :-D

Page 30: Scrum For Developers

Be ReliableYou are a good guy / gal ;-)

Common Sense

Page 31: Scrum For Developers

Be ReliableYou’ll make mistakes

APOLOGIZE

Page 32: Scrum For Developers

Take CareYou have your good day and bad day

You have your productive and your slow weeks

Page 33: Scrum For Developers

Take CareDo NOT extend a sprint period

Do I have the choice??

Page 34: Scrum For Developers

The Real World

Reality has a tendency to make a beautiful project plan ugly

Page 35: Scrum For Developers

Problems!There’s no silver bullet

Page 36: Scrum For Developers

Where to go

• www.controlchaos.com• www.scrumalliance.org

• My weblogweblogs.asp.net/meligy

Ken Schwaber, 2004ISBN 073561993X