Does RE Apply to Open Source Development? A requirements person's view Ian Alexander

Slides:



Advertisements
Similar presentations
Information technology solutions development Fundamentals of Information Technology Session 3.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Redesigning the Organization with Information Systems Soetam Rizky.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Capturing the requirements
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Overview of Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 1.
IIBA Denver | may 20, 2015 | Kym Byron , MBA, CBAP, PMP, CSM, CSPO
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
Requirements Engineering Process – 1
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
The Software Development Life Cycle: An Overview
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
Software Reuse Prof. Ian Sommerville
CC20O7N - Software Engineering 1 CC2007N Software Engineering 1 Requirements Engineering Practices with Techniques.
Requirements Analysis
Chapter 4 – Requirements Engineering
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Software Requirements Engineering CSE 305 Lecture-2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Requirements Elicitation Process Lecture-8.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Lecture 7: Requirements Engineering
Chapter 4 Requirements Engineering (2/3)
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Requirement Handling
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
Requirement engineering Good Practices for Requirements Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Identifying needs and establishing requirements Data gathering for requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
An organizational structure is a mostly hierarchical concept of subordination of entities that collaborate and contribute to serve one common aim... Organizational.
Requirements Analysis
Requirements Analysis
Information Systems Dr. Ken Cosh Lecture 9.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Software Engineering Lecture 10: System Engineering.
Political Beneficiaries Experts Operational Stakeholders Interfacing Stakeholders Financial Beneficiaries Functional Beneficiaries Regulators Negative.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Introduction to Software Requirement Engineering Nisa’ul Hafidhoh Teknik Informatika
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Writing the Requirements
Chapter 4 Requirements Engineering (2/3)
Chapter 4 – Requirements Engineering
EKT 421 SOFTWARE ENGINEERING
Requirements Elicitation – 1
Open Source Software Development Processes
Presentation transcript:

Does RE Apply to Open Source Development? A requirements person's view Ian Alexander

© Ian Alexander Cathedral vs Bazaar Classical Software Development or Open Source O'Reilly, 2001

© Ian Alexander 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

© Ian Alexander 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

© Ian Alexander RE for OSD? 1.How to compare RE processes? 2.Three kinds of Software Development 3.What is Distinctive about OSD?

© Ian Alexander 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 …

© Ian Alexander Competing RE Processes? Process BasisHow it Describes NeedSchools of ThoughtDisadvantages Stakeholder Analysis Political, economic, social, and cultural drivers Soft Systems MethodologyUnverifiable; unsuitable for contracts Goal ModellingSays what stakeholders want KAOS; i* Ignores timing relationships (scenarios) between goals Event-Driven Analysis Identifies events at interfaces Event-Driven methodsIgnores 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 MeasurementShows 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

© Ian Alexander Complementary Elements, Collaborative Contexts

© Ian Alexander Three kinds of Software Development A) Large-Scale Custom Development

© Ian Alexander Three kinds of Software Development B) Open Source * = informal

© Ian Alexander Three kinds of Software Development C) Managing a Product Line Biological EvolutionProduct Evolution MutationInvention of Features SpeciesProduct Natural Selection by survival of the fittest individuals Selection by purchase of the most popular types of product IndividualProduct Variant Speciation by evolution of isolated populations Creation of new Products by choice of combinations of new and existing Features

© Ian Alexander What is Distinctive about OSD? Custom SystemProduct-LineOpen-Source Source of Requirements Client and other stakeholders 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 OrganizationClient, ContractorProduct CompanyFreelance, etc FundingDevelopment and Maintenance Contracts CapitalPossibly none; (small- scale) sponsorship, etc Key Requirement Elements Scenarios, MeasurementsGoals, Trade-Offs Goals Key Discovery Contexts Interviews, Workshops, Reuse, etc Prototyping, Observation, etc Internet-mediated dialogue

© Ian Alexander 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

© Ian Alexander 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

© Ian Alexander Scenario Plus Requirements Training Consultancy Workshop Facilitation