Lessons - 3073

Unit 1: Business or mission analysis process / Requirements Fundamentals (REQ.rfd)

Week 1 Course Introduction

Find a business or organization

  • Critical Thinking

    • Definitions

    • Elder Paul Model

  • Video / TED Talk

  • Coursera

    • Register

    • Enroll in Introduction to Software Product Management course

      • After clicking "Enroll for Free" click Audit

      • This course should be a review of Software Engineering Fundamentals

      • Take notes in OneNote - instructions

    • Introduction to Software Product Management Module 1: Software Product Management - The Discipline

      • 1.1.1: Better Software 8m

      • 1.1.2: Why Software Product Management? 5m

      • 1.1.3: The Role of a Software Product Manager 8m

      • 1.1.4: How to be a Better Learner 3m

      • 1.1.5: Plagiarism 2m

      • 1.1.6: Specialization Overview 7m

  • Jira / Confluence

  • Sommerville

  • Readings

    • Access in course Resources, save all to OneDrive

    • Textbook

      • Ch. 1 The essential software requirement

    • 29148

      • Sections 1-4: Scope, References, Terms, Conformance

    • SWEBOK

      • 1. Software Requirements Fundamentals

    • MITRE

      • Introduction, Evolution, Essence ix-17

      • Concept Development 275-278

  • Lesson

    • On Campus

      • Home page - Fundamentals 1: Introduction

      • Orientation

      • CT: Elder Paul Model

      • OneDrive

        • Sign in and acquire key resources

      • OneNote

        • Open OneNote at the start of each lesson

          • Practice active listening and note taking

          • Give the lesson your full attention

        • Take notes about acquiring standards

      • Project Discussion - find a sponsor

      • Dots setup

    • Online

      • Dots follow up

      • Time management

      • Project Discussion

        • Activities: 29148-2018 6.2.3

          • 6.2.3.1 General

Week 2 Prepare for Business Analysis, Information Literacy & Research

Research business or organization

  • Critical Thinking: information

  • Video / TED Talk

  • Upcoming activities

    • 6.2.3.2 Prepare for Business Analysis

      • Review identified problems and opportunities in the organization strategy with respect to desired organization goals or objectives.

      • Define the business or mission analysis strategy.

      • Identify and plan for the necessary enabling systems or services needed to support business or mission analysis.

      • Obtain or acquire access to the enabling systems or services to be used.

  • Coursera

    • Introduction to Software Product Management Module 2: Foundations of Software Product Management

      • 1.2.1: Project Success, Why Agile? 7m

      • 1.2.2: Agile Manifesto 4m

      • 1.2.2A: Delivering Working Software 3m

      • 1.2.2B: Flexible Design 4m

      • 1.2.2C: Collaborative Communication 5m

      • 1.2.3: Why Process? 5m

      • 1.2.4: Why Requirements? 5m

      • 1.2.5: Why Planning? 6m

      • 1.2.6: Why Monitoring? 7m

  • Jira / Confluence

    • Kanban

    • Pages

      • Blog

    • Link Jira Project to Confluence Space

  • Sommerville

  • Readings

    • Textbook

      • Ch. 2 Requirements from the customer’s perspective

    • 29148

      • Section 5 Concepts

      • Annex A Operational concept document

    • SWEBOK

      • 1. Software Requirements Fundamentals (review)

    • MITRE

      • Operational Needs Assessment (279-283)

  • Lesson

    • On Campus

      • Open OneNote at the start of each lesson

      • MLK

      • CT Discussion

      • Research

      • Journal review

      • Project activity planning

      • Business Selection, Business Analysis, Research

        • Guest speaker: Entrepreneurs

    • Online

      • Project Discussion

      • Project activity work

        • Write a goal, make it SMART

        • Write a requirement, success criteria

Week 3 Define Problem / Opportunity, Critical Thinking

