SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
The Software Requirements
         Process

   PMI Tools & Techniques Forum
        Ivars K. Lenss, PMP

         Ivars@Lenss.us
What Is a Requirement?
(1) A condition or capability needed by a stakeholder
   to solve a problem or achieve an objective.

(2) A condition or capability that must be met or
   possessed by a system or system component to
   satisfy a contract, standard, specification, or other
   formally imposed documents.

(3) A documented representation of a condition or
   capability as in (1) or (2)
 Source: IEEE Std 610.12-1990



Ivars K. Lenss, PMP             PMI Tools & Techniques Forum   Ivars@Lenss.us
                                       March 4, 2009
What Is a Requirement?
The IIBA built on the IEEE definition:

A requirement is a condition or capability needed by a
  stakeholder to solve a problem or achieve an
  objective.




 [source: IIBA Business Analysis Body of Knowledge (IIBA, 2008]




Ivars K. Lenss, PMP                                               PMI Tools & Techniques Forum   Ivars@Lenss.us
                                                                         March 4, 2009
What Does a Requirement Look Like?
•    A sentence (“The system shall…”)
•    A structured sentence (as in a business rule)
•    A structured text template
•    A table or spreadsheet (list of stakeholders)
•    A diagram (workflow)
•    A model (entity-relationship diagram and details)
•    A prototype
•    A graph
•    Any format that communicates

[source: Seven Steps to Mastering Business Analysis, Barret, 2009]



 Ivars K. Lenss, PMP                                   PMI Tools & Techniques Forum   Ivars@Lenss.us
                                                              March 4, 2009
How Requirements Work
 Requirements are not solutions
 Design translates requirements into solutions
 Many stakeholders mix requirements with their
 proposed solutions

 Requirements gathering is discovering the
 essence of the system

 Essence is the business reason of the work -
 what the work would be if there was no project
 Ivars K. Lenss, PMP   PMI Tools & Techniques Forum   Ivars@Lenss.us
                              March 4, 2009
Raw Requirements
 A raw requirement is an environmental or customer
 requirement that has not been analyzed and
 formulated as a well-formed requirement.                  (IEEE Std 1233, 1998 Edition)




 Higher-level statements of the business
 goals, objectives, and success factors
 Often expressed in initiating documents
 Often vague and subjectively interpreted
 Can be intermingled with ideas and
 suggestions for potential designs
 Ivars K. Lenss, PMP        PMI Tools & Techniques Forum           Ivars@Lenss.us
                                   March 4, 2009
Example
 Requirement: “The traffic monitor running in the
     background shall provide status messages at
     regular intervals not less than every minute.”

    What are the status messages?
    How are they provided to the user?
    If displayed, how long are they displayed?
    What is the acceptable timing interval?


Ivars K. Lenss, PMP    PMI Tools & Techniques Forum   Ivars@Lenss.us
                              March 4, 2009
Well-Formed Requirements
A well-formed requirement is a statement of system functionality
(a capability) that can be validated, and that must be possessed
by a system to solve a customer objective, and is qualified by
measurable conditions and bounded by constraints.        (IEEE Std 1233, 1998 Edition)




 Abstract: Independent of its implementation
 Unambiguous: Interpreted in only one way
 Traceable: Associated with source
 Validateable: Fit criteria


Ivars K. Lenss, PMP       PMI Tools & Techniques Forum      Ivars@Lenss.us
                                 March 4, 2009
Example
       Requirement: “The traffic monitor running in the
       background shall provide status messages at
       regular intervals not less than every minute.”

  The traffic monitor shall display status
      messages in a designated area of the user
      interface
  The messages shall be updated every 60
      seconds, plus or minus five seconds
  Messages shall remain visible continuously

Ivars K. Lenss, PMP      PMI Tools & Techniques Forum   Ivars@Lenss.us
                                March 4, 2009
Requirements Classification
 Functional Requirements
       - Things the product must do
       - Action verbs – calculate, produce, inspect, publish
 Nonfunctional Requirements
    - Qualities the product must have
    - Look and feel, performance, security, regulatory
 Constraints
      - Boundaries and limits on the solution
      - Business constraints
      - Technical constraints
      - Glossary and naming conventions
      - Training, knowledge transfer
 Ivars K. Lenss, PMP      PMI Tools & Techniques Forum   Ivars@Lenss.us
                                 March 4, 2009
Examples

 Functional
 The rail system shall move people from San
     Francisco to Los Angeles
 Nonfunctional
 The rail system shall operate at an optimal
     cruise speed of 100 miles per hour
 Constraint
 The rail system shall operate at a maximum
     speed of 130 miles per hour
Ivars K. Lenss, PMP    PMI Tools & Techniques Forum   Ivars@Lenss.us
                              March 4, 2009
Software Requirements Approaches
 Traditional
        Requirements specification produced before
         starting design and build
 Agile
        Developers and architects do not have a
         requirements specification as a starting point
        The requirements are somewhere (they separate
         the what from the how)
        If you identify a requirement, record it
 Incremental
        Combination of traditional and agile approaches

Ivars K. Lenss, PMP      PMI Tools & Techniques Forum   Ivars@Lenss.us
                                March 4, 2009
Why Document Requirements?
 People forget things
 Verbal communication is subjective
 People sometimes answer the same question differently
  if asked twice
 Writing something down forces a person to think about
  it more carefully than when they say it
 Having more eyes to review highlights ambiguity
 New people joining the project need to know
  requirements
 If it’s not in writing, it doesn’t exist

 Ivars K. Lenss, PMP      PMI Tools & Techniques Forum   Ivars@Lenss.us
                                 March 4, 2009
What are Software
 Requirements?

 PMI Tools & Techniques Forum
      Ivars K. Lenss, PMP
What is a Software Requirement?

Software requirements include 3 distinct levels
 Business Requirements
        Why the project exists
        Business objectives
 User requirements
        What the user will be able to do with the product
 Functional requirements
        Behaviors or operations under specific conditions


Ivars K. Lenss, PMP        PMI Tools & Techniques Forum   Ivars@Lenss.us
                                  March 4, 2009
What is a Software Requirement?

 Nonfunctional requirements
        Properties or qualities that the solution must have (look
         & feel, usability, performance, operational,…)
 Technical constraints
        Pose restrictions on acceptable solution options:
           Predetermined language
           Predetermined hardware
           Restrictions on message sizes, software sizes, number and size
                      of files, protocols, architecture standards, etc.



Ivars K. Lenss, PMP                      PMI Tools & Techniques Forum     Ivars@Lenss.us
                                                March 4, 2009
Software Requirements Players


                       Customer
                       User
                       Supplier



Ivars K. Lenss, PMP         PMI Tools & Techniques Forum   Ivars@Lenss.us
                                   March 4, 2009
Software Requirements Levels

                           SOFTWARE REQUIREMENTS


         BUSINESS       BUSINESS             USER             FUNCTIONAL
                                                                                     DESIGN              BUILD
         ANALYSIS     REQUIREMENTS       REQUIREMENTS        REQUIREMENTS




                              CUSTOMER             USER                   SUPPLIER




Ivars K. Lenss, PMP                        PMI Tools & Techniques Forum                       Ivars@Lenss.us
                                                  March 4, 2009
User Requirements
 Bridge the requirements of the business and the
     requirements of the software
 A user is anyone who is affected by the project
        Includes people and external systems that interact directly
        Includes people and external systems that receive system
         by-products (reports, decisions, questions)
 Software development provokes change in the
  behavior of users
 Business workflow often changes, along with
  policies, procedures, interactions between people
 When defining user requirements, users will be
  faced with decisions about how and where to change
  their work

Ivars K. Lenss, PMP          PMI Tools & Techniques Forum   Ivars@Lenss.us
                                    March 4, 2009
Functional Requirements

 Describe software functionality that
     developers must build
 Sometimes called behavioral
     requirements
 Typically in the form of “shall”
     statements



Ivars K. Lenss, PMP    PMI Tools & Techniques Forum   Ivars@Lenss.us
                              March 4, 2009
Software Requirements Specification

Basic issues addressed in an SRS are:

 Functionality
 External interfaces
 Performance
 Non-functional requirements
 Constraints imposed on the solution
       [IEEE Standard]




Ivars K. Lenss, PMP      PMI Tools & Techniques Forum   Ivars@Lenss.us
                                March 4, 2009
Exercise


 PMI Tools & Techniques Forum
 March 4, 2009
 Ivars Lenss, PMP
Exercise

 You have been assigned a project to manage
     development of software for an ATM machine.

 Your customer provides you with some business
     requirements, a use case diagram and
     architecture diagram for the ATM machine.

 You are planning to meet with your stakeholders
     to discuss software requirements.

Ivars K. Lenss, PMP   PMI Tools & Techniques Forum   Ivars@Lenss.us
                             March 4, 2009
Use Case Diagram

                                                                      ATM
                                   START
                                  SESSION                 CANCEL
                                                        TRANSACTION




                                               VIEW
                                             BALANCE




                                  WITHDRAW
                                    CASH



                        BANK
                      CUSTOMER                    TRANSFER
                                                   MONEY




                                   MAKE
                                  DEPOSIT




Ivars K. Lenss, PMP              PMI Tools & Techniques Forum               Ivars@Lenss.us
                                        March 4, 2009
Architecture Diagram
                               ADMINISTRATOR
                              ACCESS INTERFACE                                           MONEY
                                                                                        STORAGE
                                                                              ATM         UNIT
                                                                           HARDWARE




                                                                                                         ATM ACCESS
                                                                                        DEPOSIT




                                                                                                          INTERFACE
                                                                           INTERFACE



                              CUSTOMER ACCESS
                                                                                        STORAGE
                                                      ATM                                 UNIT


                                 INTERFACE
                                                   SOFTWARE
    BANK                                           INTERFACE                            CAPTURE
  CUSTOMER
                                                                                         CARD




                                                                          DATA
                                                     DATA
                                                     BASE
                                                                      REPOSITIORY      ATM DEVICE
                                                                       INTERFACE


    HOST
COMMUNICATION
   MODULE




  Ivars K. Lenss, BANK HOST
                  PMP                           PMI Tools & Techniques Forum            Ivars@Lenss.us
                                                       March 4, 2009
                SYSTEM
Exercise

 Divide into groups
 Each group will make a list of questions to
  ask to define requirements for the ATM
  software
 Write any questions that you would need
  to ask of your software supplier, your
  users, or your customer to elicit
  requirements for your software
  specification
Ivars K. Lenss, PMP   PMI Tools & Techniques Forum   Ivars@Lenss.us
                             March 4, 2009
What is a Software Requirement?

Software requirements include 3 distinct levels
 Business Requirements
        Why the project exists
        Business objectives
 User requirements
        What the user will be able to do with the product
 Functional requirements
        Behaviors or operations under specific conditions


Ivars K. Lenss, PMP        PMI Tools & Techniques Forum   Ivars@Lenss.us
                                  March 4, 2009
Software Requirements Specification
 Software specifications may contain all of the
  functionality of the product or part of a larger
  system
 Larger systems will typically have an SRS
  stating the interfaces between the systems
 The interfaces place external performance and
  functionality requirements upon the software
 Avoid placing design requirements in an SRS
 Specify the problem, not the solution
 Specify the system, not the project

 Ivars K. Lenss, PMP   PMI Tools & Techniques Forum   Ivars@Lenss.us
                              March 4, 2009
Software Requirements Attributes

 Stability
 Status

    Acceptance criteria [metric]
    Complexity [metric]
    Performance [metric]
    Urgency [metric]
    Business value [metric]
    Risk [metric]
Ivars K. Lenss, PMP    PMI Tools & Techniques Forum   Ivars@Lenss.us
                              March 4, 2009
Establishing Metrics

 Project Metrics – measurements associated with
     the project
        Cost, effort, schedule, risk, resources, etc.

 Product Metrics – measurements associated
     with the product
        Defects, performance, size, etc.


 Software requirements are a good place to
     choose appropriate product metrics
Ivars K. Lenss, PMP             PMI Tools & Techniques Forum   Ivars@Lenss.us
                                       March 4, 2009
Some Useful Software Metrics

 Product size
 Estimated and actual duration
 Estimated and actual effort
 Work effort distribution
 Defects
 Requirements status
Ivars K. Lenss, PMP   PMI Tools & Techniques Forum   Ivars@Lenss.us
                             March 4, 2009
Requirements Patterns


   PMI Tools & Techniques Forum
        Ivars K. Lenss, PMP
Requirements Patterns
 Requirement patterns recur repeatedly
  across commercial systems
 Eight domains
       1. Fundamental (things needed for any kind of system)
       2. Information (information the systems needs)
       3. Data Entity (divide data entities by characteristics)
       4. User Function (inquiry, report, accessibility, interface)
       5.       Performance (how fast, how long, how big, how much)
       6.       Flexibility (ability to adapt to suit changing circumstances)
       7.       Access Control (user registration, authorization)
       8.       Commercial (pertaining to systems used to run a business)
Ivars K. Lenss, PMP                                        PMI Tools & Techniques Forum   Ivars@Lenss.us
                                                                  March 4, 2009
   Source: Software Reruirements Patterns, Withall, 2007
Further Reading
1.   Wiegers, Karl E., Software Requirements , 2nd ed., Microsoft Press, 2003
2.   Wiegers Karl, E., More about Software Requirements: Thorny Issues and
     Practical Advice, Microsoft Press, 2006
3.   Withall, Stephen, Software Requirement Patterns, Microsoft Press, 2007
4.   Hass K., Wessels D., Brennan K., Getting It Right, Business Requirement
     Analysis Tools & Techniques, Management Concepts, 2008
5.   IEEE Std 830-1998, IEEE Recommended Practice for Software
     Requirements Specifications
6.   IEEE Std 1233, 1998 Edition, IEEE Guide for Developing System
     Requirements Specifications
7.   IEEE Std 1074-2006, IEEE Standard for Developing a Software Project
     Life Cycle Process

Más contenido relacionado

La actualidad más candente

Enterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data ArchitectureEnterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data ArchitectureDATAVERSITY
 
DataOps: An Agile Method for Data-Driven Organizations
DataOps: An Agile Method for Data-Driven OrganizationsDataOps: An Agile Method for Data-Driven Organizations
DataOps: An Agile Method for Data-Driven OrganizationsEllen Friedman
 
Navigating the Workday Analytics and Reporting Ecosystem
Navigating the Workday Analytics and Reporting EcosystemNavigating the Workday Analytics and Reporting Ecosystem
Navigating the Workday Analytics and Reporting EcosystemWorkday, Inc.
 
Activate Data Governance Using the Data Catalog
Activate Data Governance Using the Data CatalogActivate Data Governance Using the Data Catalog
Activate Data Governance Using the Data CatalogDATAVERSITY
 
AWS Data Transfer Services: Data Ingest Strategies Into the AWS Cloud
AWS Data Transfer Services: Data Ingest Strategies Into the AWS CloudAWS Data Transfer Services: Data Ingest Strategies Into the AWS Cloud
AWS Data Transfer Services: Data Ingest Strategies Into the AWS CloudAmazon Web Services
 
Digital Reference Architecture- A FOCUS ON MIDDLEWARE “THE KILLER APP”
Digital Reference Architecture-  A FOCUS ON MIDDLEWARE “THE KILLER APP”Digital Reference Architecture-  A FOCUS ON MIDDLEWARE “THE KILLER APP”
Digital Reference Architecture- A FOCUS ON MIDDLEWARE “THE KILLER APP”Kellton Tech Solutions Ltd
 
Accenture Regulatory Reporting As A Service
Accenture Regulatory Reporting As A ServiceAccenture Regulatory Reporting As A Service
Accenture Regulatory Reporting As A Serviceaccenture
 
Introduction to Solution Architecture Book
Introduction to Solution Architecture BookIntroduction to Solution Architecture Book
Introduction to Solution Architecture BookAlan McSweeney
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanAraf Karsh Hamid
 
Data Architecture for Data Governance
Data Architecture for Data GovernanceData Architecture for Data Governance
Data Architecture for Data GovernanceDATAVERSITY
 
Convincing Stakeholders Data Governance Is Essential
Convincing Stakeholders Data Governance Is EssentialConvincing Stakeholders Data Governance Is Essential
Convincing Stakeholders Data Governance Is EssentialDATAVERSITY
 
Enterprise Data Architect Job Description
Enterprise Data Architect Job DescriptionEnterprise Data Architect Job Description
Enterprise Data Architect Job DescriptionLars E Martinsson
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
 
DAS Slides: Building a Data Strategy — Practical Steps for Aligning with Busi...
DAS Slides: Building a Data Strategy — Practical Steps for Aligning with Busi...DAS Slides: Building a Data Strategy — Practical Steps for Aligning with Busi...
DAS Slides: Building a Data Strategy — Practical Steps for Aligning with Busi...DATAVERSITY
 
Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...
Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...
Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...Alan McSweeney
 
Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)Adrien Blind
 
