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
- Different management styles
- Unique characteristics of IT projects
- Foundational project processes
- Process models: iterative, incremental, waterfall, agile, and lean
- Project phases
- Project roles
- Project documentation and other deliverables
- Soft factors and the human element
- Project standards: PRINCE 2, PMBOK, PMI, IPMA, and others
Day 2: Business Analysis and Requirements Engineering Fundamentals
- Establishing business goals
- 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
- Commonly hidden areas of requirements engineering
- Requirements engineering in iterative, lean, and agile development, and continuous integration: FDD, DDD, BDD, TDD
- Foundational 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
- Architectural qualities: modularity, portability, maintainability, and scalability
- Definition and types of software architectures
- Enterprise architecture versus system architecture
- Programming styles
- Programming environments
- Common programming errors and prevention strategies
- Modeling 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: definition, ISO 25010, FURPS, etc.
- Product quality, user experience, Kano Model, customer experience management, and integral quality
- User-centered design, personas, and other methods for personalizing quality
- 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 testing schools: which one suits your needs?
Day 5: Process Types, Maturity, and Process Improvement
- The evolution of IT processes: from Alan Turing and Big Blue to lean startup
- Process-oriented organizations
- The history of processes in crafts and industries
- Process modeling: 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 need for and history of maturity improvement: CMMI, SPICE, and other maturity scales
- Special maturity types: TMM, TPI (for testing), Requirements Engineering Maturity (Gorschek)
- Process maturity versus product maturity: correlation and causation?
- Process maturity versus business success: correlation and causation?
- A forgotten lesson: Automated Defect Prevention and The Next Leap in Productivity
- Initiatives: TQM, SixSigma, 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 identifying requirement sources
- Elicitation methods and techniques
- Prototyping, personas, and elicitation through testing (exploratory and other forms)
- Marketing and requirements elicitation: MDRA (“Market-Driven Requirements Engineering”)
- Prioritizing requirements: MoSCoW, Karl Wiegers’ techniques, and others (including agile MMF)
- Refining requirements: agile “specification by example”
- Requirements negotiation: conflict types and resolution methods
- Resolving internal inconsistencies among certain requirement types (e.g., security versus usability)
- Requirements traceability: why and how
- Changes in requirements status
- Requirements CCM, versioning, and baselines
- Product view versus project view of requirements
- Product management and requirements management in projects
Day 2: Requirements Analysis, Modeling, Specification, Verification, and Validation
- Analysis as the thinking process between elicitation and specification
- The iterative nature of the requirements process, even in sequential projects
- Risks and benefits of natural language in requirements description
- Benefits and costs of requirements modeling
- Rules for using natural language in requirements specification
- Defining and managing a requirements glossary
- UML, BPMN, and other formal and 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 versus system validation
Testing: 2 Days
Day 1: Test Design, Execution, and Exploratory Testing
- Test design: after risk-based testing, selecting the optimal use of time and resources
- Test design “from infinity to here”: exhaustive testing is not feasible
- Test cases and test scenarios
- Test design across various test levels (from unit to system test)
- Test design for static and dynamic testing
- Business-oriented and technique-oriented test design (“black-box” and “white-box”)
- Attempting to break the system (“negative testing”) and supporting developers (acceptance testing)
- Achieving test coverage: various 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 versus exploratory approaches
- Describing test cases: determining the appropriate level of detail
- Test execution: psychological aspects
- Test execution: logging and reporting
- Designing tests for “non-functional” testing
- 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 solutions
- Test environments: cost, administration, access, and responsibility
- Simulators, emulators, and virtual test environments
- Testing in 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.