Describe business or organization

  • Critical Thinking: definition, techniques, question at issue

  • Video / TED Talk

  • Upcoming activities

    • 6.2.3.3 Define the problem or opportunity space

      • Analyze the problems and opportunities in the context of relevant trade-space factors.

      • Analyze customer complaints, problems and opportunities in the context of relevant trade-space factors.

      • Define the mission, business, or operational problem or opportunity.

  • Coursera

    • Register for Software Processes and Agile Practices course

      • After clicking "Enroll for Free" click Audit

      • This course should be a review of Software Engineering Fundamentals

      • Software Processes and Agile Practices Module 1: Introduction to Processes

        • 2.1.1: Processes and Practices 5m

        • 2.1.1A: Processes and Practices 5m

        • 2.1.1B: Processes and Practices 5m

        • 2.1.2: Software Engineering Activities 5m

        • 2.1.2A: Software Engineering Activities 5m

        • 2.1.2B: Software Engineering Activities 5m

  • Jira / Confluence

  • Readings

    • Textbook

      • Ch. 3 Good practices for requirements engineering

    • 29148

      • 8.2 Business requirements specification

      • 9.3 Business requirements specification (BRS) content

      • Annex A Operational concept document (OpsCon) (review)

      • Annex B Concept of operations (ConOps)

    • SWEBOK

      • 1. Software Requirements Fundamentals (review)

    • MITRE

      • Concept of Operations 284-289

      • Operational Requirements 290-295

      • High-Level Conceptual Definition 296-300

  • Lesson

    • On Campus

      • Open OneNote at the start of each lesson

      • CT Discussion

        • 5 Whys

        • Root Cause Analysis

        • Cigars

      • Business analyst knowledge areas and competencies

      • Guest speaker - Business Analyst

      • Past assignments

      • Introduction Discussion discussion

      • Project activity planning

    • Online

      • Project Discussion

      • Project activity work

Week 4 Solution

Create preliminary operational concept

  • Critical Thinking: models, assumptions, implications and consequences, interpretation and inference

    • Pythons

  • Video / TED Talk

  • Upcoming activities

    • 6.2.3.4 Characterize the solution space

      • Define preliminary operational concepts and other concepts in life cycle stages.

      • Identify candidate alternative solution classes that span the potential solution space.

      • Assess each alternative solution class.

    • 6.2.3.5 Evaluate alternative solution classes

      • Assess each alternative solution class.

      • Select the preferred alternative solution class(es).

    • One Good Requirement Statement

  • Coursera

  • Jira / Confluence

  • Sommerville

  • Readings

    • Textbook

      • Ch. 4 The business analyst

    • 29148

      • Section 6 Processes

    • SWEBOK

      • 2. Requirements Process

    • MITRE

      • Requirements Engineering 301-303

  • Lesson

    • On Campus

      • CT Discussion

      • Project activity planning

      • BRS / OpsCon outline

        • COS V and S

      • Requirements Process (REQ.rfd.2)

        • Process actors - Users, Customers, Market analysts, Regulators, Software engineers

    • Online

      • Project Discussion

      • Project activity work

Week 5 Manage the Business or Mission Analysis, Women in Software Engineering

Jira, Objectives, BRS

Unit 2: Stakeholder needs and requirements definition process / Eliciting Requirements (REQ.er)

Week 6 Prepare for Stakeholder Needs and Requirements Definition

Plan elicitation

  • Critical Thinking: information, assumptions

    • M&Ms

  • Video / TED Talk

  • Upcoming activities

    • 6.3.3.2 Prepare for Stakeholder Needs and Requirements Definition

      • Identify the stakeholders who have an interest in the [software] system throughout its life cycle.

      • Define the stakeholder needs and requirements definition strategy.

      • Identify and plan for the necessary enabling systems or services needed to support stakeholder needs and requirements definition.

      • Obtain or acquire access to the eM&nabling systems or services to be used.

  • Coursera

    • Software Processes and Agile Practices Module 4: Other Practices

      • 2.4.1: Agile Variations and Lean Software Development 10m

      • 2.4.1A: Agile Variations and Lean Software Development 9m

      • 2.4.1B: Agile Variations and Lean Software Development 8m

      • 2.4.1C: Agile Variations and Lean Software Development 4m

      • 2.4.2: Kanban 16m

    • Enroll in Client Needs and Software Requirements course

      • After clicking "Enroll for Free" click Audit

      • This content should have been introduced in Software Engineering Fundamentals and now you are going in depth

  • Jira / Confluence

  • Sommerville

  • Readings

    • Textbook

      • Ch. 6 Finding the voice of the user

      • Ch. 7 Requirements elicitation

    • 29148

      • 8.3 Stakeholder requirements specification

      • 9.4 Stakeholder requirements specification (StRS) content

    • SWEBOK

      • 3. Requirements Elicitation

    • MITRE

      • Eliciting, Collecting, and Developing Requirements 304-313

  • Lesson

    • On Campus

      • CT Discussion

      • Eliciting requirements (REQ.er.2)

        • Elicitation sources (REQ.er.1, 29148 3.1) - Goals, Domain knowledge, Stakeholders, Business rules, The operational environment, The organizational environment

        • Elicitation techniques (REQ.er.2, 29148 3.2) - Interviews, Scenarios, Prototypes, Facilitated meetings, Observation, User stories, Other

          • Good Questions to Ask Your Client worksheet

          • Google Forms

          • Mockup software

            • Design constraints

      • Review user stories

      • Project activity planning

    • Online

      • Project activity work

