Distributing Responsibilities to Engineer Better Requirements: - - PowerPoint PPT Presentation

distributing responsibilities to engineer better
SMART_READER_LITE
LIVE PREVIEW

Distributing Responsibilities to Engineer Better Requirements: - - PowerPoint PPT Presentation

Distributing Responsibilities to Engineer Better Requirements: Leveraging Knowledge and Perspectives for Students to Learn a Key Skill Olly Gotel , Vidya Kulkarni, Moniphal Say, Christelle Scharff, Thanwadee Sunetnanta olly@gotel.net REET


slide-1
SLIDE 1

Distributing Responsibilities to Engineer Better Requirements: Leveraging Knowledge and Perspectives for Students to Learn a Key Skill Olly Gotel, Vidya Kulkarni, Moniphal Say, Christelle Scharff, Thanwadee Sunetnanta

  • lly@gotel.net

REET 2009

slide-2
SLIDE 2

Overview

  • The general challenge
  • Our global project
  • The specific challenge
  • Initiatives to improve the quality of

requirements

  • Quality assessment
  • Outcomes
  • Lessons
slide-3
SLIDE 3

The general challenge

  • Learning to write / value quality requirements
  • The typical quality of requirements on student

projects

  • The constraints of many degree programs:
  • Issues at undergraduate level
  • Issues at postgraduate / specialist level
  • Issues exacerbated in global settings
  • How to complement and leverage skills?
slide-4
SLIDE 4

Our global project

  • 5 universities, 4 countries, 8 classes, 7 sites
  • 3 prior years of collaboration
  • MultiLIB -- what happened in 2007
  • Need to deploy - problem of time pressure,

requisite skills, evolving requirements, quality

slide-5
SLIDE 5

The specific challenge

  • How to give students a realistic

software development project experience, while learning the requisite skills to write requirements, without compromising quality

  • How to create an experience that

enables students to see the value of spending time on requirements

slide-6
SLIDE 6

Globalization Software Engineering

CAMBODIA Institute of Technology of Cambodia INDIA University

  • f Delhi

THAILAND Mahidol University CAMBODIA Royal University

  • f Phnom Penh

US Pace University NYC Campus US Pace University Pleasantville Campus US Students and IT Professionals (Global Bank in NYC) 12 hours 9.5 hours 2.5 hours

Technology Socialization Competition

4th Year - 2008

slide-7
SLIDE 7

Initiatives to improve the quality

  • f requirements
  • Coaching of client proxies and developers:
  • Requirements training and champions of

the client / developer communication

  • N-version development competition:
  • Expose the requirements to multiple

perspectives

  • Requirements-based selection
  • Auditing of all processes and products
slide-8
SLIDE 8

The educational model

  • MultiLIB software was for the Cambodian

school

  • Client / end-user represented by client

proxies (5 Cambodian undergrads)

  • Each client proxy assigned a coach (5 US

grads)

slide-9
SLIDE 9

Client-side set-up

slide-10
SLIDE 10

The educational model (cont.)

  • Each client proxy sponsored a development

team (5 teams - Indian, Cambodian, Thai, NYC, NY PLV)

  • Each development team assigned its own

coach (5 US grads)

  • Each development team assigned its own

set of auditors (5 * 3 IT professionals)

slide-11
SLIDE 11

A requirements-focused triad

slide-12
SLIDE 12

The model -- 5 requirements-focused triads

slide-13
SLIDE 13
slide-14
SLIDE 14

Client-side requirements activities

  • Requirements producers and custodians
  • Cambodians -- no background, so RE-O-Poly
  • Coach team re-engineered draft RSD and

helped to set up a RM system; client proxy team worked with the client -- buy-in and transfer of ownership / apprenticing

  • Focused on writing testable requirements

for RFP and selection

  • Handled multi-way feedback and versioning
slide-15
SLIDE 15

Developer-side requirements activities

  • Requirements consumers
  • Teams - little background, so coached
  • Coaches encouraged and facilitated

communications with the client-side

  • Set up a process to enable and

demonstrate requirements satisfaction (traceability key)

  • Audit preparation, response and iteration
slide-16
SLIDE 16

Audit-side requirements activities

  • Requirements champions -- external eyes
  • Publication of audit checklists - for process

and all products

  • To improve quality of the requirements --

5-way audit of RSD, at two key points

  • To improve quality in terms of final

products meeting requirements - 5 ongoing audits per development team

  • SQA manager and traffic light dashboard
slide-17
SLIDE 17

Fragments from RSD audit checklists

slide-18
SLIDE 18

What the RSD was exposed to

71 functional and 4 non-functional requirements

slide-19
SLIDE 19

Quality assessment

  • Satisfaction of requirements (high, medium, low

priority and weighted)

  • Development teams

and their coaches score themselves

  • Audit team and SQA

manager - rank all processes and products

  • Cambodian clients and

their coaches rank all products (and account for the above in their final assessments)

slide-20
SLIDE 20

Outcome from requirements coaching

  • These pairings worked!
  • Cambodian client proxies REALLY engaged in

the requirements process -- it empowered their negotiations and decisions

  • All developers became pro-active
  • Coaches took their requirements knowledge to

the next level

  • Requirements actually evolved and improved,

all sides managed this and saw the value

slide-21
SLIDE 21

Clients really worked with and trusted their coaches

slide-22
SLIDE 22

Outcome from audit cycles

  • Requirements audits:
  • 5-way audits reinforced any concerns --

students took notice and acted

  • Learned to prioritize and deal with conflicts
  • Audit of other SDLC artifacts:
  • Visible dashboard motivated

teams!

  • Both processes and products improved
  • Auditors put their knowledge into use
slide-23
SLIDE 23

Requirements maturity profiles

slide-24
SLIDE 24

Outcome from having 5 triads

  • Multiple triggers for requirements change --

from VERY diverse perspectives -- caught DIFFERENT things (esp. assumptions)

  • Competition fueled requirements clarification

and improvement (FAQ materialized)

  • Closer the coupling, the more extensive the

communication, the better the end quality

  • Well written, prioritized and ranked functional

requirements -- all agreed it was a fair competition and final selection process

slide-25
SLIDE 25

Outcome -- something that DID NOT improve

  • Non-functional requirements:
  • Poorly written / untestable
  • The selection decider -- sleepless nights and

a BIG lesson for all!

  • Post-analysis:
  • 0.05% of requirements in RSD were NFRs
  • NFR matters dominated informal

communications about the requirements

slide-26
SLIDE 26

Revisiting the specific challenge

  • How to give students a realistic

software development project experience, while learning the requisite skills to write requirements, without compromising quality

  • How to create an experience that

enables students to see the value of spending time on requirements

slide-27
SLIDE 27

Lessons

  • Educational cost/benefit:
  • MultiLIB is now deployed in Cambodia :-)
  • BUT, the overhead was phenomenal :-(
  • Potential industry value in:
  • Requirements coaches -- apprentice models

work for BOTH producers and consumers

  • Multi-perspective auditing is phenomenal
  • Early alerting systems -- checking whether

informal discussion topics align with formal

slide-28
SLIDE 28

For more information...

http://atlantis.seidenberg.pace.edu/wiki/gsd2008

slide-29
SLIDE 29

Special thanks to

  • ur entire 2008

global software development team

slide-30
SLIDE 30

More thanks

  • Supported by a National Collegiate

Inventors and Innovators Alliance grant (#3465-06) -- “Incubating the Next Generation of Global Software Development Entrepreneurs” -- (2006-2008) and a Campus Second Life scholarship

  • We thank all the 159 students who have

been involved to date and ITC faculty/school

slide-31
SLIDE 31

Olly Gotel, Vidya Kulkarni, Moniphal Say, Christelle Scharff, Thanwadee Sunetnanta

  • lly@gotel.net

REET 2009

Distributing Responsibilities to Engineer Better Requirements: Leveraging Knowledge and Perspectives for Students to Learn a Key Skill