Top Banner
1 “Something called agile”
47

1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

Dec 15, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

1

“Something called agile”

Page 2: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

2

Before we start…

• Paavo Pekkanen• Graduated from EVTEK 2006

• Nokia

• Scrum master

• Today’s topics:• Software development processes in general

• Scrum software development• Roles

• Practices

• Artifacts

• Tools

• Values

Page 3: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

3

Waterfall process

What’s wrong with waterfall? Why can’t we use it?

If it’s not broken, don’t fix it!

But… Have you ever had any of these problems?

- Things didn’t go exactly as planned?

- Delivered software wasn’t exactly what the customer needed

- Delivering new features to your software takes too much time

Well… Of course… But you can’t avoid these problems, can you?

You can, if you have the right tool for the right purpose. Maybe you should try Scrum or some other agile method?

Page 4: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

4

Lean, Agile, Scrum – what’s difference?

Lean – a “philosophy” to optimize everything

Agile – a project management methodology

Scrum, Kanban & XP – agile process tools with lean characteristics

Page 5: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

5

“Scrum is not a silver bullet!”

Page 6: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

6

Scrum in a nutshell

• Scrum defines:• Set of practices

• Roles

• Split the work into short iterative cycles - “sprints”

• Typical sprint length is 1-4 weeks

• Every sprint produces potentially shippable product increment

• New releases are shipped frequently, but with “small steps”

• Scrum doesn’t have to be about software development

Page 7: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

7

Project triangle – waterfall

Optimal project

Resources, people

Time, schedules

Requirements

FIXED

Page 8: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

8

Project triangle – waterfall fail mode 1

Optimal project

Resources, people

Time, schedules

Requirements

Not enough people!

Consequence

Page 9: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

9

Project triangle – waterfall fail mode 2

Optimal project

Resources, people

Time, schedules

Requirements

Too much stuff to do!

Consequence

Page 10: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

10

Project triangle – scrum

Optimal project

Resources, people

Time, schedules

Requirements

FIXED

Page 11: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

11

Project triangle – scrum fail mode

Resources, people

Time, schedules

Requirements

Optimal project

Not enough people

Consequence

Page 12: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

12

“You can only pick two!”

Cheap Fast

Good

Page 13: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

13

Scrum roles

• Scrum defines four roles:• Business owner

• Product owner

• Scrum master

• Team member

• NO project manager!

Page 14: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

14

Scrum Roles

• Business owner• “The boss”

• Supplies resources to the team

• Sets the direction of the business

Page 15: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

15

Scrum Roles

• Product owner• Sets the direction of the product

• Collects the new requirements from all of the stakeholders

• Prioritizes the requirements

• “The voice of the customer” for the development team

• Doesn’t have a permission to interfere the daily development work

• Is NOT a manager of the team

Page 16: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

16

Scrum Roles

• Scrum master• Responsible for the scrum process

• Makes sure the Scrum principals are obeyed

• Facilitates• Takes care of the practical things• “Servant leader“

• Removes impediments • Anything which prevents or slows

down the working of the development team

• “A team’s bulldozer”

• Acts as a buffer between the development team and the rest of the world

• Shields the team against any external interference

• Keeps everything visible!

• Is NOT a manager of the team

Page 17: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

17

Scrum Roles

• Development team (scrum team)• Typical size: 5–9 people

• Responsible to deliver the product increment

• Commits to the sprint goals agreed with the product owner

• Self-organizing

• Cross-functional

• Protected against any external interference

Allowed to be concentrated to work only on things it does the best – delivering the product increment of the current sprint

Page 18: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

18

Question

Can one person have more than just one role?

Page 19: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

19

Scrum Roles

• Avoid situation where one person has more than one role• Sometimes it’s not possible

• Scrum master + product owner = conflicts of interest

• Scrum master + team member = no real scrum master

• Make sure everyone understands the roles• Which responsibilities belong to each role

• Common mistakes which ARE NOT TRUE:• Scrum master is the “Project manager”

• Product owner is the “Project manager”

• Product owner is responsible for the business

• Scrum master controls the requirements (user stories)

• Team members report to scrum master in daily meetings

Page 20: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

20

Recap – any questions?

• Business owner• “The boss”

• Product owner• Manages the requirements

• Knows what the customer wants

• Scrum master• Ensures the scrum principles are followed

• Ensures the development team is fully functional and productive

• Scrum team / Development team• Organizes itself and its work

Page 21: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

21

Scrum Practices – Sprint planning

• Product backlog• Collection of “stuff” to be done

“someday” • Typically a list of requirement

specifications for new features• Could include also “studies”,

“issues”, “bugs” or any work which takes the development team’s time

• Single requirement is called PBI, Product Backlog Item

• Anyone can add new items into the product backlog

• Items must be prioritized• “Features A, D and G are the most

important!”

• Product owner is responsible for the priority order

• Requires close collaboration with all of the stakeholders

• Priority must be updated frequently!

Page 22: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

22

Scrum Practices – Sprint planning

• Sprint backlog• A subset of the Product backlog• List of the requirements for the

current sprint• “These are the most important

requirements - today!”

• Content agreed together with the product owner and the scrum team

• PO doesn’t have the power to decide the content alone

• Scrum team has the power to “no, that’s impossible”

• “What’s not in the backlog, doesn’t exist”

• No one can ask the scrum team to do anything outside the sprint content

Page 23: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

23

Question

A big boss enters the development team’s room saying: “I have a very important demo with a customer next week. I need you to implement this sales statistics

feature asap!” What happens?

Page 24: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

24

Scrum Practices – Sprint planning

• Product Backlog Item (PBI) • Typically a requirement for a new

feature• PBI must have

• A user story, which describes the item

• An acceptance criteria, which defines the Definition of Done (DoD)

• Additionally PBI can have• Size estimation

• Story points• Team votes the size• Accuracy improves slowly

• Business value estimation• “How much we want it?”• “How much it hurts us to not to

have it”

MySQl daily backup and restoration mechanism

As a customer, I don’t want to lose my data if the MySQL server crashes.

Acceptance criteria:

• There are automatic daily backups done for all the data in database

• Restoration scripts are manual

• After incident occurred, solved and servers running, data restoration should be possible to do in 1 hour

• These new features are documented internally

• All these features have been tested and no open bugs remain

• Other parts of the system has not been broken by these modifications

Page 25: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

25

Recap – any questions?

• Product backlog• Collection of work to do

• Sprint backlog• A subset of Product backlog

• Defines the goals for the current sprint

• Product Backlog Item (PBI)• A feature requirement or any other work which takes time

Page 26: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

26

Scrum Practices – Sprint planning

• Task list• TODO list of everything one must

do during the sprint

• Tasks are created from the content of the sprint backlog items

• Shows the status of the sprint progress

• Keeps track of the daily development work

Page 27: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

27

Task list example – Beginning of the sprint

User story Not started In progress Done

As an end user, I want to… blaa blaa

blaa… so that I can… blaa blaa blaa

As an administrator, I want to….

As an end user, I want to… blaa blaa

blaa… so that I can… blaa blaa blaa

Implement the UI

Write the test cases

Run the test cases

Task A

Task B

Task D

Task C

Page 28: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

28

Task list example – In the middle of the sprint

User story Not started In progress Done

As an end user, I want to… blaa blaa

blaa… so that I can… blaa blaa blaa

As an administrator, I want to….

As an end user, I want to… blaa blaa

blaa… so that I can… blaa blaa blaa

Implement the UI

Write the test cases

Run the test cases

Task A

Task B

Task D

Task C

Page 29: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

29

Task list example – In the middle of the sprint

User story Not started In progress Done

As an end user, I want to… blaa blaa

blaa… so that I can… blaa blaa blaa

As an administrator, I want to….

As an end user, I want to… blaa blaa

blaa… so that I can… blaa blaa blaa

Implement the UI

Write the test casesRun the

test cases

Task ATask B

Task D

Task C

Page 30: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

30

Task list example – At the end of the sprint

User story Not started In progress Done

As an end user, I want to… blaa blaa

blaa… so that I can… blaa blaa blaa

As an administrator, I want to….

As an end user, I want to… blaa blaa

blaa… so that I can… blaa blaa blaa

Implement the UI

Write the test cases

Run the test cases

Task A

Task B

Task D

Task C

Page 31: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

31

Task list example

Page 32: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

32

Task list example

Page 33: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

33

Task list example

Page 34: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

34

Question

Who assigns the tasks for individual team members?

Page 35: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

35

Scrum Practices – Sprint in action

• Daily Scrum• Daily stand-up meeting for the

team to share information• The meeting must be so short

and efficient that people don’t have to sit, 5 to 10 min

• Every team member is asked:• What did you do yesterday?

• What will you do today?

• Do you have any impediments with your work?

• When it’s not your turn to speak, SHUT UP and listen!

• Scrum master makes sure the discussion keeps on track

Page 36: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

