Requirements for Complex Software Systems
Published by Pearson
Transform work performance through systems thinking, psychology, and causality
- Repositions requirements as understanding the causality of the performance problems to solve in the workplace using psychology and systems thinking
- Learn how to apply job analysis and design from organizational psychology to fully understand the work to be done as a foundation for requirements
- Understand a new concept called “work requirements” that converts non-functional requirements into functional requirements, and integrates business and user requirements
This course repositions the traditional requirements step to be about defining the workplace performance problems to be solved. If the purpose of enterprise software is to improve people’s performance at work, why doesn’t this happen very often? Or worse, why does performance degrade? The question business analysts should be asking is: How do we get a 2x or greater improvement?
The course draws on organizational psychology to help you collect the right kinds of requirements and causal information to clearly explain why people do what they do, what causes high and low performance, and what needs to be done differently to achieve real and sustained transformation in the workplace.
Instead of using the requirements to buy or build your solution, however, this course concludes with how to get them ready for a visual software design step that transforms the typically written requirements from ambiguous, incomplete, and extraneous to precise, complete, and relevant.
This approach to requirements is applicable whether you want to buy or build new or replacement software or upgrade existing applications.
This course is one of two related courses, as follows, which can be taken in any order:
- Requirements for Complex Software Systems (this course)
- Designing Complex Software Systems
What you’ll learn and how you can apply it
- Determine the causality of performance problems in the workplace and define and measure the metrics to support the business case
- Determine the general categories of interventions surrounding the new application necessary to embed and sustain change
- Conduct job analysis and design to fully understand the nature of people’s work as the core foundation for requirements
- Analyze and validate the requirements before getting them ready to convert to visual design models in the separate step of software design
This live event is for you because...
- You're a curious business analyst, UI / UX / EX designer, business architect, and/or developer, with any level of expertise and you don’t want requirements sessions to result in hundreds and hundreds of micro wants and needs on sticky notes.
Prerequisites
- Familiarity with business analysis techniques is beneficial, but not necessary
Recommended Follow-up
- Read: Software Requirements Essentials: Core Practices for Successful Business Analysis by Karl Wiegers and Candase Hokanson
- Read: Software Requirements, 3rd edition, by Karl E. Wiegers and Joy Beatty
- Attend: Designing Complex Software Systems by Craig Errey
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Part I: Introduction
Lesson 1: What is the Requirements Problem? (10 minutes)
- How can we work out what people really need from the software application?
- Are requirements really emergent?
- How do we capture requirements so they don’t change or appear later in the process?
- How do we know that the requirements will significantly improve performance?
Lesson 2: A New Approach to Requirements: Define Work Performance Problems and their Causality (20 minutes)
- A framework and standard process for managing requirements
- Should you capture current state or future state requirements, or both?
- Use systems thinking to understand causality of performance problems in the workplace
- The main categories of requirements information to collect
- Use job analysis and design from organizational psychology as the primary requirements gathering technique
- Introducing work requirements to integrate business, user, functional, and non-functional requirements
- Convert non-functional requirements to functional requirements
- Key principles in requirements
- The difference between requirements and design
- Preparing the requirements for design
Part II: Requirements Fundamentals
Lesson 3: Core Skills for Quality Requirements (25 minutes)
- Understanding people and why they do what they do
- Interviewing people to elicit valid and reliable information
- Running workshops that are fast, engaging, and inclusive
Lesson 4: Causal Analysis: Why People Do What They Do (25 minutes)
- Six main categories of causality
- Socio-technical systems analysis
- How to represent causal information
- How do you know whether it’s correlation or causality?
- Statistical methods for determining causality
- How to encourage people to change the way they do things
Break and Q&A (5 mins)
Lesson 5: Requirements Information to Collect (20 minutes)
- Strategic intent, vision, values, key performance indicators
- Technology and applications
- Market, customers, brand, and experience
- Product and services
- Policies, processes, and procedures
- People and capabilities
- Jobs and work to be done
- Integrate the causal findings into a high-performance model
Lesson 6: A Quick Review of Common Requirements Gathering Methods (20 minutes)
- Interviews
- Workshops
- Causal surveys
- Ethnographic or contextual observation
- Usability evaluation
- Analyzing existing applications
- Business process analysis
- Personas and scenarios
- Job analysis and design
- Select the right requirements methods based on the information to collect
Part III: Job Analysis and Design
Lesson 7: Job Analysis and Design (35 minutes)
- What is the nature of work?
- The job structure: Key Result Areas, Key Tasks, Key Performance Indicators, and Competencies
- Conduct Job Analysis and Design On your own or in co-design workshops
- Conduct a detailed cognitive task analysis
- Increase the detail through procedures and workflow modelling
- Analyze and validate the job
Break and Q&A (5 mins)
Part IV: Validate Requirements and Control Change
Lesson 8: Validate Requirements (15 minutes)
- Different methods to validate the requirements
- Determine if any have been missed, if anything is incorrect, and if anything is extraneous
- Confirm that non-functional requirements have been captured and represented
- Measure the improvement in people’s work performance to support the business case
Lesson 9: Control Changes to the Requirements (10 minutes)
- Use job analysis and design to control scope creep, change, and descope
- Use the performance metrics to control scope creep, change, and descope
Part V: Using the Requirements
Lesson 10: Different Project Purposes (15 minutes)
- New or greenfield applications
- Replace existing applications
- Improve or upgrade existing applications
Lesson 11: Holistic Change Management and Digital Transformation (15 minutes)
- Create a robust and defensible business case
- Identify other interventions necessary to embed and sustain change
Part VI: From Requirements to Design
Lesson 12: Get the Requirements Ready for Design (10 minutes)
- Introducing the formal step of Software Design
- Extract the core elements: Nouns, Adjectives, Verbs, and Adverbs
- Map the requirements and their core elements to the five visual design models: Domain, Workflow, Data, Business Rules, and User Interface
Wrap Up and Q&A (10 minutes)
Your Instructor
Craig Errey
Craig is an organizational psychologist, business architect and UI/UX/CX designer specializing in connecting people, work, and technology. Craig holds a Masters in Applied Psychology from UNSW and is a Registered Psychologist in Australia.
For 30 years, Craig Errey has worked on the requirements and user interface design for some of the largest organizations in Australia including Commonwealth Bank, CUA, Telstra, Qantas, NSW Department of Education, NSW Department of Industry, ASIC, Australian Parliament House, ANZ Bank, and Tourism Australia. Craig has designed apps used by millions of people, everyday.
His insight into technology in the workplace has been called on by media outlets including the Sydney Morning Herald, The Australian, 2UE and ABC Radio National. Craig also gave a TEDx talk on the four-day week at full pay.