Week 7 Define Stakeholder Needs

Conduct interviews and create user stories

  • Critical Thinking: information, interpretation and inference, assumptions

    • Garden

  • Video / TED Talk

  • Upcoming activities

    • 6.3.3.3 Define Stakeholder Needs

      • Define context of use within the concept of operations and the preliminary life cycle concepts.

      • Identify stakeholder needs.

      • Prioritize and down-select needs.

      • Define the stakeholder needs and rationale.

  • Coursera

    • Client Needs and Software Requirements Module 1: Introduction to Requirements

      • 3.1.1: What is a Requirement? 7m

      • 3.1.1A: Requirement Activities 8m

      • 3.1.2: Types of Requirements 4m

      • 3.1.2A: User Requirements 4m

      • 3.1.2B: Functional Requirements 4m

      • 3.1.2C: Non-Functional Requirements 6m

      • 3.1.2D: Additional Requirement Types 5m

      • 3.1.3: Controlling Scope 11m

      • 3.1.4: Requirements and Design 5m

  • Jira / Confluence

    • Add user stories

    • Create a new Issue type Requirement

      • Link a user story to a requirement

    • Create a new Issue type Constraint

  • Sommerville

  • Readings

    • Textbook

      • Ch. 8 Understanding user requirements

    • 29148

      • 5.2.5 Characteristics of individual requirements (review)

    • SWEBOK

      • 5. Requirements Specification

    • MITRE

      • None

  • Lesson

    • On Campus

      • Most important concept: Requirement statements

      • CT Discussion, Lesson, We'll see story

      • Writing: read out loud, use tools, share tips

      • Review SMART goals

      • Review textbook chapters, writing requirements

      • "Good enough"

      • Plus Delta Review

          • constructive criticism

      • Introduce new Coursera course

      • Activity preview, be ready to add requirements and constraints

    • Online

      • Jira - requirement issue type

Week 8 Develop the Operational Concept

Perform observation, create scenarios and use cases, create use case diagram and mockup

  • Critical Thinking: point of view, concepts, information

    • America

  • Video / TED Talk

  • Upcoming activities

    • 6.3.3.4 Develop the Operational Concept and Other Life Cycle Concepts

      • Define a representative set of scenarios to identify all required capabilities that correspond to anticipated operational and other life cycle concepts.

      • Identify the interaction between users and the system.

      • Identify the factors affecting interactions between users and the system.

        • purpose, scope, functions, assumptions, interfaces

  • Coursera

    • Client Needs and Software Requirements Module 2: User Interaction

      • 3.2.1: Restaurant Scenario 1m

      • 3.2.2: User Considerations 5m

      • 3.2.2A: User Considerations 4m

      • 3.2.2B: User Considerations 7m

      • 3.2.3: Involving Clients 11m

      • 3.2.3A: Involving Clients 2m

      • 3.2.4: Use Cases 8m

      • 3.2.5: Wireframes 5m

      • 3.2.6: Storyboards 9m

  • Jira / Confluence

  • Sommerville

  • Readings

    • Textbook

      • Ch. 9 Playing by the rules

    • 29148

      • None

    • SWEBOK

      • 4. Requirements Analysis

    • MITRE

      • Spanning the Operational Space—How to Select Use Cases and Mission Threads (438-444)

  • Lesson

    • On Campus

      • CT Discussion

      • Operational Concept introduction

      • Use Cases and Use Case Diagram

        • Student Course Registration example

        • Cafeteria Ordering System example

    • Online

      • Make operational concept

      • Classification and Modeling, Data Flow Models

        • Class

        • Entity-Relationship

        • Context

        • Make use cases and use case diagram - Use Case

Week 9 Transform Stakeholder Needs into Stakeholder Requirements

