Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA 10 Principles 1. Ignore the past, only look...

20
SE 3800 SOFTWARE ENGINEERING PROCESS II Dr. Rob Hasker Dr. Brad Dennis

Transcript of Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA 10 Principles 1. Ignore the past, only look...

Page 1: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

SE 3800SOFTWARE

ENGINEERING PROCESS II

Dr. Rob Hasker

Dr. Brad Dennis

Page 2: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

A new process: YOGA 10 Principles

1. Ignore the past, only look ahead

2. Be artists, free to create

3. Meditate on code each day: what to fix?

4. Daily meeting: discuss meditation results

5. Flexibility: choose a change of the day

6. Rotate often: switch roles for flexibility

7. Strengthen your core: exercises for the developers that make 80% of all changes

8. Improve balance: one foot stance at mtg

9. Salute the sun: celebrate yesterday’s changes, ensure enough food and coffee to for the day

10. Relax: stop thinking about code, chant UUUMMMLL

Page 3: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

A new process: YOGA 10 Principles:

1. Ignore the past, only look ahead

2. Be artists, free to create

3. Meditate on code each day: what to fix?

4. Daily meeting: discuss meditation results

5. Flexibility: choose a change of the day

6. Rotate often: switch roles for flexibility

7. Strengthen your core: exercises for the developers that make 80% of all changes

8. Improve balance: one foot stance at mtg

9. Salute the sun: celebrate yesterdays changes, ensure enough food and coffee to for the day

10. Relax: stop thinking about code, chant UUUMMMLL

You only Go Ahead

SIGSOFT, July 2015David Weiss

Page 4: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Logistics

Class roster, attendance policy Book, Schedule, policies, grading Course web site Prereq check:

SE 2800, Software Process ISE 2832, Verification

Page 5: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Curricular ContextSenior Design

SE 3800 Process II

SE 2800 Process I

SE 2832 Verification

Software Development

Lab

SE 3821 Requirements

Page 6: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Course Goals

Build on SE 2800: increase knowledge and skill in following software process

Tailor software process (especially Scrum) to project needs

Add continuous integration, verification, software quality components

Industrial strength tool use

Page 7: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Course Goals

Build on SE 2800: increase knowledge and skill in following software process

Tailor software process (especially Scrum) to project needs

Add continuous integration, verification, software quality components

Industrial strength tool use

Common theme: reduce risks

Page 8: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Textbook

Scrum Shortcuts without Cutting CornersIlan Goldstein, Addison Wesley, 2014“an approach rather than the approach to

implementing Scrum.” (p. xix)Scrum is a framework; organizations can

and must specialize to their needsKey questions: what’s mandatory? What can we change and still be effective?

Page 9: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Tools

Atlassian JIRA/Agile planning

& trackingConfluence (wiki)

BitbucketGit repositorySourcetree

JUnitTest automation

Jenkins/TeamcityContinuous build

Page 10: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

The big picture

1st year: implementation 2nd year: basic elements of SE process 3rd year: project experience

This course: software quality goals and tools, tailoring process to project

Page 11: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Scrum Refresher

Who are these people?Product ownerScrumMasterDevelopment team

Page 12: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Scrum Refresher

Who are these people?Product ownerScrumMasterDevelopment team

What will be developed, and in what order

Guiding team on creating, following process; removing impediments

5-9 people: determines how to deliver what product owner requests.

Page 13: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Scrum Refresher

Who are these people?Product ownerScrumMasterDevelopment team

Is the product owner the only interface to the customer?

How to qualify as ScrumMaster? How to approach being ScrumMaster?

Scrum Team

Page 14: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Reviewing Scrum Activities The Scrum process cycle (picture)

Pair Exercise

Page 15: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Reviewing Scrum Activities The Scrum activity cycle

Sprintplanning

Sprint execution

Sprint review

Sprint retro-

spective

Daily scrum

Page 16: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Reviewing Scrum Activities The Scrum activity cycle

Sprintplanning

Sprint execution

Sprint review

Sprint retro-

spective

Daily scrum

• What are some issues that this does not clarify?

• Are there places where you did things differently on your internships?

• What needs to change about Scrum for SDL?

Page 17: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Product Backlog

Product backlog items (PBIs) What qualifies as a PBI? Who manages these? What is “grooming”? How are PBIs ordered? How are PBIs estimated? Differences on internships?

Page 18: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Course themes

What is Scrum, exactly?What can we changeWhat are things we want to not do?

How would you introduce Scrum to an organization?

How to improve your use of Scrum

Page 19: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Other topics

Are there other ways to develop software?

How can we solve the “it works on my machine” problem?

Can we get customers to write some of our tests?

How to ensure the development environment is the same as the production environment?

Page 20: Dr. Rob Hasker Dr. Brad Dennis. A new process: YOGA  10 Principles 1. Ignore the past, only look ahead 2. Be artists, free to create 3. Meditate on code.

Scrum review

Product roles Scrum activities Product backlog Read: Ch. 2, 3

At start of Wed. class, submit hard copy, typed report on assigned Ch. 3 principle (Shortcuts 7-9)

Heading: student named, assigned principleDefinition: what assigned component means with

examplesAssess: reasoned opinion of value & correctness

of each component; exceptions?