BIAN Applied to Open Banking - Thoughts on Architecture and Implementation
BIAN Applied to Open Banking - Thoughts on Architecture and ImplementationBIAN Applied to Open Banking - Thoughts on Architecture and Implementation
BIAN Applied to Open Banking - Thoughts on Architecture and ImplementationBiao Hao
 

La actualidad más candente (20)

Enterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data ArchitectureEnterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data Architecture
 
Data modelling 101
Data modelling 101Data modelling 101
Data modelling 101
 
DataOps: An Agile Method for Data-Driven Organizations
DataOps: An Agile Method for Data-Driven OrganizationsDataOps: An Agile Method for Data-Driven Organizations
DataOps: An Agile Method for Data-Driven Organizations
 
Navigating the Workday Analytics and Reporting Ecosystem
Navigating the Workday Analytics and Reporting EcosystemNavigating the Workday Analytics and Reporting Ecosystem
Navigating the Workday Analytics and Reporting Ecosystem
 
Activate Data Governance Using the Data Catalog
Activate Data Governance Using the Data CatalogActivate Data Governance Using the Data Catalog
Activate Data Governance Using the Data Catalog
 
AWS Data Transfer Services: Data Ingest Strategies Into the AWS Cloud
AWS Data Transfer Services: Data Ingest Strategies Into the AWS CloudAWS Data Transfer Services: Data Ingest Strategies Into the AWS Cloud
AWS Data Transfer Services: Data Ingest Strategies Into the AWS Cloud
 
