Get in Touch

Course Outline

Software Engineering (5 Days)

Day 1: Project Management

  • Distinctions between project management, line management, maintenance, and support.
  • Defining projects and understanding different project types.
  • General management principles and their application to project management.
  • Various management styles.
  • Unique characteristics of IT projects.
  • Fundamental project processes.
  • Project methodologies: Iterative, Incremental, Waterfall, Agile, and Lean.
  • Key project phases.
  • Roles within a project team.
  • Project documentation and associated artifacts.
  • Soft skills and the human element in projects.
  • Major project management standards: PRINCE2, PMBOK, PMI, IPMA, and others.

Day 2: Business Analysis and Requirements Engineering Fundamentals

  • Establishing business goals.
  • Business analysis, business process management, and process improvement.
  • Clarifying the boundary between business and system analysis.
  • Understanding system stakeholders, users, context, and boundaries.
  • The necessity of requirements.
  • Defining requirements engineering.
  • Differentiating requirements engineering from architectural design.
  • Identifying areas where requirements engineering is often overlooked.
  • Implementing requirements engineering in iterative, lean, and agile development, as well as continuous integration (FDD, DDD, BDD, TDD).
  • Core requirements engineering process, roles, and artifacts.
  • Relevant standards and certifications: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA.

Day 3: Architecture and Development Fundamentals

  • Programming languages: Structural and object-oriented paradigms.
  • Object-oriented development: Past contributions and future relevance.
  • Architectural qualities: Modularity, portability, maintainability, and scalability.
  • Definitions and types of software architectures.
  • Enterprise architecture versus system architecture.
  • Programming styles.
  • Programming environments.
  • Common programming errors and strategies for avoidance and prevention.
  • Modeling architecture and components.
  • Service-Oriented Architecture (SOA), Web Services, and microservices.
  • Automated builds and continuous integration.
  • The extent of architecture design in a project.
  • Extreme Programming (XP), Test-Driven Development (TDD), and refactoring.

Day 4: Quality Assurance and Testing Fundamentals

  • Product quality: Definitions, ISO 25010, FURPS, etc.
  • Product quality, user experience, the Kano Model, customer experience management, and holistic quality.
  • User-centered design, personas, and methods for personalizing quality.
  • Achieving 'just-enough' quality.
  • Quality Assurance (QA) vs. Quality Control (QC).
  • Risk strategies in quality control.
  • QA components: 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 the context of QA and testing.
  • Four testing schools: Determining which best suits your needs.

Day 5: Process Types, Maturity, and Process Improvement

  • The evolution of IT processes: From Alan Turing and IBM to lean startups.
  • Processes and process-oriented organizations.
  • Historical perspective on processes in crafts and industries.
  • Process modeling: UML, BPMN, and other techniques.
  • Process management, optimization, re-engineering, and process management systems.
  • Innovative process approaches: Deming, Juran, TPS (Toyota Production System), Kaizen.
  • Is quality free? (Philip Crosby).
  • The necessity and history of maturity improvement: CMMI, SPICE, and other maturity scales.
  • Specific maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek).
  • Correlation between process maturity and product maturity: Is there a link or causal relationship?
  • Correlation between process maturity and business success: Is there a link or causal relationship?
  • A neglected 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: Requirements Elicitation, Negotiation, Consolidation, and Management

  • Identifying requirements: What, when, and by whom.
  • Classifying stakeholders.
  • Identifying overlooked stakeholders.
  • Defining system context and requirements sources.
  • Elicitation methods and techniques.
  • Prototyping, personas, and elicitation through testing (exploratory and other methods).
  • Marketing-driven requirements elicitation: Market-Driven Requirements Engineering (MDRA).
  • Prioritizing requirements: MoSCoW, Karl Wiegers, and other techniques (including agile MMF).
  • Refining requirements: Agile 'specification by example'.
  • Requirements negotiation: Types of conflicts and conflict resolution methods.
  • Resolving internal incongruence between certain requirement types (e.g., security vs. ease of use).
  • Requirements traceability: Importance and methodology.
  • Managing changes in requirements status.
  • Requirements Change Control Management (CCM), versioning, and baselines.
  • Product-oriented versus project-oriented perspectives on requirements.
  • Integrating product management with project requirements management.

Day 2: Requirements Analysis, Modeling, Specification, Verification, and Validation

  • Analysis as the critical thinking process between elicitation and specification.
  • The iterative nature of the requirements process, even in sequential projects.
  • Risks and benefits of describing requirements in natural language.
  • Requirements modeling: Benefits and costs.
  • Guidelines for using natural language in requirements specification.
  • Creating and managing a requirements glossary.
  • Formal and semi-formal modeling notations for requirements: UML, BPMN, and others.
  • Using document and sentence templates for requirements description.
  • Requirements verification: Goals, levels, and methods.
  • Requirements validation: Through prototyping, reviews, inspections, and testing.
  • Distinguishing requirements validation from system validation.

Testing (2 Days)

Day 1: Test Design, Test Execution, and Exploratory Testing

  • Test design: Selecting optimal time and resource usage after risk-based testing.
  • Test design 'from infinity to here': Why exhaustive testing is not feasible.
  • Test cases and test scenarios.
  • Test design across various levels (from unit to system testing).
  • Designing tests for static and dynamic testing.
  • Business-oriented versus technique-oriented test design ('black-box' and 'white-box').
  • Pursuing 'negative testing' (breaking the system) and 'acceptance testing' (supporting developers).
  • Achieving test coverage: Various measures of coverage.
  • Experience-based test design.
  • Deriving test cases from requirements and system models.
  • Test design heuristics and exploratory testing.
  • Timing of test case design: Traditional vs. exploratory approaches.
  • Level of detail required when describing test cases.
  • Psychological aspects of test execution.
  • Logging and reporting during test execution.
  • Designing tests for 'non-functional' requirements.
  • Automatic test design and Model-Based Testing (MBT).

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 frameworks.
  • Test team organization and roles.
  • The test process.
  • Test automation: Identifying what can be automated.
  • Automating test execution: Approaches and tools.
 63 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories