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 various project structures
- General management principles and specific project management practices
- Various management styles
- Unique characteristics of IT projects
- The fundamental project lifecycle
- Project 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 in projects
- Project standards and frameworks: PRINCE2, PMBOK, PMI, IPMA, and others
Day 2: Business Analysis and Requirements Engineering Fundamentals
- Establishing business objectives
- Business analysis, business process management, and process improvement
- Demarcating business analysis from system analysis
- System stakeholders, users, context, and boundaries
- The necessity of requirements
- Definition of requirements engineering
- The interface between requirements engineering and architectural design
- Where requirements engineering is frequently overlooked
- Requirements engineering within iterative, lean, and agile development, including 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: current relevance and future outlook
- Architectural attributes: modularity, portability, maintainability, and scalability
- Definition and classification of software architectures
- Enterprise architecture versus system architecture
- Programming styles
- Programming environments
- Common programming errors and strategies to avoid them
- Modeling architecture and components
- SOA, Web Services, and microservices
- Automated builds and continuous integration
- The extent of architectural design required in a project
- Extreme programming, TDD, and refactoring
Day 4: Quality Assurance and Testing Fundamentals
- Product quality definitions: ISO 25010, FURPS, and others
- Product quality, user experience, Kano Model, customer experience management, and total quality
- User-centered design, personas, and strategies for personalized quality
- The concept of "just-enough" quality
- Differences between Quality Assurance (QA) and Quality Control (QC)
- Risk strategies in 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
- Risk-driven development
- Boehm’s curve in the context of QA and testing
- The four testing schools and identifying the right fit
Day 5: Process Types, Maturity, and Process Improvement
- Evolution of IT processes: from Alan Turing and Big Blue to the lean startup
- Process-oriented organizations
- Historical context of processes in crafts and industries
- Process modeling techniques: UML, BPMN, and others
- Process management, optimization, re-engineering, and management systems
- Innovative process approaches: Deming, Juran, TPS, Kaizen
- Philip Crosby’s perspective on the cost of quality
- History and need for maturity improvements: CMMI, SPICE, and other maturity scales
- Specific maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek)
- Relationship between process maturity and product maturity
- Correlation between process maturity and business success
- Key insights: Automated Defect Prevention and the next step in productivity
- Initiatives: TQM, Six Sigma, agile retrospectives, and process frameworks
Requirements Engineering (2 Days)
Day 1: Requirements Elicitation, Negotiation, Consolidation, and Management
- Identifying requirements: what, when, and who
- Stakeholder classification
- Overlooked stakeholders
- Defining system context and identifying requirement sources
- Elicitation methods and techniques
- Prototyping, personas, and elicitation via testing (exploratory and other methods)
- Market-driven requirements engineering (MDRA)
- Requirements prioritization: MoSCoW, Karl Wiegers, and other techniques (including agile MMF)
- Refining requirements through agile "specification by example"
- Requirements negotiation: conflict types and resolution methods
- Resolving internal conflicts between requirement types (e.g., security vs. usability)
- Requirements traceability: purpose and methodology
- Managing requirements status changes
- Requirements CCM, versioning, and baselines
- Product view vs. project view on requirements
- Product management and requirements management within projects
Day 2: Requirements Analysis, Modeling, Specification, Verification, and Validation
- Analysis as the iterative thinking process 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 modeling
- Guidelines for using natural language in requirements specification
- Creating and managing a requirements glossary
- Formal and semi-formal modeling notations: UML, BPMN, and others
- Utilizing document and sentence templates for requirement descriptions
- Requirements verification: goals, levels, and methods
- Validation techniques: prototyping, reviews, inspections, and testing
- Requirements validation versus system validation
Testing (2 Days)
Day 1: Test Design, Execution, and Exploratory Testing
- Test design: selecting optimal time and resource allocation based on risk-based testing
- Test design "from infinity to here": recognizing the limits of exhaustive testing
- Test cases and test scenarios
- Test design across various levels (unit to system)
- Test design for static and dynamic testing
- Business-oriented and technique-oriented design: "black-box" and "white-box"
- Negative testing and acceptance testing to support developers
- Achieving test coverage through various measurement metrics
- Experience-based test design
- Deriving test cases from requirements and system models
- Test design heuristics and exploratory testing
- Timing of test case design: traditional vs. exploratory approaches
- Detail level for describing test cases
- P psychological aspects of test execution
- Logging and reporting during test execution
- Designing tests for "non-functional" attributes
- Automatic test design and Model-Based Testing (MBT)
Day 2: Test Organization, Management, and Automation
- Test levels (or phases)
- Responsibility for testing: who does it and when? Exploring various solutions
- Test environments: cost, administration, access, and responsibility
- Simulators, emulators, and virtual test environments
- Testing within agile scrum frameworks
- Test team organization and roles
- The test process
- Test automation: identifying automatable tasks
- Automation of test execution: 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.