Get in Touch

Course Outline

Software Engineering (5 Days)

Day 1: Project Management

  • Distinguishing between project management, line management, maintenance, and support
  • Defining projects and understanding different project structures
  • Management principles: general rules versus project-specific management
  • Various management styles
  • Unique characteristics of IT projects
  • Foundational project processes
  • Methodologies: iterative, incremental, waterfall, agile, and lean
  • Key project phases
  • Roles within a project
  • Project documentation and other deliverables
  • Soft skills and the human element (peopleware)
  • Project standards: PRINCE 2, PMBOK, PMI, IPMA, and others

Day 2: Fundamentals of Business Analysis and Requirements Engineering

  • Setting business goals
  • Business analysis, business process management, and business process improvement
  • The distinction between business analysis and system analysis
  • System stakeholders, users, context, and boundaries
  • The necessity of requirements
  • Understanding requirements engineering
  • The interface between requirements engineering and architectural design
  • Where requirements engineering is often overlooked
  • Requirements engineering in iterative, lean, and agile development, including continuous integration (FDD, DDD, BDD, TDD)
  • Core requirements engineering processes, roles, and artefacts
  • Standards and certifications: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA

Day 3: Fundamentals of Architecture and Development

  • Programming languages: structural and object-oriented paradigms
  • Object-oriented development: historical context and future prospects
  • Architectural attributes: modularity, portability, maintainability, and scalability
  • Defining and classifying software architectures
  • Enterprise architecture versus system architecture
  • Programming styles
  • Programming environments
  • Common programming errors and strategies to avoid or prevent them
  • Modelling architecture and components
  • SOA, Web Services, and micro-services
  • Automated builds and continuous integration
  • The extent of architectural design in projects
  • Extreme programming, TDD, and refactoring

Day 4: Fundamentals of Quality Assurance and Testing

  • Product quality: definition, ISO 25010, FURPS, etc.
  • Product quality, user experience, Kano Model, customer experience management, and holistic quality
  • User-centred design, personas, and other methods for personalized quality
  • The concept of "just-enough" quality
  • Quality Assurance versus Quality Control
  • Risk strategies in quality control
  • Components of quality assurance: requirements, process control, configuration and change management, verification, validation, testing, static testing, and static analysis
  • Risk-based quality assurance
  • Risk-based testing
  • Risk-driven development
  • Boehm’s curve in quality assurance and testing
  • The four schools of testing: identifying the best fit for your needs

Day 5: Process Types, Maturity, and Process Improvement

  • Evolution of IT processes: from Alan Turing and IBM to lean startup methodologies
  • Processes and process-oriented organizations
  • History of processes in crafts and industries
  • Process modelling: UML, BPMN, and others
  • Process management, optimization, re-engineering, and management systems
  • Innovative process approaches: Deming, Juran, TPS, Kaizen
  • Is quality free? (Philip Crosby)
  • The history and need for maturity improvement: CMMI, SPICE, and other scales
  • Specialized maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek)
  • Process maturity versus product maturity: correlations and causal links
  • Process maturity versus business success: correlations and causal links
  • A valuable lesson: Automated Defect Prevention and the next leap in productivity
  • Initiatives: TQM, Six Sigma, agile retrospectives, and process frameworks

Requirements Engineering (2 Days)

Day 1: Elicitation, Negotiation, Consolidation, and Management

  • Identifying requirements: what, when, and by whom
  • Classifying stakeholders
  • Overlooked stakeholders
  • Defining system context to identify requirements sources
  • Elicitation methods and techniques
  • Prototyping, personas, and elicitation through testing (exploratory and other methods)
  • Marketing-driven requirements elicitation: MDRA (Market-Driven Requirements Engineering)
  • Prioritizing requirements: MoSCoW, Karl Wiegers, and other techniques (including agile MMF)
  • Refining requirements using agile "specification by example"
  • Requirements negotiation: types of conflicts and resolution methods
  • Resolving internal conflicts between requirement types (e.g., security vs. ease of use)
  • Requirements traceability: why and how
  • Managing changes in requirements status
  • Requirements CCM, versioning, and baselines
  • Product view versus project view on requirements
  • Product management and requirements management in projects

Day 2: Analysis, Modelling, Specification, Verification, and Validation

  • Analysis as the reflective process between elicitation and specification
  • Requirements processes are always iterative, even in sequential projects
  • Describing requirements in natural language: risks and benefits
  • Requirements modelling: benefits and costs
  • Rules for using natural language in requirements specification
  • Defining and managing a requirements glossary
  • Formal and semi-formal modelling notations for requirements: UML, BPMN, and others
  • Using document and sentence templates for requirements description
  • Requirements verification: goals, levels, and methods
  • Validation through prototyping, reviews, inspections, and testing
  • Requirements validation versus system validation

Testing (2 Days)

Day 1: Test Design, Execution, and Exploratory Testing

  • Test design: optimizing time and resources following risk-based testing
  • Test design "from infinity to here" – exhaustive testing is not feasible
  • Test cases and test scenarios
  • Test design across various levels (from unit to system testing)
  • Test design for static and dynamic testing
  • Business-oriented and technique-oriented test design ("black-box" and "white-box")
  • Negative testing (attempting to break the system) and acceptance testing (supporting developers)
  • Achieving test coverage: various measures
  • Experience-based test design
  • Designing test cases from requirements and system models
  • Test design heuristics and exploratory testing
  • Timing of test case design: traditional versus exploratory approaches
  • Describing test cases: determining the appropriate level of detail
  • Psychological aspects of test execution
  • Test execution: logging and reporting
  • Designing tests for "non-functional" requirements
  • Automated test design and MBT (Model-Based Testing)

Day 2: Test Organization, Management, and Automation

  • Test levels (or phases)
  • Who performs testing and when? – various solutions
  • Test environments: cost, administration, access, and responsibility
  • Simulators, emulators, and virtual test environments
  • Testing within agile scrum
  • Test team organization and roles
  • Test process
  • Test automation: identifying automatable tasks
  • Test execution automation: approaches and tools
 63 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories