Requirements Engineering Dr. Richard Jones

Slides:



Advertisements
Similar presentations
Agile Software Development Robert Moore Senior Developer Curtin University.
Advertisements

Lecture 5: Requirements Engineering
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
The Engine Driving Business Management in Project Centric Environments MAGSOFT INTERNATIONAL LLC.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Software Requirements Thomas Alspaugh ICS Nov 5.
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
Agile development By Sam Chamberlain. First a bit of history..
Quality Management. What is a software product? Software product = computer programs (sources and executable) + associated documentation Software products.
Requirements Engineering
Project Management November 2, Introduction Eric Lemmons Customer Project/Program Manager III Gary Obernuefemann Business Consulting IV.
Project Management October 2011 Inf Sys 3810 Information Systems Analysis Fall 2011 Understand Project Management principles.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
Project Management April 2015 Understand Project Management principles.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Overview of Software Requirements
SE 555 – Software Requirements & Specifications Introduction
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
Organizing Requirements & Managing Scope (Chapters of the requirements text ) Steve Chenoweth & Chandan Rupakheti RHIT Which brings up Question 1,
..OR SOMETHING THAT LOOKS LIKE IT SCOTT TURNBULL SOFTWARE ENGINEERING MANAGER EMORY UNIVERSITY LIBRARIES Agile Development.
Chapter 4 – Requirements Engineering
The Engine Driving Purchasing Management in Complex Environments MAGSOFT INTERNATIONAL LLC.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
CSCI 6231 Software Engineering ( Chapter 10?) Requirements Workflow Instructor: Morris Lancaster.
Project Management November 2014 Understand Project Management principles.
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Project Workflow. How do you do it? -Discussion-
Database Systems – CRM DEFINITIONS CRM - Customer Relationship Management CRM usually refers to a strategic solution that helps businesses identify the.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Richard Jones & Bram van Oosterhout
Software Requirements Engineering: What, Why, Who, When, and How
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
©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.
Requirements Engineering Process
Software Engineering REQUIREMENT ENGINEERING. Software Engineering Phases.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Information Systems Dr. Ken Cosh Lecture 9.
Software Requirements. Objectives: l To introduce the concepts of user and system requirements l To describe functional / non-functional requirements.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Introduction to Software Requirement Engineering Nisa’ul Hafidhoh Teknik Informatika
 System Requirement Specification and System Planning.
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
Project Workflow.
AGILE SCRUM METHODOLOGY
Flight Software Conference 2016
Project Workflow.
Agile Software Development Brian Moseley.
Introduction to Software Engineering
Decomposition.
Introduction to Agile Blue Ocean Workshops.
Software Engineering Furqan Rustam.
Software Engineering Lecture #3
Scrum Science NGSS: Engineering, Technology, Applications of Science
Requirements gathering
Product Development & Planning
Presentation transcript:

Requirements Engineering Dr. Richard Jones

Road Map My background Definitions Why is requirement engineering important? Why is it difficult especially for s/w systems Keeping focussed Contract vs product development requirements Stories from trenches Wrap up

A little RJ History Maths degree in Dublin PhD in Relativity – Program to do my algebra UK government science – Wrote STATUS, one of first search engines Australian s/w companies 1984-now – Both product and contract dev. Range of roles – Includes three start-ups, one SME – Also as independent consultant

Definitions “Requirements engineering - a systems and software engineering process which covers all of the activities involved in discovering, documenting and maintaining a set of requirements for a computer-based system”. Wikipedia Requirements are 'what & 'why' not 'how’

Some Requirements Subprocesses Requirements elicitation – discovering requirements from system stakeholders Requirements analysis and negotiation (prioritisation) – checking requirements and resolving stakeholder conflicts Requirements specification – documenting the requirements in a requirements document System modeling – deriving models of the system, often using a notation such as uml Requirements validation – checking that the documented requirements and models are consistent and meet stakeholder needs Requirements management – managing changes to the requirements as the system is developed and put into use (from wikipedia)

Capturing User requirements “System Engineering – dealing with complexity” Arnold, S. et al 1998

Why is requirement engineering important? 'Requirements failures are the prime cause of project failures‘ Robert Glass “The hardest part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult.... No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later” (Brooks 1995).

Why is requirements engineering hard? Far too many Unstable due to late changes Ambiguous/ incomplete No ongoing stakeholder involvement No focus on wider system characteristics Developers lose focus So why not buy a product?

Keeping Focus

Keeping Focus - System vision statement "For a mid-sized company's marketing and sales departments who need basic CRM functionality, the CRM-Innovator is a Web-based service that provides sales tracking, lead generation, and sales representative support features that improve customer relationships at critical touch points. Unlike other services or package software products, our product provides very capable services at a moderate cost.“ ‘Crossing the chasm: Marketing and Selling High-Tech Products to Mainstream Customers ’ Geoffrey Moor e

Keeping Focus – staying in touch With whom? – Client stakeholders – Internal stakeholders – Development team How?

Keeping Focus - System requirements Non functional requirements Drives quality – Extent to which it meets user requirements User relevance – Reliability – Availability – Safety/ security Developer relevance – Testability – Maintainability – Portability – Reusability

External Contract vs Internal Development vs Product Are they any different? Who is the stakeholder?

(A few) stories from the trenches

Pre-history – STATUS Product More than a search engine Conceived as a system Derived from earlier concept “What is Information retrieval”? Requirements - Kept close to lead customers “Dogs walking on hind-legs” Fatal flaw – non-functional requirements

Computer Power Group Professional Services - standards Tension between product and services Focus on technology

InText Systems Tyranny of distance “People don’t buy technology they buy solutions”

InText Systems Tyranny of distance “People don’t buy technology they buy solutions” Borland Software product development methodology – Equal Partnership BUMs: Business unit mangers DUMs: Development unit managers – Time + resources = functionality + ilities – Time is the most critical – Strict prioritisation of requirements – DUM really controlled destiny

Independent Consultant Satisfied client = getting paid “Why was I hired”? – Someone to blame – What answer is wanted?

Distillery Software What do customers really want? Do we know better? Focus on customers- Shift from intelligence to intelligence led investigation Non functional requirements – mandatory requirements – Need to rearchitect solution

Portland Risk Analytics Remote development Agile development User stories: – "As a, I want so that " Tools: – JIRA: tasks and issues – Confluence: documents/ collaboration

Agile Methods at Portland Following agile manifesto – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan First customer ship after 14 sprints (of two weeks) Why is it working for Portland?

Conclusions One size does not fit all Lots of things don’t work What does? – Ongoing communication – Partnership/ trust – Not blame/ suspicion – Focus on the system

Questions