36

Question

A team starts to use the daily scrum practice, what will change?

Page 37: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

37

Scrum Practices

• Sprint review meeting• All the stakeholders are invited

• The scrum team demonstrates what was built during the sprint

• Product owner declares whether the acceptance criteria was met for each item, or not

• Accepted items have permission to be released

Page 38: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

38

Question

What happens, if an item doesn’t meet the acceptance criteria?

Page 39: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

39

Scrum Practices

• Retrospective meeting• Feedback meeting after every

sprint

• Facilitated by the scrum master

• The team considers• “What did we do well”

• “What can we do better?”• Translate to actions

• “Inspect and adapt”

Page 40: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

40

Recap – any questions?

• Task list• TODO list for the sprint

• Team members pick tasks for themselves

• Daily scrum• Daily stand-up meeting to share information

• Kept short and efficient

• Sprint review• Team demonstrates the outcome of the sprint to Product owner

• Retrospective meeting• The scrum team analyzes their own process

Page 41: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

41

How to write a user story

• Template: As a <some role>, I want <something>, so that <some value>

• Describes who wants, what wants and what for in one sentence

• Examples:• “As an end user I want to be able to upload my picture to my profile page, so

that my profile page looks cool”

• “As a sales person, I want to see statistics of my performance in graphical charts, so that I monitor my performance”

• “As an administrator, I want to have database backups, so that I won’t be in big trouble if something unexpected happens”

• User story does not define any details of the implementation!

• Every user story needs a Definition of Done (acceptance criteria)

Page 42: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

42

Definition of Done

• Definition of Done must describe exactly what “done” means• Product Owner must pay careful attention when defining the DoD• The scrum team must challenge the DoD, if necessary• “What’s not in DoD, is not needed”• Item is either “done” or “not done”

• Example:• Story: Picture upload

• end user can upload his/her picture from profile settings page• picture is shown on the left upper corner of the profile page• picture is scaled to fit the profile picture box on the profile page• functional tests are passed• regression tests are passed• design documents are updated• user's guide is updated

• Does not define any details of the implementation!

Page 43: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

43

How to define tasks

• What’s a good size for a task?• You don’t know before you try

• Some tips and hints:• If completing the task takes more than you can do in one day, ask yourself: “Can I split this in

two?”

• If it takes more time to write the tasks than doing the tasks, ask yourself: “Am I writing too small tasks?”

• BUT… If a very small task is critical and easy to forget, maybe it’s a good idea to put it on the task board

• Be clear on writing the task• Any team member must understand what the task is about

• New tasks occur in every project• Any team member can write new tasks when needed

• Leave some room for surprises

• Remember the team is self-organized, DON’T assign tasks to people

• If you pick a task, the rest of the team trust you really do that task• You should finish the task before picking the next one

Page 44: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

44

Task examples

• Story: • “As an end user I want to be able to

upload my picture to my profile page, so that my profile page looks cool”

• Acceptance criteria (DoD):• end user can upload his/her picture from

profile settings page

• picture is shown on the left upper corner of the profile page

• picture is scaled to fit the profile picture box on the profile page

• functional tests are passed

• regression tests are passed

• design documents are updated

• user's guide is updated

• Tasks:• Update DB structure (1h)

• Implement changes to “Profile settings” page (3h)

• NOTE: Ask the product owner for picture size limitations

• Implement changes to “Profile” page (3h)• NOTE: picture goes to left upper corner

• NOTE: picture must be scaled to fit the picture box

• Code review (4h)

• Update design documents (1h)

• Update user’s guide (1h)

• Write test cases (5h)

• Test case review (15h)

• Run functional test cases (4h)

• Run regression test cases (4h)

• TOTAL HOURS: 39

Page 45: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

45

Question

What are your organization’s values?

Page 46: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

46

Scrum Values

• Scrum has five values• Commitment

• Focus

• Openness

• Respect

• Courage

• WARNING: If your team lacks these values, you will most probably fail in scrum implementation

Commitment

Be willing to commit to a goal.  Scrum provides the tools for it.

Focus

Do your job. Focus all your efforts and skills on doing the work that you’ve committed to doing. Don’t worry about anything else.

Courage

Have the courage to commit, to act, to be open and to expect respect.

Respect

Individuals are shaped by their background and their experiences. It is important to respect the different people who comprise a team.

Openness

Scrum keeps everything about a project visible to everyone.

Page 47: 1 “Something called agile”. 2 Before we start… Paavo Pekkanen Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes.

47

The end

Thank you!