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 project structures
- General management principles and project management specificities
- Various management styles
- Unique characteristics of IT projects
- Foundational project processes
- Process models: iterative, incremental, waterfall, agile, and lean
- Project phases
- Roles within a project
- Project documentation and other artifacts
- Soft skills and 'peopleware'
- Project standards: PRINCE2, PMBOK, PMI, IPMA, and others
Day 2: Business Analysis and Requirements Engineering Fundamentals
- Setting business goals
- Business analysis, business process management, and business process improvement
- The boundary between business analysis and system analysis
- System stakeholders, users, context, and boundaries
- The necessity of requirements
- Defining 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
- Basic 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 – historical context and future prospects
- Architectural qualities: modularity, portability, maintainability, and scalability
- Definition and types of software architectures
- Enterprise architecture versus system architecture
- Programming styles
- Programming environments
- Common programming errors and prevention strategies
- Modelling architecture and components
- SOA, Web Services, and micro-services
- 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: definition, ISO 25010, FURPS, etc.
- Product quality, user experience, Kano Model, customer experience management, and integrated quality
- User-centered design, personas, and other methods to personalize quality
- '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 testing schools – identifying the right fit for your needs
Day 5: Process Types, Maturity, and Process Improvement
- Evolution of IT processes: from Alan Turing and IBM to lean startup
- Processes and process-oriented organizations
- History of processes in crafts and industries
- Process modelling: 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)
- History and need for maturity improvement: CMMI, SPICE, and other maturity scales
- Special maturity types: TMM, TPI (for testing), Requirements Engineering Maturity (Gorschek)
- Process maturity versus product maturity: correlations and causal relationships?
- Process maturity versus business success: correlations and causal relationships?
- A forgotten lesson: Automated Defect Prevention and the next leap in productivity
- Initiatives: TQM, SixSigma, agile retrospectives, process frameworks
Requirements Engineering (2 Days)
Day 1: Requirements Elicitation, Negotiation, Consolidation, and Management
- Finding requirements: what, when, and by whom
- Stakeholder classification
- Overlooked stakeholders
- Defining system context – identifying requirements sources
- Elicitation methods and techniques
- Prototyping, personas, and eliciting requirements through testing (exploratory and other methods)
- Marketing and 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: types of conflicts and conflict resolution methods
- Resolving internal incongruence between certain requirement types (e.g., security versus ease of use)
- Requirements traceability – why and how
- 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: Requirements Analysis, Modelling, Specification, Verification, and Validation
- Analysis as the thinking and re-thinking between elicitation and specification
- The requirements process is 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
- UML, BPMN, and other formal and semi-formal modelling notations for requirements
- Using document and sentence templates for requirements description
- Verification of requirements – goals, levels, and methods
- Validation – through prototyping, reviews and inspections, and testing
- Requirements validation and system validation
Testing (2 Days)
Day 1: Test Design, Test Execution, and Exploratory Testing
- Test design: after risk-based testing, choosing the optimal way to use time and resources
- Test design “from infinity to here” – exhaustive testing is not possible
- Test cases and test scenarios
- Test design across various test levels (from unit to system test level)
- Test design for static and dynamic testing
- Business-oriented and technique-oriented test design (“black-box” and “white-box”)
- Attempting to break the system (“negative testing”) and supporting developers (acceptance testing)
- Test design to achieve test coverage – various test 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 and exploratory approaches
- Describing test cases – determining the level of detail
- Test execution – psychological aspects
- Test execution – logging and reporting
- Designing tests for “non-functional” testing
- 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 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.