Convert user stories to formal requirements

  • Critical Thinking

    • Basketball

  • Video / TED Talk

  • Upcoming activities

    • 6.3.3.5 Transform Stakeholder Needs into Stakeholder Requirements

      • Identify constraints on a system solution

        • constraints, limitations (1.3.4)

      • Identify the stakeholder requirements and functions that relate to critical quality characteristics such as assurance, safety, security, environment, or health.

      • Define stakeholder requirements consistent with life cycle concepts, scenarios, interactions, constraints, and critical quality characteristics.

  • Coursera

    • Client Needs and Software Requirements Module 3: Writing Requirements

      • 3.3.1: Agile Requirements 6m

      • 3.3.2: User Stories 5m

      • 3.3.2A: User Stories 6m

      • 3.3.2B: User Stories 4m

      • 3.3.3: Acceptance Tests 7m

      • 3.3.4: Product Backlog 7m

      • 3.3.4A: Product Backlog 5m

      • 3.3.5: Story Maps 7m

  • Jira / Confluence

  • Readings

    • Textbook

      • Ch. 10 Documenting the requirements

      • Ch. 11 Writing excellent requirements

    • 29148

      • 5.2.6 Characteristics of a set of requirements (review)

    • SWEBOK

      • None

    • MITRE


  • Lesson

    • On Campus

      • CT Discussion

        • Basketball

      • Review characteristics of individual requirements.

        • Set a priority.

        • Apply a label: functional or nonfunctional.

      • Analyze the complete set of stakeholder requirements.

      • Review of elicitation techniques

        • Prepare for Elicitation Report

      • 6.3.3 vs 6.4.3

      • 7 Information Items

    • Online

      • Upcoming assignments

        • 3 Elicitation Report

        • SRD

      • Make mockup

        • Choose software - Look at number of job listings that mention them

Week 10 Analyze Stakeholder Requirements

Classify requirements, create wireframe

  • Critical Thinking

    • Hot Coffee

  • Video / TED Talk

  • Upcoming activities

    • 6.3.3.6 Analyze Stakeholder Requirements

      • Analyze the complete set of stakeholder requirements.

      • Define critical performance measures that enable the assessment of technical achievement.

      • Feed back the analyzed requirements to applicable stakeholders to validate that their needs and expectations have been adequately captured and expressed.

      • Resolve stakeholder requirements issues.

  • Coursera

    • Client Needs and Software Requirements Module 4: Quality Requirements

      • 3.4.1: Criteria for User Stories 5m

      • 3.4.1A: Criteria for User Stories 6m

      • 3.4.2: Ambiguous Requirements 23m

      • 3.4.3: Course Summary 4m

  • Jira / Confluence

    • Label requirements

    • Prioritize requirements

  • Readings

  • Lesson

    • On Campus

      • CT Discussion

        • Context

      • Review design constraints

      • Make wireframe on paper

        • Reference use cases - make a frame for each step in the flow that would have a visual element

    • Online

Week 11 Manage the Stakeholder Needs and Requirements Definition

Create mockup

  • Critical Thinking

    • Car -> Beach

  • Video / TED Talk

  • Upcoming activities

    • 6.3.3.7 Manage the Stakeholder Needs and Requirements Definition

      • Obtain explicit agreement [with designated stakeholders] on the stakeholder requirements.

      • Maintain traceability of stakeholder needs and requirements.

      • Provide key [artifacts and] information items that have been selected for baselines.

        • Stakeholder Requirements Specification (StRS) (9.4)

        • requirements repository

        • User / Product / Software Requirements Document (SRD)

  • Coursera

    • No more Coursera for this semester. Use the extra time to work on other assignments. You can complete the additional courses in the Specialization if you are interested.

  • Jira / Confluence

  • Readings

    • Textbook

      • Ch. 14 Beyond functionality (quality attributes)

      • Ch. 15 Reducing risk through prototyping

    • 29148

      • 5.2.5 Characteristics of individual requirements (review)

    • SWEBOK

      • 5. Requirements Specification (review)

    • MITRE

      • Analyzing and Defining Requirements (review)

  • Lesson

Unit 3: System [System/Software] Requirements definition process / Requirements Specification and Documentation (REQ.rsd)

Week 12 Define System [System/Software] Requirements