Digital Reference Architecture- A FOCUS ON MIDDLEWARE “THE KILLER APP”
Digital Reference Architecture-  A FOCUS ON MIDDLEWARE “THE KILLER APP”Digital Reference Architecture-  A FOCUS ON MIDDLEWARE “THE KILLER APP”
Digital Reference Architecture- A FOCUS ON MIDDLEWARE “THE KILLER APP”
 
Accenture Regulatory Reporting As A Service
Accenture Regulatory Reporting As A ServiceAccenture Regulatory Reporting As A Service
Accenture Regulatory Reporting As A Service
 
Introduction to Solution Architecture Book
Introduction to Solution Architecture BookIntroduction to Solution Architecture Book
Introduction to Solution Architecture Book
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
Data Architecture for Data Governance
Data Architecture for Data GovernanceData Architecture for Data Governance
Data Architecture for Data Governance
 
Convincing Stakeholders Data Governance Is Essential
Convincing Stakeholders Data Governance Is EssentialConvincing Stakeholders Data Governance Is Essential
Convincing Stakeholders Data Governance Is Essential
 
Enterprise Data Architect Job Description
Enterprise Data Architect Job DescriptionEnterprise Data Architect Job Description
Enterprise Data Architect Job Description
 
MULTI-CLOUD ARCHITECTURE
MULTI-CLOUD ARCHITECTUREMULTI-CLOUD ARCHITECTURE
MULTI-CLOUD ARCHITECTURE
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
DAS Slides: Building a Data Strategy — Practical Steps for Aligning with Busi...
DAS Slides: Building a Data Strategy — Practical Steps for Aligning with Busi...DAS Slides: Building a Data Strategy — Practical Steps for Aligning with Busi...
DAS Slides: Building a Data Strategy — Practical Steps for Aligning with Busi...
 
