An increasing number of organizations have found agile software development approaches help them develop products or systems much more effectively than in the past. The values, principles, and techniques of agile approaches certainly help teams build things right. However, projects will still fail if team members such as Product Owners and Business Analysts don’t properly understand and communicate requirements to ensure that the right solution is being delivered. The approach to analysis and documentation may differ, but the need to use excellent requirements to define the right solution remains essential to the agile approach.
This course is designed to introduce students to the agile values, principles, and techniques and takes an in-depth look into the skills necessary to ensure that the team is identifying and delivering the right thing. Whether you’re an existing agile team or new to an agile approach, everyone involved with an agile project needs to understand the needs they are trying to satisfy and the approach they are using to satisfy those needs.
Students will gain knowledge and skills by practicing techniques and soft skills needed to operate effectively in an agile environment.
- How the entire team gets engaged with requirements to understand and describe the right thing to deliver
- To develop user stories and specify acceptance criteria to assist the product owner, domain stakeholders, and the team to build a quality product or system
- How to elicit the appropriate level of requirements detail prior to and during an iteration
- Agile approaches, key principles, practices and terminology.
- The importance of planning in an agile environment and how to perform each of the levels of agile planning
- How to develop and prioritize the product backlog and how changes are managed.
- New techniques that are useful for agile environments such as, impact mapping, product visioning, discovery sessions, estimating with story points, specification by example, and more
The Agile Environment
- Overview of agile values, principles, approaches and terminology.
- Describe the characteristics of an agile environment
- Determine the appropriate approach for a particular project.
- Implement agile in an organization using a pilot approach.
- Create list of benefits moving from a traditional environment to an agile environment.
- Create list of challenges moving from a traditional environment to an agile environment and identify corresponding solutions.
Roles and Approaches in an Agile Environment
- Define the various roles in an agile environment.
- Describe what activities are performed by the roles used in an agile environment.
- Explain agile approaches impacts on how teams work and the techniques and processes they use.
- Identify techniques teams working in an agile environment use to aid their collaboration and effectiveness
- Describe levels of agile planning
- Transfer traditional analysis skills to an agile environment.
- Identify the people filling the four key roles on student's current project.
- Identify definitions of ready and definitions of done for student's current project.
- Design team visualization boards for student's current project.
- Use decision filters to guide project decisions.
- Apply SMART Goals to define value for a project.
- Define the product vision and project purpose.
- Develop an Impact Map to guide project actions.
- Develop and maintain a product backlog.
- Utilize face-to-face communication to replace formal requirements documents where appropriate.
- Use informal models to communicate requirements.
- Identify decision filters for student's current project.
- Create a product vision for student's current project.
- Create an impact map for student's current project.
- Deriving stories from traditional models.
- Define and write user stories.
- Write stories at the appropriate level of detail following INVEST techniques.
- Model users and create personas.
- Identify non-functional requirements in an agile environment.
- Estimate on agile projects using story points.
- Writing stories.
- User modeling for student's current project.
- Story splitting
- Release planning.
- Planning poker session to estimate size of user stories.
Iteration Planning & Analysis
- Describe stories in an agile environment using acceptance criteria, examples, and informal models.
- Conduct iteration planning.
- Describe how system documentation can provide just enough documentation.
- Use examples to elaborate stories.
- Iteration planning.
- Develop an Action Plan with next steps on the student's current project.
- Develop an Action Plan with next steps, based on the student’s current project