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, line management, maintenance, and support
- Defining projects and understanding different project structures
- Management principles: general rules versus project-specific management
- Various management styles
- Unique characteristics of IT projects
- Foundational project processes
- 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 (peopleware)
- Project standards: PRINCE 2, PMBOK, PMI, IPMA, and others
Day 2: Fundamentals of Business Analysis and Requirements Engineering
- Setting business goals
- Business analysis, business process management, and business process improvement
- The distinction between business analysis and system analysis
- System stakeholders, users, context, and boundaries
- The necessity of requirements
- Understanding requirements engineering
- The interface 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 processes, roles, and artefacts
- Standards and certifications: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA
Day 3: Fundamentals of Architecture and Development
- Programming languages: structural and object-oriented paradigms
- Object-oriented development: historical context and future prospects
- Architectural attributes: modularity, portability, maintainability, and scalability
- Defining and classifying software architectures
- Enterprise architecture versus system architecture
- Programming styles
- Programming environments
- Common programming errors and strategies to avoid or prevent them
- Modelling architecture and components
- SOA, Web Services, and micro-services
- Automated builds and continuous integration
- The extent of architectural design in projects
- Extreme programming, TDD, and refactoring
Day 4: Fundamentals of Quality Assurance and Testing
- Product quality: definition, ISO 25010, FURPS, etc.
- Product quality, user experience, Kano Model, customer experience management, and holistic quality
- User-centred design, personas, and other methods for personalized quality
- The concept of "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 schools of testing: identifying the best fit for your needs
Day 5: Process Types, Maturity, and Process Improvement
- Evolution of IT processes: from Alan Turing and IBM to lean startup methodologies
- Processes and process-oriented organizations
- History of processes in crafts and industries
- Process modelling: UML, BPMN, and others
- Process management, optimization, re-engineering, and management systems
- Innovative process approaches: Deming, Juran, TPS, Kaizen
- Is quality free? (Philip Crosby)
- The history and need for maturity improvement: CMMI, SPICE, and other scales
- Specialized maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek)
- Process maturity versus product maturity: correlations and causal links
- Process maturity versus business success: correlations and causal links
- A valuable 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: Elicitation, Negotiation, Consolidation, and Management
- Identifying requirements: what, when, and by whom
- Classifying stakeholders
- Overlooked stakeholders
- Defining system context to identify requirements sources
- Elicitation methods and techniques
- Prototyping, personas, and 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 using agile "specification by example"
- Requirements negotiation: types of conflicts and resolution methods
- Resolving internal conflicts between requirement types (e.g., security vs. ease of use)
- Requirements traceability: why and how
- Managing 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: Analysis, Modelling, Specification, Verification, and Validation
- Analysis as the reflective process between elicitation and specification
- Requirements processes are 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
- Formal and semi-formal modelling notations for requirements: UML, BPMN, and others
- Using document and sentence templates for requirements description
- Requirements verification: goals, levels, and methods
- Validation through prototyping, reviews, inspections, and testing
- Requirements validation versus system validation
Testing (2 Days)
Day 1: Test Design, Execution, and Exploratory Testing
- Test design: optimizing time and resources following risk-based testing
- Test design "from infinity to here" – exhaustive testing is not feasible
- Test cases and test scenarios
- Test design across various levels (from unit to system testing)
- Test design for static and dynamic testing
- Business-oriented and technique-oriented test design ("black-box" and "white-box")
- Negative testing (attempting to break the system) and acceptance testing (supporting developers)
- Achieving test coverage: various measures
- Experience-based test design
- Designing test cases from requirements and system models
- Test design heuristics and exploratory testing
- Timing of test case design: traditional versus exploratory approaches
- Describing test cases: determining the appropriate level of detail
- Psychological aspects of test execution
- Test execution: logging and reporting
- Designing tests for "non-functional" requirements
- 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 within agile scrum
- Test team organization and roles
- Test process
- Test automation: identifying automatable tasks
- 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.