Mdm
MdmMdm
Mdm
 
Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...
Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...
Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...
 
Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)
 
BIAN Applied to Open Banking - Thoughts on Architecture and Implementation
BIAN Applied to Open Banking - Thoughts on Architecture and ImplementationBIAN Applied to Open Banking - Thoughts on Architecture and Implementation
BIAN Applied to Open Banking - Thoughts on Architecture and Implementation
 

Similar a Software Requirements Workshop Presentation

The Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationThe Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationIvarsLenss
 
VinitKumarMaurya_MaximoModuleLead_5.5Yrs
VinitKumarMaurya_MaximoModuleLead_5.5YrsVinitKumarMaurya_MaximoModuleLead_5.5Yrs
VinitKumarMaurya_MaximoModuleLead_5.5YrsVinit Maurya
 
Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxarmitageclaire49
 
O2 Presentation Sdp Event
O2 Presentation Sdp EventO2 Presentation Sdp Event
O2 Presentation Sdp Eventjameskenney
 
Abdulmoez fakhri .pptx
Abdulmoez fakhri .pptxAbdulmoez fakhri .pptx
Abdulmoez fakhri .pptxwaniselabbar1
 
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingWebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingVijaya Raghava Vuligundam
 
Using the power of OpenAI with your own data: what's possible and how to start?
Using the power of OpenAI with your own data: what's possible and how to start?Using the power of OpenAI with your own data: what's possible and how to start?
Using the power of OpenAI with your own data: what's possible and how to start?Maxim Salnikov
 