Create product perspective, create prototype

  • Critical Thinking

    • Sugar

    • The trolley dilemma

  • Video / TED Talk


  • Upcoming activities

    • 6.4.3.2 Prepare for System [System/Software] Requirements Definition

      • Define the functional boundary of the system [software system or element] in terms of the behaviour and properties to be provided.

        • Refine scope, organization, environment, and constraints

      • Define the system[/software] requirements definition strategy

        • approaches, milestones, resources

      • Identify and plan for the necessary enabling systems or services needed to support system[/software] requirements definition

      • Obtain or acquire access to the enabling systems or services to be used.

    • 6.4.3.3 Define system[/software] requirements

      • Define each function that the system [software system or element] is required to perform.

      • Identify required states or modes of operation of the software system.

      • Define necessary implementation constraints.

      • Identify system requirements that relate to risks, criticality of the system, or critical quality characteristics.

      • Identify requirements that relate to risks, criticality of the software system, or critical quality characteristics.

      • Define system/software requirements and requirements attributes, including the following:

        • i) Data elements, data structures and formats, and database or data retention requirements;

        • ii) User interfaces and user documentation (information for users) and user training;

        • iii) Interfaces with other systems and services;

        • iv) Functions and non-functional characteristics, including critical quality characteristics and cost targets;

        • v) Transition of operational processes and data from existing automated and manual systems, migration approach and schedule, software installation and acceptance of the product; and

        • vi) Requirement attributes, such as rationale; priority; traceability to software system elements; test cases, and information items; methods of verification; inclusion in approved baselines; and evaluated risk

  • Coursera

    • None

  • Jira / Confluence

    • Add more Requirement issues

    • Link Requirement issues again

  • Readings

    • Textbook

      • None

    • 29148

      • 5.2.6 Characteristics of a set of requirements (review)

      • 8.5 Software requirements specification

      • 9.6 Software requirements specification (SRS) content

    • SWEBOK

      • 4. Requirements Analysis (review)

    • MITRE

      • Special Considerations for Conditions of Uncertainty: Prototyping and Experimentation

      • Analyzing and Defining Requirements (review)

  • Lesson

Week 13 Analyze system[/software] requirements

Create context diagram, create RTM

  • Critical Thinking

  • Video / TED Talk

  • Upcoming activities

    • 6.4.3.4 Analyze system[/software] requirements

      • Analyze the complete set of system[/software] requirements.

      • Define critical performance measures that enable the assessment of technical achievement.

      • Feed back the analyzed requirements to applicable stakeholders for review.

      • Resolve system requirements issues.

      • Identify and resolve issues, deficiencies, conflicts, and weaknesses within the complete set of requirements.

    • 6.4.3.5 Manage system[/software] requirements

      • Obtain explicit agreement on the system[/software] requirements.

      • Maintain traceability of the system[/software] requirements.

      • Provide key [artifacts and] information items that have been selected for baselines.

        • System Requirements Specification (SyRS) (9.5)

        • Software Requirements Specification (SRS) (9.6)

  • Coursera

    • None

  • Jira / Confluence

    • Functional Boundary

      • context diagram

  • Readings

    • Textbook

      • Ch. 16 First things first: Setting requirement priorities

    • 29148

      • None

    • SWEBOK

      • None

    • MITRE

      • Table 1. System-Level Requirements Checklist (p. 354-356)

  • Lesson

    • On Campus

      • CT Discussion

      • Finish Analysis Report

        • MITRE Table 1. System-Level Requirements Checklist (p. 354-356)

      • Specifications Review

      • Introduction to Validation and Verification

      • Project activity planning

        • RTM

          • Table 29-1 in the book

      • Scenario: Your team is hired to develop software for an organization. What question would be the most helpful for you to ask?

    • Online

      • Project activity work

        • Data flow diagram levels

        • Make context diagram

          • Choose software - Look at number of job listings that mention them

        • RTM

        • Specification Report outline (link accessible in class meeting only)

Unit 4: Requirements engineering activities in other technical processes / Requirements Validation (REQ.rv)

Week 14 Verification and Validation

Create Verification Cross Reference Matrix (VCRM), Conduct Requirements Review

  • Critical Thinking

  • Video / TED Talk

  • Upcoming activities

    • 6.5.2.2 Prepare for verification

      • Select appropriate verification methods or techniques and associated criteria for every verification action.

    • 6.5.2.3 Manage results of verification

      • Maintain traceability of the verified [software] system elements.

        • Create Verification Cross Reference Matrix (VCRM)

    • 6.5.3.2 Prepare for validation

      • Identify the validation scope and corresponding validation actions.

      • Identify the validation scope, including the characteristics of the software system, element, or artifact to be validated, and the expected results of validation.

    • 6.5.3.3 Manage results of validation

      • Maintain traceability of the validated system elements.

  • Coursera

    • None

  • Jira / Confluence

    • None

  • Readings

    • Textbook

      • Ch. 17 Validating the requirements

    • 29148

      • None

    • SWEBOK

      • 6. Validation

    • MITRE

      • None

  • Lesson

    • On Campus

      • CT Discussion

      • Preview Testing course

      • Requirements validation vs software verification

      • The relationship between requirements and testing (more in Ch. 19)

      • Senior project classes preview

      • Project activity planning

        • Verification Approach

      • Review Analysis Report

    • Online

      • Project Discussion

      • Project activity work

Unit 5: Practical Considerations, Software Requirements Tools, Requirements Management

Week 15 Wrap up