Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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
Testimonials (3)
hands on exercises, easier to retain information
ashley bolen - Insurance Corporation of British Columbia
Course - Test Automation with Selenium
Key topics can be discussed and agreed upon with the trainer in advance. Relaxed and pleasant atmosphere during the seminar days.
Lorenz - Continentale Lebensversicherung AG
Course - Advanced Selenium
I gained new knowledge and I'm pretty confident about it. Nothing unclear.