Does RE Apply to Open Source Development?

15
Does RE Apply to Open Source Development? A requirements person's view Ian Alexander http://www.scenarioplus.org.uk

description

Does RE Apply to Open Source Development?. A requirements person's view Ian Alexander http://www.scenarioplus.org.uk. Cathedral vs Bazaar. Classical Software Development or Open Source. O'Reilly, 2001. Cathedral vs Bazaar. Classical SW Development - PowerPoint PPT Presentation

Transcript of Does RE Apply to Open Source Development?

Page 1: Does RE Apply  to Open Source  Development?

Does RE Apply to Open Source Development?

A requirements person's view

Ian Alexanderhttp://www.scenarioplus.org.uk

Page 2: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

2

Cathedral vs Bazaar

Classical Software Development

or

Open Source

O'Reilly, 2001

Page 3: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

3

Cathedral vs Bazaar

Classical SW Development• shaped / scarred by

"the software crisis"• deliberate, thorough,

carefully documented

• "carefully crafted by individual wizards or small bands of mages working in splendid isolation" Eric Raymond

Page 4: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

4

Cathedral vs Bazaar

Open Source • shaped / scarred by painful

experience of closed software, strict hierarchy, slow response

• "a great babbling bazaar of differing agendas and approaches" Eric Raymond

Page 5: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

5

RE for OSD?

1. How to compare RE processes?

2. Three kinds of Software Development

3. What is Distinctive about OSD?

Page 6: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

6

1. How to compare RE processes?

• Al Davis: – 201 Principles of Software Development !

• Kotonya & Sommerville: – a set of "Requirements Engineering

Processes"

• Beyer & Holtzblatt:– Contextual Design (5 major processes)

• … etc …

• … etc …

Page 7: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

7

Competing RE Processes?

Process Basis

How it Describes Need

Schools of Thought Disadvantages

Stakeholder Analysis

Political, economic, social, and cultural drivers

Soft Systems Methodology

Unverifiable; unsuitable for contracts

Goal Modelling

Says what stakeholders want

KAOS; i*

Ignores timing relationships (scenarios) between goals

Event-Driven Analysis

Identifies events at interfaces

Event-Driven methods Ignores soft systems issues and conflicting stakeholder goals

Scenario Analysis

Says how design will deliver results to humans

Cockburn-style Use Cases; Agile (user stories)

Over-emphasises behaviour; ignores non-functional aspects

Standards & Templates

Defines typical non-functional requirements

Standardization, Regulation, Quality Assurance

Does not cover functions and innovative behaviour

Rationale Modelling

Explains why design is needed (eg for safety)

Compendium; GSN, CAE (for safety)

Ignores timing; risk of rationalizing an already-chosen solution

Data Modelling

Defines data, rules and relationships

UML class modelling; entity-relationship modelling

Lack of end-to-end vision, context, purpose

Measurement

Shows what results the design must provide

Traditional “The system shall…” requirements

Whole burden carried by text; lack of context, scenarios

Priorities, Trade-offs

Most profitable or most needed features

Business Case; Benefit/Cost Analysis; Value Engineering

Ignores context, purpose, qualities, constraints, non-financial aspects

Page 8: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

8

Complementary Elements, Collaborative Contexts

Page 9: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

9

2. Three kinds of Software Development

A) Large-Scale Custom Development

Page 10: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

10

2. Three kinds of Software Development

B) Open Source

* = informal

Page 11: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

11

2. Three kinds of Software Development

C) Managing a Product LineBiological Evolution Product Evolution

Mutation Invention of Features

Species Product

Natural Selection by survival of the fittest individuals

Selection by purchase of the most popular types of product

Individual Product Variant

Speciation by evolution of isolated populations

Creation of new Products by choice of combinations of new and existing Features

www.nokiamuseum.com

Page 12: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

12

3. What is Distinctive about OSD?

Custom System Product-Line Open-Source

Source of Requirements

Client and other stakeholders

Mass-market Mass-market

Stakeholder Roles

Analysts, developers, testers, user representatives, safety specialists, etc

Product Managers, developers, testers, etc

(Volunteer) developers,interested users

Documentation ‘User’ and ‘System’ requirements documents, test specifications, etc

Product requirements, business case, etc

Informal communications, Wikis, discussion groups

Organization Client, Contractor Product Company Freelance, etc

Funding Development and Maintenance Contracts

Capital Possibly none; (small-scale) sponsorship, etc

Key Requirement Elements

Scenarios, Measurements

Goals, Trade-Offs

Goals

Key Discovery Contexts

Interviews, Workshops, Reuse, etc

Prototyping, Observation, etc

Internet-mediated dialogue

Page 13: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

13

RE for OSD?

• Parallels with product line RE

• Distinctively informal

• Evolution by natural (market) selection

• Successes, eg Mozilla

• Can be commercial (eg Linux)

• Origins: introspection not elicitation– assumes user is like developer– less true as usage widens

Page 14: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

14

Future of RE for OSD

• Wider market, more commercial

• More need for discovering requirements

• Heavily-structured RE "not any time soon"

• But, will need clear requirements to work from

Page 15: Does RE Apply  to Open Source  Development?

© Ian Alexander 2009

15

Scenario Plus

• Requirements Training

• Consultancy

• Workshop Facilitation

www.scenarioplus.org.uk