Succeeding with Agile and Scrum

Request more details:

submit request
Description:
While agile has provided the solutions for many software development problems, it is not a silver bullet and has still to overcome issues that more traditional project development lifecycles handle. The role of the traditional project manager typically changes from managing a team with a sequential lifecycle to facilitating an empowered team working in an iterative and incremental manner. Traditional planning and estimating processes need to be adapted to handle this new environment. Different practices, tools, testing strategies, roles, etc. need to be defined/agreed to maximise the chances of success for agile projects. Agile methods such as Scrum typically need augmentation to work in specific contexts and roles such as ScrumMaster and Product Owner need interpretation to your environment.
This course will provide those looking to work on Scrum teams with the competencies and skills required to effectively combine the processes, people and technologies for a successful Agile/Scrum delivery. Exercises are used to get hands on experience with the practices presented. It focuses on the Scrum method but references practices from other agile methods such as eXtreme Programming (XP) and also from Lean Software Development and Kanban. It also introduces ways to apply Agile practices successfully and ensure a sustainable transition, so that Agile becomes the standard approach for projects.
Prerequisites:
This course is intended for Project Managers, Team Leaders as well as cross-functional team members such as Developers, Testers, DBAs, Business Analysts, etc. and project support personnel who will benefit from an understanding of Agile/Scrum.
Learning Objectives:
Upon completion of this course you will be able to:

Define the key agile values and principles
Describe SCRUM and how variations or hybrid approaches (utilising elements of agile with more traditional approaches) are sometimes implemented in practice
Map appropriate roles for Scrum teams from your current teams
Define and use user stories
Perform planning and estimation in an agile environment
Perform key Scrum ceremonies such as standups, retrospectives, etc.
Define appropriate testing strategies for agile projects, keeping control of quality in an Agile lifecycle and avoiding the common pitfalls
Undertake steps needed to get started with Scrum on your project
Use Scrum with distributed teams
Avoid the common pitfalls with Agile/Scrum
Overview of Agile Principles:
Agile values, principles and practices
Explain the essence of agile methods in terms of the significant mindset change required
Exercise: discussion of participant’s issues/challenges with agile from pre-course questionnaires
Key elements of Scrum :
Typical agile lifecycle – incremental and iterative development
Overview of Scrum ceremonies and artifacts
Roles and responsibilities in Scrum teams
ScrumMaster
Product owner
Scrum Team
Distributed team roles
People and cultural issues in agile
Exercise: mapping your current roles to Scrum roles
Requirements in Scrum:
Customer/user involvement and managing requirements in agile
User stories
defining value-centric requirements
templates and criteria for effective user stories
Exercise: defining and prioritising user stories
Planning and estimation with Scrum:
Project and Release planning
Iteration/Sprint planning – timeboxing and prioritisation
Principles of team board design
Exercise: design the team task board
Estimation
The need for estimation with incremental development
Estimation for user stories: story points
Exercise: planning poker for story points
Additional estimation options
ideal days
task estimation
Project velocity and sustainable development
Minimising technical debt
Risk
Risks in Scrum projects
Managing project risks in Scrum
Working as a Scrum team:
Daily scrums
The implications of self-direction
Monitoring and reporting
backlogs
Project reviews and retrospectives
Exercise: agree reporting formats needed
Agile Testing:
Agile test strategies
Different Test Levels/phases applicable to agile and how they need to be adapted
Where the different types of testing fit into an agile development lifecycle
Exploratory testing and its role in agile
Agreeing the definition of 'done'
Test automation approaches - the automation pyramid
Test Driven Development (TDD), Automated Unit Testing, API testing, GUI testing
Acceptance testing, testing and the customer/user
Exercise: define acceptance tests for user stories
Pitfalls and Lessons Learnt:
This module will discuss some of the risks and common pitfalls experienced in practice by Scrum teams and how these can be avoided.
Summary and next steps:
Action planning