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
- Distinguishing between project management and line management, including maintenance and support
- Project definition and various project models
- General management rules and their application to project management
- Different management styles
- Unique characteristics of IT projects
- Foundational project processes
- Process models: Iterative, incremental, waterfall, agile, and lean
- Project phases
- Key project roles
- Project documentation and other deliverables
- Soft skills and human factors (peopleware)
- Project management standards: PRINCE2, PMBOK, PMI, IPMA, and others
Day 2: Business Analysis and Requirements Engineering Fundamentals
- Defining business goals
- Business analysis, business process management, and business process improvement
- The boundary between business and system analysis
- System stakeholders, users, context, and boundaries
- The necessity of requirements
- Understanding requirements engineering
- The boundary 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 process, 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 – assessing its historical context and future relevance
- Architectural qualities: modularity, portability, maintainability, and scalability
- Definition and types of software architectures
- Enterprise architecture vs. system architecture
- Programming styles
- Programming environments
- Common programming mistakes and prevention strategies
- Modeling architecture and components
- SOA, Web Services, and microservices
- Automated builds and continuous integration
- The extent of architecture design in a project
- Extreme programming, TDD, and refactoring
Day 4: Quality Assurance and Testing Fundamentals
- Product quality definitions, ISO 25010, FURPS, etc.
- Product quality, user experience, Kano Model, customer experience management, and total quality
- User-centered design, personas, and methods to personalize quality
- 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 quality assurance and testing
- The four testing schools – determining which fits your needs
Day 5: Process Types, Maturity, and Process Improvement
- The evolution of IT processes: from Alan Turing to Big Blue and lean startup
- Processes and process-oriented organizations
- History of processes in crafts and industries
- Process modeling: UML, BPMN, and more
- Process management, optimization, re-engineering, and process management systems
- Innovative process approaches: Deming, Juran, TPS, Kaizen
- Is quality free? (Philip Crosby)
- Historical context and need for maturity improvement: CMMI, SPICE, and other scales
- Specialized maturity models: TMM, TPI (for testing), Requirements Engineering Maturity (Gorschek)
- Process maturity vs. product maturity: correlations and causal relationships
- Process maturity vs. business success: correlations and causal relationships
- A critical lesson: Automated Defect Prevention and the next leap in productivity
- Initiatives: TQM, Six Sigma, agile retrospectives, process frameworks
Requirements Engineering (2 Days)
Day 1: Requirements Elicitation, Negotiation, Consolidation, and Management
- Finding requirements: what, when, and who
- Stakeholder classification
- Overlooked stakeholders
- Defining system context and identifying requirements sources
- Elicitation methods and techniques
- Prototyping, personas, and requirements 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 – agile 'specification by example'
- Requirements negotiation: conflict types and resolution methods
- Resolving internal incongruence among requirement types (e.g., security vs. ease of use)
- Requirements traceability – why and how
- Requirements status changes
- Requirements Change Control Management (CCM), versioning, and baselines
- Product view vs. project view on requirements
- Product management and requirements management in projects
Day 2: Requirements Analysis, Modeling, Specification, Verification, and Validation
- Analysis as the thinking process between elicitation and specification
- The iterative nature of the requirements process, even in sequential projects
- Describing requirements in natural language: risks and benefits
- Requirements modeling: benefits and costs
- Guidelines for using natural language in requirements specification
- Defining and managing a requirements glossary
- UML, BPMN, and other formal/semi-formal modeling notations for requirements
- Using document and sentence templates for requirement descriptions
- Requirements verification – goals, levels, and methods
- Validation – via prototyping, reviews, inspections, and testing
- Requirements validation vs. system validation
Testing (2 Days)
Day 1: Test Design, Test Execution, and Exploratory Testing
- Test design: selecting the optimal use of time and resources after risk-based testing
- Test design 'from infinity to here' – exhaustive testing is impossible
- Test cases and test scenarios
- Test design across various test levels (from unit to system)
- Test design for static and dynamic testing
- Business-oriented vs. technique-oriented test design ('black-box' and 'white-box')
- Negative testing (breaking the system) and acceptance testing (supporting developers)
- Achieving test coverage – various coverage measures
- Experience-based test design
- Designing test cases from requirements and system models
- Test design heuristics and exploratory testing
- When to design test cases? – traditional vs. exploratory approaches
- Describing test cases – determining the appropriate level of detail
- Test execution – psychological aspects
- Test execution – logging and reporting
- Designing tests for 'non-functional' testing
- 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 in agile scrum
- Test team organization and roles
- Test process
- Test automation – what can be automated?
- Test execution automation – 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.