APIs as your digital connector
APIs as your digital connectorAPIs as your digital connector
APIs as your digital connectorNuwan Bandara
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
Human Factors In Groupware Applications
Human Factors In Groupware ApplicationsHuman Factors In Groupware Applications
Human Factors In Groupware ApplicationsESS
 
Flexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the CampusFlexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the CampusBonitasoft
 

Similar a Software Requirements Workshop Presentation (20)

The Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationThe Requirements Process Workshop Presentation
The Requirements Process Workshop Presentation
 
VinitKumarMaurya_MaximoModuleLead_5.5Yrs
VinitKumarMaurya_MaximoModuleLead_5.5YrsVinitKumarMaurya_MaximoModuleLead_5.5Yrs
VinitKumarMaurya_MaximoModuleLead_5.5Yrs
 
Software Architecture in an Agile World
Software Architecture in an Agile WorldSoftware Architecture in an Agile World
Software Architecture in an Agile World
 
Cnpm bkdn
Cnpm bkdnCnpm bkdn
Cnpm bkdn
 
Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docx
 
O2 Presentation Sdp Event
O2 Presentation Sdp EventO2 Presentation Sdp Event
O2 Presentation Sdp Event
 
Se lec-uosl-8
Se lec-uosl-8Se lec-uosl-8
Se lec-uosl-8
 
