Get in Touch

Course Outline

Software Engineering (5 Days)

Day 1: Project Management

  • Distinctions between project management, line management, maintenance, and support
  • Project definition and various project structures
  • General management principles and specific project management practices
  • Various management styles
  • Unique characteristics of IT projects
  • The fundamental project lifecycle
  • Project 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 in projects
  • Project standards and frameworks: PRINCE2, PMBOK, PMI, IPMA, and others

Day 2: Business Analysis and Requirements Engineering Fundamentals

  • Establishing business objectives
  • Business analysis, business process management, and process improvement
  • Demarcating business analysis from system analysis
  • System stakeholders, users, context, and boundaries
  • The necessity of requirements
  • Definition of requirements engineering
  • The interface between requirements engineering and architectural design
  • Where requirements engineering is frequently overlooked
  • Requirements engineering within iterative, lean, and agile development, including continuous integration (FDD, DDD, BDD, TDD)
  • Core requirements engineering processes, roles, and artifacts
  • 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: current relevance and future outlook
  • Architectural attributes: modularity, portability, maintainability, and scalability
  • Definition and classification of software architectures
  • Enterprise architecture versus system architecture
  • Programming styles
  • Programming environments
  • Common programming errors and strategies to avoid them
  • Modeling architecture and components
  • SOA, Web Services, and microservices
  • Automated builds and continuous integration
  • The extent of architectural design required in a project
  • Extreme programming, TDD, and refactoring

Day 4: Quality Assurance and Testing Fundamentals

  • Product quality definitions: ISO 25010, FURPS, and others
  • Product quality, user experience, Kano Model, customer experience management, and total quality
  • User-centered design, personas, and strategies for personalized quality
  • The concept of "just-enough" quality
  • Differences between Quality Assurance (QA) and 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
  • The four testing schools and identifying the right fit

Day 5: Process Types, Maturity, and Process Improvement

  • Evolution of IT processes: from Alan Turing and Big Blue to the lean startup
  • Process-oriented organizations
  • Historical context of processes in crafts and industries
  • Process modeling techniques: UML, BPMN, and others
  • Process management, optimization, re-engineering, and management systems
  • Innovative process approaches: Deming, Juran, TPS, Kaizen
  • Philip Crosby’s perspective on the cost of quality
  • History and need for maturity improvements: CMMI, SPICE, and other maturity scales
  • Specific maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek)
  • Relationship between process maturity and product maturity
  • Correlation between process maturity and business success
  • Key insights: Automated Defect Prevention and the next step 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 who
  • Stakeholder classification
  • Overlooked stakeholders
  • Defining system context and identifying requirement sources
  • Elicitation methods and techniques
  • Prototyping, personas, and elicitation via testing (exploratory and other methods)
  • Market-driven requirements engineering (MDRA)
  • Requirements prioritization: MoSCoW, Karl Wiegers, and other techniques (including agile MMF)
  • Refining requirements through agile "specification by example"
  • Requirements negotiation: conflict types and resolution methods
  • Resolving internal conflicts between requirement types (e.g., security vs. usability)
  • Requirements traceability: purpose and methodology
  • Managing requirements status changes
  • Requirements CCM, versioning, and baselines
  • Product view vs. project view on requirements
  • Product management and requirements management within projects

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

  • Analysis as the iterative thinking process between elicitation and specification
  • The iterative nature of the requirements process, even in sequential projects
  • Risks and benefits of using natural language for requirements
  • Benefits and costs of requirements modeling
  • Guidelines for using natural language in requirements specification
  • Creating and managing a requirements glossary
  • Formal and semi-formal modeling notations: UML, BPMN, and others
  • Utilizing document and sentence templates for requirement descriptions
  • Requirements verification: goals, levels, and methods
  • Validation techniques: prototyping, reviews, inspections, and testing
  • Requirements validation versus system validation

Testing (2 Days)

Day 1: Test Design, Execution, and Exploratory Testing

  • Test design: selecting optimal time and resource allocation based on risk-based testing
  • Test design "from infinity to here": recognizing the limits of exhaustive testing
  • Test cases and test scenarios
  • Test design across various levels (unit to system)
  • Test design for static and dynamic testing
  • Business-oriented and technique-oriented design: "black-box" and "white-box"
  • Negative testing and acceptance testing to support developers
  • Achieving test coverage through various measurement metrics
  • 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
  • Detail level for describing test cases
  • P psychological aspects of test execution
  • Logging and reporting during test execution
  • Designing tests for "non-functional" attributes
  • Automatic test design and Model-Based Testing (MBT)

Day 2: Test Organization, Management, and Automation

  • Test levels (or phases)
  • Responsibility for testing: who does it and when? Exploring 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 automatable tasks
  • Automation of test execution: approaches and tools
 63 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories