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, and maintenance/support
- Defining projects and their various forms
- General management rules versus project management specifics
- Exploring different management styles
- Unique characteristics of IT projects
- Core project lifecycle
- Comparing iterative, incremental, waterfall, agile, and lean processes
- Understanding project phases
- Key roles within a project
- Essential project documentation and artifacts
- The human element: soft skills and 'peopleware'
- Overview of major project standards: PRINCE 2, PMBOK, PMI, IPMA, and others
Day 2: Fundamentals of Business Analysis and Requirements Engineering
- Establishing business goals
- Business analysis, business process management, and process improvement
- Defining the boundary between business and system analysis
- Identifying system stakeholders, users, context, and boundaries
- The necessity of requirements
- Defining requirements engineering
- The distinction between requirements engineering and architectural design
- 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 processes, roles, and artifacts
- Relevant 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: assessing historical context versus future relevance
- Architectural qualities: modularity, portability, maintainability, and scalability
- Definition and types of software architectures
- Enterprise architecture versus system architecture
- Various programming styles
- Programming environments
- Common programming errors and strategies for avoidance and prevention
- Modelling architecture and components
- SOA, Web Services, and microservices
- Automated builds and continuous integration
- Estimating the extent of architecture design required for a project
- Extreme programming, TDD, and refactoring
Day 4: Fundamentals of Quality Assurance and Testing
- Understanding product quality: ISO 25010, FURPS, and other metrics
- Product quality, user experience, Kano Model, customer experience management, and holistic quality
- User-centered design, personas, and methods to personalize quality
- Concept of 'just-enough' quality
- Distinguishing Quality Assurance from Quality Control
- Risk strategies within quality control
- Quality assurance 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 quality assurance and testing
- Examining the four testing schools to identify the best fit for your needs
Day 5: Process Types, Maturity, and Process Improvement
- Evolution of IT processes: from Alan Turing and Big Blue to the lean startup methodology
- Processes and process-oriented organizations
- Historical context of processes in crafts and industries
- Process modeling techniques: UML, BPMN, and others
- Process management, optimization, re-engineering, and process management systems
- Innovative process approaches: Deming, Juran, TPS, Kaizen
- Does quality really have no price? (Philip Crosby)
- The evolution and necessity of maturity improvement: CMMI, SPICE, and other scales
- Specialized maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek)
- Correlation and causality between process maturity and product maturity
- Correlation and causality between process maturity and business success
- A neglected lesson: Automated Defect Prevention and the next productivity leap
- Key initiatives: TQM, Six Sigma, agile retrospectives, and process frameworks
Requirements Engineering (2 Days)
Day 1: Requirements Elicitation, Negotiation, Consolidation, and Management
- Determining what requirements are needed, when, and by whom
- Classifying stakeholders
- Identifying often-overlooked stakeholders
- Defining system context to identify requirement sources
- Elicitation methods and techniques
- Using prototyping, personas, and exploratory testing for elicitation
- Market-Driven Requirements Engineering (MDRA) and marketing integration
- Prioritization techniques: MoSCoW, Karl Wiegers’ methods, and agile MMF
- Refining requirements using agile 'specification by example'
- Managing requirements negotiation: types of conflicts and resolution methods
- Resolving internal conflicts between requirement types (e.g., security vs. usability)
- The importance and methodology of requirements traceability
- Managing changes in requirements status
- Requirements CCM, versioning, and baselines
- Viewing requirements from product and project perspectives
- Aligning product management with requirements management in projects
Day 2: Requirements Analysis, Modeling, Specification, Verification, and Validation
- Analysis as the critical thinking phase between elicitation and specification
- The iterative nature of the requirements process, even in sequential projects
- Writing requirements in natural language: analyzing risks and benefits
- Weighing the benefits and costs of requirements modeling
- Guidelines for using natural language in requirements specification
- Creating and maintaining a requirements glossary
- Utilizing UML, BPMN, and other formal/semi-formal modeling notations
- Employing document and sentence templates for clear requirement descriptions
- Requirements verification: objectives, levels, and methods
- Validation techniques: prototyping, reviews, inspections, and testing
- Differentiating between requirements validation and system validation
Testing (2 Days)
Day 1: Test Design, Execution, and Exploratory Testing
- Test design: optimizing time and resource allocation after risk-based testing
- Test design scope: understanding that exhaustive testing ('from infinity to here') is impossible
- Distinguishing between test cases and test scenarios
- Designing tests across various levels (unit to system)
- Designing tests for both static and dynamic testing
- Business-oriented versus technique-oriented test design ('black-box' vs. 'white-box')
- Purpose-driven testing: 'negative testing' to break the system and 'acceptance testing' to support developers
- Achieving test coverage: utilizing various coverage metrics
- Experience-based test design
- Deriving test cases from requirements and system models
- Test design heuristics and exploratory testing techniques
- Timing of test case design: traditional versus exploratory approaches
- Determining the appropriate level of detail for test case descriptions
- 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
- Understanding test levels (or phases)
- Determining who performs testing and when: exploring various organizational solutions
- Test environment considerations: cost, administration, access, and responsibility
- Utilizing simulators, emulators, and virtual test environments
- Integrating testing within agile scrum frameworks
- Test team organization and defined roles
- Overview of the test process
- Test automation: identifying what can and cannot be automated
- Approaches and tools for automating test execution
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.