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
- Project definition and types of project structures
- General management rules and specific project management practices
- Management styles
- Unique characteristics of IT projects
- Fundamental project process
- Project methodologies: iterative, incremental, waterfall, agile, and lean
- Project phases
- Project roles and responsibilities
- Project documentation and other deliverables
- Soft skills and human factors
- Project standards: PRINCE 2, PMBOK, PMI, IPMA, and others
Day 2: Business Analysis and Requirements Engineering Fundamentals
- Defining business objectives
- Business analysis, business process management, and 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, as well as continuous integration (FDD, DDD, BDD, TDD)
- Core requirements engineering processes, 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
- Architecture qualities: modularity, portability, maintainability, and scalability
- Definition and types of software architectures
- Enterprise architecture vs. system architecture
- Programming styles
- Programming environments
- Common programming errors and prevention strategies
- Modelling architecture and components
- SOA, Web Services, and microservices
- Automated builds and continuous integration
- The extent of architecture design in projects
- 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 holistic quality
- User-centered design, personas, and approaches to personalized quality
- Concept of "just-enough" quality
- Quality Assurance vs. 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: finding the right fit for your needs
Day 5: Process Types, Maturity, and Process Improvement
- Evolution of IT processes: from Alan Turing to Big Blue to 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 management systems
- Innovative process approaches: Deming, Juran, TPS, Kaizen
- Is quality free? (Philip Crosby)
- The need and history of maturity improvement: CMMI, SPICE, and other maturity scales
- Special types of maturity: TMM, TPI (for testing), Requirements Engineering Maturity (Gorschek)
- Process maturity vs. product maturity: correlation and causality
- Process maturity vs. business success: correlation and causality
- A forgotten lesson: Automated Defect Prevention and The Next Leap in Productivity
- Approaches: TQM, Six Sigma, agile retrospectives, process frameworks
Requirements Engineering (2 Days)
Day 1: Requirements Elicitation, Negotiation, Consolidation, and Management
- Identifying requirements: what, when, and by whom
- Stakeholder classification
- Overlooked stakeholders
- Defining system context and requirements sources
- Elicitation methods and techniques
- Prototyping, personas, and requirements elicitation through testing (exploratory and otherwise)
- 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 resolution methods
- Resolving internal incongruence among requirement types (e.g., security vs. ease of use)
- Requirements traceability: why and how
- Requirements status changes
- Requirements CCM, versioning, and baselines
- Product view vs. project view on requirements
- Product management and requirements management in projects
Day 2: Requirements Analysis, Modelling, Specification, Verification, and Validation
- Analysis as the reflective process between elicitation and specification
- The iterative nature of the requirements process, even in sequential projects
- Using natural language for requirements: risks and benefits
- Requirements modeling: benefits and costs
- Rules 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 requirements description
- Verification of requirements: goals, levels, and methods
- Validation: through 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 approach within time and resource constraints after risk-based analysis
- Test design "from infinity to here" – exhaustive testing is impossible
- Test cases and test scenarios
- Test design across various levels (from unit to system testing)
- Test design for static and dynamic testing
- Business-oriented vs. technique-oriented test design ("black-box" and "white-box")
- Negative testing (attempting to break the system) and acceptance testing (supporting developers)
- Test design for 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 level of detail
- Test execution: psychological aspects
- Test execution: logging and reporting
- Designing tests for "non-functional" aspects
- Automatic test design and MBT (Model-Based Testing)
Day 2: Test Organization, Management, and Automation
- Test levels (or phases)
- Who performs testing and when? Various approaches
- 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: 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.