Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... ·...

43
Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering Robert Feldt, 2010-10-13 torsdag den 14 oktober 2010

Transcript of Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... ·...

Page 1: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

Summary Lecture Requirements Engineering

Lecture 12, DAT230, Requirements EngineeringRobert Feldt, 2010-10-13

torsdag den 14 oktober 2010

Page 2: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• All chapters for the two books listed on home page

• All articles linked to from home page

• All lecture and exercise slides/material

• Assignment material and what you learnt from there

• Not explicitly included:

• Chapters from books not listed on home page (although some of that material may be covered by other material above and thus might be included)

Material for written exam

torsdag den 14 oktober 2010

Page 3: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• We have not looked at your answers yet, to ensure no effect/bias

• Will do after everything else corrected

• Email with your results + links to norms

“Personality” assignment

torsdag den 14 oktober 2010

Page 4: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• Many rejects: around 45%; you have two days to update after you get comments

• Main reasons:

• General ramblings but no answer to question(s)

• Missing references

• Wrong format or missing intro/abstract/conclusion

• Calling Dr. Jacobsson: Ivar, Ivan, ...

SEMAT assignment

torsdag den 14 oktober 2010

Page 5: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• 1. What is the critique that SEMAT and Ivar Jacobson present to the current state in Software Engineering and Development?

• SE like fashion industry, governed by hype/trends

• Rift between academia and industry

• Methods not really tested in industry

SEMAT answer themes

torsdag den 14 oktober 2010

Page 6: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• 2. In particular how does his and the SEMAT view(s) relate to the way we work with Requirements?

• Upfront requirements are not good, things change over time

• Too much documentation that nobody reads

SEMAT answer themes

torsdag den 14 oktober 2010

Page 7: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• 3. What alternative(s) to the current Requirements Engineering practice does the SEMAT/Jacobsson view propose?

• Suggestions of agile approach and skinny systems

SEMAT answer themes

torsdag den 14 oktober 2010

Page 8: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• 4. Based on your personal Software Engineering/Development experience and views how and why would the proposed solutions/ideas of SEMAT/Jacobson solve some of the current problems (late or unsuccessful projects)?

• Changes to Requirements formats

SEMAT answer themes

torsdag den 14 oktober 2010

Page 9: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• 5. Discuss why you think the SEMAT alternative might not have its intended effects on the practice of Software Engineering.

• This is another trend/hype that promise to solve everything

SEMAT answer themes

torsdag den 14 oktober 2010

Page 10: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• “Problematic” group members will be further investigated

• We know of 3 persons so far

• Little to no effort on group assignment

• Likely to be many more; report or forget

• We will contact problematic ones in coming weeks

• If we judge that you have not contributed enough

• No point “cushion” on written exam (even retroactively)

• Fail group assignment - rework

Group assignment

torsdag den 14 oktober 2010

Page 11: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• Customers were impressed with many groups!

• General notes:

• Many talks about the users as “he”; very 20th century

• Choose few/good presenters rather than many/mediocre

• Good to have ok clothing when selling/presenting

• Body language is important; no hands in pockets, hold in something if nervous, don’t read from slides

• NOT ok to be late, lack of respect for everyone

Group assignment: Presentations

torsdag den 14 oktober 2010

Page 12: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• Winning groups: 20, 21, 11, 2, 12, 4, 17, 16, 15, 10, 1, 6

• You will have a 3 point “cushion” on written exam to get the higher grades (NOT useable to get a pass)

Group assignment

torsdag den 14 oktober 2010

Page 13: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

NatLangFR

AdvantagesFlexible, Easy to understand for everyone, Use for any type,

Fallback option, Easier use during meetings, No specific knowledge reqs, Easier to version control and prioritize

Disadv.

Ambiguity, Harder to “use” in further dev, Requires language skills, Can lack structure (too flexible), Dependencies harder to track (?), Harder to get

overview

Efficiency Quick, Saves time,

Use again

Not use Some reqs hard in text (UI, QR, Sequences)

torsdag den 14 oktober 2010

Page 14: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

I*Advantages

Disadv.

Efficiency

Use again

Not use

torsdag den 14 oktober 2010

Page 15: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

Use CasesAdvantages

Disadv.

Efficiency

Use again

Not use

torsdag den 14 oktober 2010

Page 16: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

BDDC

Advantages

Suited for seqs, “Executable”, Makes them structured, Aligned with UCs, Connect to testing!?, Discover

alternatives/other modes, Can be read by users (with less training than other models)

Disadv.Requires training, Can be misused, Somewhat confusing terminology, Requires BDD-focused

meetings, Can’t cover all req types

Efficiency Easy and ~quick to write

Use again

Not use

torsdag den 14 oktober 2010

Page 17: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

NatLangQRAdvantages

Disadv.

Efficiency

Use again

Not use

torsdag den 14 oktober 2010

Page 18: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

PLanguageAdvantages

Disadv.

Efficiency

Use again

Not use

torsdag den 14 oktober 2010

Page 19: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

torsdag den 14 oktober 2010

Page 20: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

Document

torsdag den 14 oktober 2010

Page 21: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

Stakeholders

torsdag den 14 oktober 2010

Page 22: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

Relations

torsdag den 14 oktober 2010

Page 23: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

Say

torsdag den 14 oktober 2010

Page 24: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??

Say Think

Need!

torsdag den 14 oktober 2010

Page 25: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??

Capture

torsdag den 14 oktober 2010

Page 26: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??

Transform

torsdag den 14 oktober 2010

Page 27: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??

Specify

torsdag den 14 oktober 2010

Page 28: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??

Store

torsdag den 14 oktober 2010

Page 29: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Validation

torsdag den 14 oktober 2010

Page 30: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

Process

torsdag den 14 oktober 2010

Page 31: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

!

Prioritize

torsdag den 14 oktober 2010

Page 32: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

!?

Negotiate

torsdag den 14 oktober 2010

Page 33: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

!?

!! !Q

Change

torsdag den 14 oktober 2010

Page 34: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

!?

!! !

Release

Q

Q!Reuse

torsdag den 14 oktober 2010

Page 35: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

!?

!! !

Release

Q

Q!

Elicitation

torsdag den 14 oktober 2010

Page 36: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

!?

!! !

Release

Q

Q!

Specification &Analysis

torsdag den 14 oktober 2010

Page 37: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

!?

!! !

Release

Q

Q!

Management

torsdag den 14 oktober 2010

Page 38: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

!!

??Q

Design

Implementation

Test

!?

!! !

Release

Q

Q!

torsdag den 14 oktober 2010

Page 39: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• “understand customers’/users’ view of their problems/opportunities

• understand enough to proceed with _______ ____

• never think ___ understand better than ___

• never assume one _________ can speak for all _______

• Maintain a _____ of terms

• Prepare for ____ even after elicitation

• Stakeholders have the right to _____ their mind

Elicitation

torsdag den 14 oktober 2010

Page 40: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• “address only problems/opportunities we have time and resources for”

• accept that there is no such thing as a _____ solution

• record _________ between reqs

• plan more than one ______ ahead

• plan to _______ before each release

• goal is to select subset to product can be delivered on ____ and to _____

• triage participants must see themselves as a ____ and not as part of separate ______

• both marketing & dev should avoid absolute _____

Prioritization / Triage

torsdag den 14 oktober 2010

Page 41: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• “record understandings so all parties see up front what to expect at the end”

• goal is to spec to enough _____ so different stakeholders are ____ in their interpretation

• select spec notations that customers _______

• construct _____ where nat lang introduces high risk

• use right ____ for the right job

• customers want their problem solved, not to learn new _______

Specification

torsdag den 14 oktober 2010

Page 42: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• “remain flexible as customer and user needs evolve”

• changes to reqs are ____ not ___

• do not try to limit the ____ of changes, ____ it

• meet regularly to decide which reqs are in next _____

• don’t accept more than ___ change per ___, or you is likely to fail

Change/Management

torsdag den 14 oktober 2010

Page 43: Summary Lecture Requirements Engineering - Chalmersfeldt/courses/reqeng/slides/re_lecture12... · Summary Lecture Requirements Engineering Lecture 12, DAT230, Requirements Engineering

• Good?

• Bad?

• Ideas/improvements?

Course feedback

torsdag den 14 oktober 2010