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
Scrum
Atlassian Agile Coach section: Scrum (read whole section and watch all videos)
Register and sign up for free plan
Agile Tutorial: Learn scrum with Jira Software
Optional Agile Tutorial: Learn advanced scrum practices with Jira Software
Sommerville
Video: An introduction to Requirements Engineering (10:44)
Slides: Intro to requirements eng.
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
Atlassian Agile Coach section: Kanban (read whole section and watch all videos)
Agile Tutorial: Learn kanban with Jira software
Create a next-gen kanban project
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
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
How great leaders inspire action / Start with Why (17:58)
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
Epics and Issues
Atlassian Agile Coach section: Agile Project Management (read and watch videos up to Epics)
Agile Tutorial: Learn how to use Epics in Jira Software
Agile Tutorial: Working with issues in Jira Software
Add an epic for Business Analysis, adjust timeline, add due date
Make a custom issue for Business Rules
Add business rules to epic
Customize Overview page
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
The value of diversity
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
Software Processes and Agile Practices Module 2: Process Models
2.2.1: Linear Models 14m
2.2.2: Spiral Model 8m
2.2.3: Unified Process 8m
2.2.4: Prototyping 14m
2.2.5: Continuous Delivery 11m
Jira / Confluence
Issues and User Stories
Atlassian Agile Coach section: Agile Project Management (read and watch videos after Epics)
Agile Tutorial: Working with issues in Jira Software (review)
Create Operational Concept
Issues with limitation label
Sommerville
Video: Requirements Engineering Processes (9:11)
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
Critical Thinking: assumptions, point of view, concepts
Surgeon
Video / TED Talk
Upcoming activities
6.2.3.6 Manage the Business or Mission Analysis
Maintain traceability of business or mission analysis.
Provide key [artifacts and] information items that have been selected for baselines.
Coursera
Software Processes and Agile Practices Module 3: Agile Practices
2.3.1: Using Agile With Process Models 7m
2.3.2: Extreme Programming 14m
2.3.2B: Extreme Programming 8m
2.3.3: Scrum 15m
Jira / Confluence
Product Management and Roadmaps
Atlassian Agile Coach section: Product Management
Agile Tutorial: Learn how to create agile boards in Jira Software
Readings
Textbook
Ch. 5 Establishing the business requirements
29148
Section 7 Information items
SWEBOK
3. Requirements Elicitation (review)
MITRE
Lesson
On Campus
CT Discussion
UNESCO International Day of Women and Girls in Science (11 February of each year)
Review One Good Requirement Statement
Project activity planning
BRS / OpsCon
Online
Project Discussion
Project activity work
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
Enterprise facilitation (15:50)
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
Product Management and Roadmaps
Optional Atlassian Agile Coach section: Agile Software Development
Optional Agile Tutorial: Learn how to use sprints in Jira Software
Add Issue type Story
Add Priority field to Story type
Sommerville
Video: Stakeholders, Viewpoints and concerns (8:06)
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
5 ways to listen better (7:43)
We'll see story
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
Video: User stories
Slides: User stories
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
Writing: read out loud, use tools, share tips
Review SMART goals
Review textbook chapters, writing requirements
"Good enough"
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
Embedding diagrams
Sommerville
Video: Requirements engineering challenges (12:28)
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
Templates
/jira
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
Textbook
If you are a perfectionist, learn to be satisfied with good enough
Ch. 12 A picture is worth 1024 words
Ch. 13 Specifying data requirements
29148
6.4.1 Purpose
8.4 System requirements specification
9.5 System requirements specification (SyRS) content
SWEBOK
None
MITRE
Analyzing and Defining Requirements (314-318)
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
Make wireframe in Figma
Week 11 Manage the Stakeholder Needs and Requirements Definition
Create mockup
Critical Thinking
Car -> Beach
Video / TED Talk
Prototypes, not powerpoints (8:57)
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
On Campus
CT Discussion
Beach -> Car
Project activity planning
System[/software] requirements
SRD
Mockup creation
Figma For Beginners: Explore ideas (1/4) (15:49)
Create a new project in Figma.
Use a templates like from Community Mobile Design Templates or Community Web Design Templates by duplicating them to your drafts and then copying and pasting elements into your project.
Prototype testing
Online
Project activity work
Add and link system[/software] requirements
Make SRD
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
On Campus
CT Discussion
Project activity planning
Requirements Classification
Conceptual Modeling
Architectural Design and Requirements Allocation
Requirements Negotiation
Formal Analysis
Ethical and professional responsibilities in engineering situations
Prototype
Online
Project activity work
Prioritize and label
Analysis Report Outline (link accessible in class meeting only)
Prototype
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
Verification Approach field in Requirement issue
Tool Review
Validation Report outline (in class)
SRS outline
Unit 5: Practical Considerations, Software Requirements Tools, Requirements Management
Week 15 Wrap up
Critical Thinking
Video / TED Talk
Jira / Confluence
Polishing
Export everything to PDF and save to OneDrive
Readings
Textbook
Ch. 18 Requirements reuse
Ch. 19 Beyond requirements development
29148
None
SWEBOK
7. Practical Considerations
8. Tools
MITRE
Configuration Management Tools (653-657)
Lesson
On Campus
CT Discussion
SRS
Course Review / Final Exam Preparation
Big takeaways
Job search
Online
Project activity work
Export from Jira / Confluence
Portfolio
Final Exam outline
End of class awards