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, alongside maintenance and support roles.
- Project definition and various project typologies.
- General management principles versus specific project management strategies.
- Exploring different management styles.
- Unique characteristics and challenges of IT projects.
- The fundamental project lifecycle.
- Comparing iterative, incremental, waterfall, agile, and lean project methodologies.
- Key project phases.
- Defining project roles and responsibilities.
- Essential project documentation and deliverables.
- 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
- Setting clear business objectives.
- Understanding business analysis, business process management, and process improvement.
- Navigating the boundary between business analysis and system analysis.
- Identifying system stakeholders, users, context, and boundaries.
- The necessity of requirements in project success.
- Defining the scope and practice of requirements engineering.
- Distinguishing requirements engineering from architectural design.
- Recognising where requirements engineering is often overlooked.
- Integrating requirements engineering into iterative, lean, and agile development, including continuous integration practices like FDD, DDD, BDD, and TDD.
- Core requirements engineering processes, roles, and deliverables.
- Industry standards and certifications: BABOK, ISO/IEEE 29148, IREB, BCS, and IIBA.
Day 3: Fundamentals of Architecture and Development
- Programming languages: structural and object-oriented paradigms.
- The evolution of object-oriented development: past context and future relevance.
- Architectural qualities: modularity, portability, maintainability, and scalability.
- Definitions and types of software architectures.
- Differentiating enterprise architecture from system architecture.
- Various programming styles.
- Programming environments and tools.
- Common programming pitfalls and strategies for prevention.
- Modelling architecture and system components.
- Service-oriented architecture (SOA), Web Services, and micro-services.
- Automated builds and continuous integration.
- The extent of architecture design required per project.
- Practices such as Extreme Programming, Test-Driven Development (TDD), and refactoring.
Day 4: Fundamentals of Quality Assurance and Testing
- Understanding product quality: ISO 25010, FURPS, and other models.
- The link between product quality, user experience, the Kano Model, customer experience management, and holistic quality.
- User-centred design, personas, and techniques for personalising quality.
- Concepts of 'just-enough' quality.
- Differentiating Quality Assurance (QA) from Quality Control (QC).
- Risk strategies within 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 approaches.
- Risk-driven development methodologies.
- Boehm’s curve in the context of QA and testing.
- Exploring the four testing schools to identify the best fit for your needs.
Day 5: Process Types, Maturity, and Improvement
- The evolution of IT processes: from Alan Turing and IBM to lean startup principles.
- Process-oriented organisations and structures.
- Historical context of processes in crafts and industries.
- Process modelling techniques: UML, BPMN, and more.
- Process management, optimisation, re-engineering, and management systems.
- Innovative process approaches: Deming, Juran, TPS, and Kaizen.
- Philip Crosby’s perspective on the cost of quality.
- The history and need for maturity improvement: CMMI, SPICE, and other scales.
- Specialised maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek).
- Correlations and causal relationships between process maturity and product maturity.
- Correlations and causal relationships between process maturity and business success.
- Key lessons from Automated Defect Prevention and its impact on productivity.
- Various improvement attempts: TQM, Six Sigma, agile retrospectives, and process frameworks.
Requirements Engineering: 2 Days
Day 1: Elicitation, Negotiation, Consolidation, and Management
- Identifying requirements: determining what is needed, when, and by whom.
- Classifying stakeholders.
- Identifying overlooked stakeholders.
- Defining the system context to identify requirements sources.
- Elicitation methods and techniques.
- Using prototyping, personas, and exploratory testing for requirements gathering.
- Market-driven requirements engineering (MDRA) and its role in marketing.
- Prioritising requirements using MoSCoW, techniques by Karl Wiegers, and agile MMF.
- Refining requirements through agile 'specification by example'.
- Managing requirements negotiation: identifying conflict types and resolution methods.
- Resolving internal conflicts, such as security versus usability.
- The importance and methods of requirements traceability.
- Managing changes in requirements status.
- Requirements Change Control Management (CCM), versioning, and baselines.
- Viewing requirements from product and project perspectives.
- Integrating product management with requirements management in projects.
Day 2: Analysis, Modelling, Specification, Verification, and Validation
- Understanding analysis as the critical thinking phase between elicitation and specification.
- The iterative nature of the requirements process, even in sequential projects.
- Risks and benefits of using natural language for requirements.
- Benefits and costs of requirements modelling.
- Guidelines for using natural language in specifications.
- Defining and maintaining a requirements glossary.
- Using UML, BPMN, and other formal/semi-formal notations for requirements.
- Utilising document and sentence templates for clear description.
- Requirements verification: goals, levels, and methods.
- Validation techniques: prototyping, reviews, inspections, and testing.
- Distinguishing requirements validation from system validation.
Testing: 2 Days
Day 1: Test Design, Execution, and Exploratory Testing
- Test design: optimising time and resources after risk-based analysis.
- 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).
- Test design for both static and dynamic testing.
- Business-oriented versus technique-oriented test design ('black-box' vs 'white-box').
- Negative testing (breaking the system) versus acceptance testing (supporting developers).
- Achieving test coverage through various measurement techniques.
- Experience-based test design.
- Deriving test cases from requirements and system models.
- Test design heuristics and the role of exploratory testing.
- Timing of test case design: traditional versus exploratory approaches.
- Appropriate levels of detail 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 and phases.
- Assigning testing roles and timing: exploring various organisational solutions.
- Test environments: costs, administration, access, and responsibility.
- Using simulators, emulators, and virtual test environments.
- Testing within Agile Scrum frameworks.
- Organising test teams and defining roles.
- Structuring the test process.
- Test automation: identifying automatable tasks.
- 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.