Abdulmoez fakhri .pptx
Abdulmoez fakhri .pptxAbdulmoez fakhri .pptx
Abdulmoez fakhri .pptx
 
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingWebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
 
Chapter01
Chapter01Chapter01
Chapter01
 
Sudhir_Resume
Sudhir_ResumeSudhir_Resume
Sudhir_Resume
 
Week 4
Week 4Week 4
Week 4
 
Top Line Strategies - MS xRM
Top Line Strategies - MS xRMTop Line Strategies - MS xRM
Top Line Strategies - MS xRM
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Using the power of OpenAI with your own data: what's possible and how to start?
Using the power of OpenAI with your own data: what's possible and how to start?Using the power of OpenAI with your own data: what's possible and how to start?
Using the power of OpenAI with your own data: what's possible and how to start?
 
APIs as your digital connector
APIs as your digital connectorAPIs as your digital connector
APIs as your digital connector
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Professional Profile-Siddarth
Professional Profile-SiddarthProfessional Profile-Siddarth
Professional Profile-Siddarth
 
Human Factors In Groupware Applications
Human Factors In Groupware ApplicationsHuman Factors In Groupware Applications
Human Factors In Groupware Applications
 
Flexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the CampusFlexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the Campus
 

Software Requirements Workshop Presentation

  • 1. The Software Requirements Process PMI Tools & Techniques Forum Ivars K. Lenss, PMP Ivars@Lenss.us
  • 2. What Is a Requirement? (1) A condition or capability needed by a stakeholder to solve a problem or achieve an objective. (2) A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documents. (3) A documented representation of a condition or capability as in (1) or (2) Source: IEEE Std 610.12-1990 Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 3. What Is a Requirement? The IIBA built on the IEEE definition: A requirement is a condition or capability needed by a stakeholder to solve a problem or achieve an objective. [source: IIBA Business Analysis Body of Knowledge (IIBA, 2008] Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 4. What Does a Requirement Look Like? • A sentence (“The system shall…”) • A structured sentence (as in a business rule) • A structured text template • A table or spreadsheet (list of stakeholders) • A diagram (workflow) • A model (entity-relationship diagram and details) • A prototype • A graph • Any format that communicates [source: Seven Steps to Mastering Business Analysis, Barret, 2009] Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 5. How Requirements Work  Requirements are not solutions  Design translates requirements into solutions  Many stakeholders mix requirements with their proposed solutions  Requirements gathering is discovering the essence of the system  Essence is the business reason of the work - what the work would be if there was no project Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 6. Raw Requirements A raw requirement is an environmental or customer requirement that has not been analyzed and formulated as a well-formed requirement. (IEEE Std 1233, 1998 Edition)  Higher-level statements of the business goals, objectives, and success factors  Often expressed in initiating documents  Often vague and subjectively interpreted  Can be intermingled with ideas and suggestions for potential designs Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 7. Example  Requirement: “The traffic monitor running in the background shall provide status messages at regular intervals not less than every minute.”  What are the status messages?  How are they provided to the user?  If displayed, how long are they displayed?  What is the acceptable timing interval? Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 8. Well-Formed Requirements A well-formed requirement is a statement of system functionality (a capability) that can be validated, and that must be possessed by a system to solve a customer objective, and is qualified by measurable conditions and bounded by constraints. (IEEE Std 1233, 1998 Edition)  Abstract: Independent of its implementation  Unambiguous: Interpreted in only one way  Traceable: Associated with source  Validateable: Fit criteria Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 9. Example Requirement: “The traffic monitor running in the background shall provide status messages at regular intervals not less than every minute.”  The traffic monitor shall display status messages in a designated area of the user interface  The messages shall be updated every 60 seconds, plus or minus five seconds  Messages shall remain visible continuously Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 10. Requirements Classification  Functional Requirements - Things the product must do - Action verbs – calculate, produce, inspect, publish  Nonfunctional Requirements - Qualities the product must have - Look and feel, performance, security, regulatory  Constraints - Boundaries and limits on the solution - Business constraints - Technical constraints - Glossary and naming conventions - Training, knowledge transfer Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 11. Examples  Functional  The rail system shall move people from San Francisco to Los Angeles  Nonfunctional  The rail system shall operate at an optimal cruise speed of 100 miles per hour  Constraint  The rail system shall operate at a maximum speed of 130 miles per hour Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 12. Software Requirements Approaches  Traditional  Requirements specification produced before starting design and build  Agile  Developers and architects do not have a requirements specification as a starting point  The requirements are somewhere (they separate the what from the how)  If you identify a requirement, record it  Incremental  Combination of traditional and agile approaches Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 13. Why Document Requirements?  People forget things  Verbal communication is subjective  People sometimes answer the same question differently if asked twice  Writing something down forces a person to think about it more carefully than when they say it  Having more eyes to review highlights ambiguity  New people joining the project need to know requirements  If it’s not in writing, it doesn’t exist Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 14. What are Software Requirements? PMI Tools & Techniques Forum Ivars K. Lenss, PMP
  • 15. What is a Software Requirement? Software requirements include 3 distinct levels  Business Requirements  Why the project exists  Business objectives  User requirements  What the user will be able to do with the product  Functional requirements  Behaviors or operations under specific conditions Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 16. What is a Software Requirement?  Nonfunctional requirements  Properties or qualities that the solution must have (look & feel, usability, performance, operational,…)  Technical constraints  Pose restrictions on acceptable solution options:  Predetermined language  Predetermined hardware  Restrictions on message sizes, software sizes, number and size of files, protocols, architecture standards, etc. Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 17. Software Requirements Players  Customer  User  Supplier Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 18. Software Requirements Levels SOFTWARE REQUIREMENTS BUSINESS BUSINESS USER FUNCTIONAL DESIGN BUILD ANALYSIS REQUIREMENTS REQUIREMENTS REQUIREMENTS CUSTOMER USER SUPPLIER Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 19. User Requirements  Bridge the requirements of the business and the requirements of the software  A user is anyone who is affected by the project  Includes people and external systems that interact directly  Includes people and external systems that receive system by-products (reports, decisions, questions)  Software development provokes change in the behavior of users  Business workflow often changes, along with policies, procedures, interactions between people  When defining user requirements, users will be faced with decisions about how and where to change their work Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 20. Functional Requirements  Describe software functionality that developers must build  Sometimes called behavioral requirements  Typically in the form of “shall” statements Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 21. Software Requirements Specification Basic issues addressed in an SRS are:  Functionality  External interfaces  Performance  Non-functional requirements  Constraints imposed on the solution [IEEE Standard] Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 22. Exercise  PMI Tools & Techniques Forum  March 4, 2009  Ivars Lenss, PMP
  • 23. Exercise  You have been assigned a project to manage development of software for an ATM machine.  Your customer provides you with some business requirements, a use case diagram and architecture diagram for the ATM machine.  You are planning to meet with your stakeholders to discuss software requirements. Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 24. Use Case Diagram ATM START SESSION CANCEL TRANSACTION VIEW BALANCE WITHDRAW CASH BANK CUSTOMER TRANSFER MONEY MAKE DEPOSIT Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 25. Architecture Diagram ADMINISTRATOR ACCESS INTERFACE MONEY STORAGE ATM UNIT HARDWARE ATM ACCESS DEPOSIT INTERFACE INTERFACE CUSTOMER ACCESS STORAGE ATM UNIT INTERFACE SOFTWARE BANK INTERFACE CAPTURE CUSTOMER CARD DATA DATA BASE REPOSITIORY ATM DEVICE INTERFACE HOST COMMUNICATION MODULE Ivars K. Lenss, BANK HOST PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009 SYSTEM
  • 26. Exercise  Divide into groups  Each group will make a list of questions to ask to define requirements for the ATM software  Write any questions that you would need to ask of your software supplier, your users, or your customer to elicit requirements for your software specification Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 27. What is a Software Requirement? Software requirements include 3 distinct levels  Business Requirements  Why the project exists  Business objectives  User requirements  What the user will be able to do with the product  Functional requirements  Behaviors or operations under specific conditions Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 28. Software Requirements Specification  Software specifications may contain all of the functionality of the product or part of a larger system  Larger systems will typically have an SRS stating the interfaces between the systems  The interfaces place external performance and functionality requirements upon the software  Avoid placing design requirements in an SRS  Specify the problem, not the solution  Specify the system, not the project Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 29. Software Requirements Attributes  Stability  Status  Acceptance criteria [metric]  Complexity [metric]  Performance [metric]  Urgency [metric]  Business value [metric]  Risk [metric] Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 30. Establishing Metrics  Project Metrics – measurements associated with the project  Cost, effort, schedule, risk, resources, etc.  Product Metrics – measurements associated with the product  Defects, performance, size, etc.  Software requirements are a good place to choose appropriate product metrics Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 31. Some Useful Software Metrics  Product size  Estimated and actual duration  Estimated and actual effort  Work effort distribution  Defects  Requirements status Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009
  • 32. Requirements Patterns PMI Tools & Techniques Forum Ivars K. Lenss, PMP
  • 33. Requirements Patterns  Requirement patterns recur repeatedly across commercial systems  Eight domains 1. Fundamental (things needed for any kind of system) 2. Information (information the systems needs) 3. Data Entity (divide data entities by characteristics) 4. User Function (inquiry, report, accessibility, interface) 5. Performance (how fast, how long, how big, how much) 6. Flexibility (ability to adapt to suit changing circumstances) 7. Access Control (user registration, authorization) 8. Commercial (pertaining to systems used to run a business) Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us March 4, 2009 Source: Software Reruirements Patterns, Withall, 2007
  • 34. Further Reading 1. Wiegers, Karl E., Software Requirements , 2nd ed., Microsoft Press, 2003 2. Wiegers Karl, E., More about Software Requirements: Thorny Issues and Practical Advice, Microsoft Press, 2006 3. Withall, Stephen, Software Requirement Patterns, Microsoft Press, 2007 4. Hass K., Wessels D., Brennan K., Getting It Right, Business Requirement Analysis Tools & Techniques, Management Concepts, 2008 5. IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications 6. IEEE Std 1233, 1998 Edition, IEEE Guide for Developing System Requirements Specifications 7. IEEE Std 1074-2006, IEEE Standard for Developing a Software Project Life Cycle Process