O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Scrum Fundamentals and Advanced

Video Description

Overview

Scrum Fundamentals and Advanced LiveLessons provides viewers with a basic understanding of managing an Agile software development project with Scrum, which is a lightweight, adaptive framework for managing complex projects. The Advanced Scrum portion tackles some of the deeper issues around integrating requirements management and quality assurance into your process.

 

Description

Scrum Fundamentals provides helpful insight into the history of Agile and how its values and principles can focus teams on consistently delivering quality products that immediately add customer value. It covers the complete Scrum framework from project initiation and executing Sprints to delivering a product increment.

Many teams adopting Scrum struggle with how to manage requirements and integrate their quality assurance efforts into their Agile processes. Advanced Scrum provides a deep dive into both of these areas, exploring how to apply the values and principles of Agile and Scrum to avoid common pitfalls.

 

 

About the Instructor

Tommy Norman is a Lean/Agile Coach at LeanKit in Nashville, TN. For more than fifteen years, he has been helping clients build solutions using both Agile and traditional approaches as a Certified Scrum Master / Practitioner as well as a Microsoft ALM MVP. Tommy is a coordinator for the Nashville Agile User Group, one of the original founders of the devLink Technical Conference, a past president and board member of the Nashville .NET User Group, and a frequent speaker at both local and national events. He blogs about Agile, TFS, and .NET at www.tommynorman.com and rambles about most everything on Twitter as @tommynorman.

 

Skill Level

  • Beginner to Advanced

 

What You Will Learn

Scrum Fundamentals:

  • The history of Agile
  • The roles, artifacts, and events in Scrum
  • How to start a Scrum project
  • Essentials of writing good user stories
  • How to maintain your product backlog and release plan
  • Agile estimation techniques
  • How to effectively plan for and execute a Sprint
  • Agile engineering best practices
  • How to integrate QA into your Sprints
  • How to inspect and adapt your process

Advanced Scrum:

  • Agile values and principles concerning requirements management
  • How to craft good user stories and when to get more detail
  • Agile values and principles concerning quality assurance
  • How to incorporate good quality practices into your Sprints
  • Integrating test cases as part of your requirements management approach

Who Should Take This Course

  • Anyone directly involved in the software development lifecycle (developers, QA, dev managers, project managers, business analysts, etc.) who is interested in gaining a solid understanding of the fundamentals of Agile software development and Scrum.

Course Requirements

  • Familiarity with the basics of software development projects.

Scrum Fundamentals:

Lesson 1: A History of Agile

Lesson 1 “A History of Agile” covers a brief history of Agile and how it has evolved over the years. The lesson starts by reviewing how software had previously been done with a more traditional “Waterfall” approach. Viewers learn some of the intrinsic issues often encountered
in Waterfall projects. From there, the lesson covers how Agile got its start and evolved into the many frameworks available today.

Lesson 2: Agile Concepts

Lesson 2 "Agile Concepts” covers the underlying concepts behind many of the various Agile approaches. It discusses how to separate the implementation (or mechanism) of a concept from its underlying values and principles. Finally, the lesson touches on the many Agile processes and frameworks that have risen from these concepts and have become more mainstream today.

Lesson 3: An Overview of Scrum

Lesson 3 "An Overview of Scrum" presents the basic roles, artifacts, and events that make up the Scrum framework. These topics are covered at a high level in this lesson and discussed in more depth in the following lessons.

Lesson 4: Starting a Scrum Project

Lesson 4 "Starting a Scrum Project" begins by demonstration how to establish a Product Vision to act as a compass for the Scrum Team to follow. From there, it covers how to create the initial Product Backlog with good User Stories and then how to prioritize it appropriately. Next, viewers learn how to assemble their Scrum Teams to best deliver their product increments. Viewers also learn the Agile concepts and techniques used for estimating User Stories and how to create a Release Plan to forecast when and what might be done in the future.

Lesson 5: Executing the Sprint

Lesson 5: "Executing the Sprint " shows how to start developing a product. It starts off by covering the Sprint Planning Meeting where the team determines what to work on, a Sprint goal is created, and a Sprint Backlog is developed which is the plan for meeting that goal. The lesson then talks about how to work collaboratively as a Scrum Team. This lesson also covers the Daily Scrum, and it gives tips on how to make the most of this meeting. Finally, the lesson covers grooming the Product Backlog to keep a good runway of User Stories prepped and ready for the team.

Lesson 6: Ending the Sprint

Lesson 6 "Ending the Sprint” covers holding the Sprint Review and demoing the finished Product Increment to the stakeholders. Next, it talks about delivering that product increment to the users and how to do this as often as possible. Finally, the lesson discusses how to hold the Sprint Retrospective for the team to reflect and strive for continuous improvement.

Advanced Scrum:

Lesson 1: Principles of Requirements Management
Lesson 1 covers the basic elements of requirements management and some of the intrinsic issues that could be encountered with more traditional approaches. Viewers then learn the values, principles, and practices in Agile that can help them address these issues while transitioning to the Scrum framework.

Lesson 2: User Stories

Lesson 2 covers user stories, a popular Agile method for recording requirements. It starts out by reviewing the format of a user story, writing conditions of satisfaction, and what qualities to look for in a good story. Viewers also learn the various types of content that can be captured with user stories and how best to use them.

Lesson 3: Gathering User Stories

Lesson 3 covers how to collect user stories. Viewers learn how to hold story sessions as a way to elicit requirements that focus on the user’s needs. Then, the lesson discusses how to decompose requirements into smaller slices of functionality that will lend themselves better to iterative development using Sprints. Lastly, viewers learn about the benefits and drawbacks of gathering requirements collaboratively as a Scrum team.

Lesson 4: Managing the Product Backlog

Lesson 4 covers how the Scrum artifact the Product Backlog can help with the storage and management of requirements as User Stories. The lesson starts by reviewing what the Product Backlog is and its purpose, as well as how to use it to prioritize our User Stories. When and how much detail to gather is often hard to gauge. Viewers learn what factors can help make that determination. Finally, the lesson talks about the product owner’s involvement in managing requirements and how to get the most out of this role.

Lesson 5: Tests as Self Validating Requirements

 

Lesson 5 touches on how tests can be an essential part of the requirements management approach. It also discusses how this approach can influence the way test cases are written.

Lesson 6: Documentation

Lesson 6 covers some principles and practices for creating documentation that still aligns with the adoption of Scrum. Viewers learn the differences between the types of documentation gathered as input to a Sprint versus the documentation outputted as a result of the Sprint, as well has some methods for managing both of them. Also, viewers review techniques for utilizing artifacts they are already creating as part of their Sprints as a way to generate content for output documentation so they are not always writing it from scratch.

Lesson 7: Principles of Quality Assurance

Lesson 7 is the first lesson in Part II, which is dedicated to Quality Assurance and how to integrate it into the Scrum framework. The lesson starts by making sure everyone is on the same page by covering its definition and basic elements. It then discusses the common issues that come up with more traditional software methodologies in the area of Quality Assurance. Lastly, it reviews the Agile principles and values that can help viewers to successfully integrate good QA practices into the Scrum framework.

Lesson 8: Quality Elements in User Stories

Lesson 8 takes a deeper dive into quality elements in a user story. Viewers learn how QA is involved in grooming user stories and how they can map the test cases to them. Viewers also learn how tests can eventually be used as one of the primary methods for recording requirements.

Lesson 9: Writing Test Cases

Lesson 9 discusses techniques viewers can adopt when writing and structuring their test cases that will make them more conducive to an Agile environment. The lesson also covers the different ways to classify and categorize the test cases to make them easier to manage and to get the most value out of them throughout their product’s lifecycle.

Lesson 10: Testing During the Sprint

Lesson 10 stresses the importance of fully testing user stories inside each Sprint. The lesson covers the underlying value behind this approach, as well as the common roadblocks teams encounter when they try it and how they can overcome them. Viewers learn how to plan appropriately for in-Sprint testing, work collaboratively as a team, and test as they go.

Lesson 11: Test Automation

Lesson 11 covers Test Automation, which has a big place in most Agile environments. This lesson covers why Test Automation is used, choosing what is automated, and when to use it. The lesson also covers the areas of Test Automation that can cause teams the most trouble, such as handling test data, applications that interact with hardware devices, and integrating with external services.

Lesson 12: Manual Testing

Lesson 12 covers manual testing, which is something every team has to handle to some degree. This lesson is about the reasons why some level of manual testing is still needed as part of overall Quality Assurance efforts. Viewers learn how to plan and execute manual testing in their Sprints. Finally, the lesson provides some tips on how to prepare to move towards more automation within the current manual testing approach.

Lesson 13: Regression Testing

Lesson 13 covers regression testing, which is an integral part of Quality Assurance. Before any product is released to users, it should be tested end-to-end to make sure everything is working as planned. But regression testing is time-consuming and complex. This lesson covers how viewers can incorporate some level of regression testing inside each sprint and how best to structure test plans for this. It also talks about using hardening sprints before releases to ensure they are ready for customers. Lastly, the lesson reviews how performance and security testing can be included as part of the regression testing methods.

Lesson 14: QA and Production Support

Lesson 14 on QA and Production touches on some of the common issues teams can experience while trying to address production issues and still maintaining their quality practices. Dealing with issues from production is something has all teams have to tackle, and they may not always approach it with the same discipline as they do with new development efforts. This lesson covers some tips for how to fully integrate quality assurance methods into production support activities.

 

 

About LiveLessons Video Training

The LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons

Table of Contents

  1. Introduction
    1. Scrum Fundamentals and Advanced LiveLessons: Introduction 00:02:08
  2. Introduction
    1. Introduction to Scrum Fundamentals LiveLessons 00:03:01
  3. Lesson 1: History of Agile
    1. Learning objectives 00:00:37
    2. 1.1 Waterfall Approach 00:05:21
    3. 1.2 A More "Agile" Approach 00:02:28
    4. 1.3 The Agile Manifesto 00:05:07
  4. Lesson 2: Agile Concepts
    1. Learning objectives 00:00:33
    2. 2.1 Underlying Agile Concepts 00:09:56
    3. 2.2 Concepts versus Mechanisms 00:01:08
    4. 2.3 Agile Frameworks and Processes 00:02:06
  5. Lesson 3: Scrum Overview
    1. Learning objectives 00:00:26
    2. 3.1 Roles 00:11:27
    3. 3.2 Artifacts 00:07:14
    4. 3.3 Events 00:08:31
  6. Lesson 4: Getting a Scrum Project Started
    1. Learning objectives 00:00:42
    2. 4.1 Sprint Zero 00:03:11
    3. 4.2 Creating a Product Vision 00:04:07
    4. 4.3 Creating Your Initial Product Backlog 00:01:53
    5. 4.4 User Stories 00:14:09
    6. 4.5 Roles and Personas 00:01:58
    7. 4.6 Prioritizing your Product Backlog 00:04:54
    8. 4.7 Assembling the Scrum Team 00:00:51
    9. 4.8 Agile Estimation 00:13:41
    10. 4.9 Creating a Release Plan 00:05:10
  7. Lesson 5: Executing the Sprint
    1. Learning objectives 00:01:07
    2. 5.1 Holding the Sprint Planning Meeting 00:08:37
    3. 5.2 Working As a Scrum Team 00:05:05
    4. 5.3 Holding the Daily Scrum 00:11:39
    5. 5.4 Agile Engineering Practices 00:18:17
    6. 5.5 Quality Assurance in Agile 00:20:32
    7. 5.6 Grooming Your Product Backlog 00:04:07
  8. Lesson 6: Ending the Sprint
    1. Learning objectives 00:00:37
    2. 6.1 Holding the Sprint Review 00:02:22
    3. 6.2 Delivering a Product Increment 00:04:32
    4. 6.3 Holding the Sprint Retrospective 00:07:10
  9. Summary
    1. Summary of Scrum Fundamentals LiveLessons 00:01:08
  10. Introduction
    1. Advanced Scrum LiveLessons: Introduction 00:01:50
  11. Part I: Managing Requirements in Scrum
    1. Managing Requirements in Scrum 00:00:07
  12. Lesson 1: Principles of Requirements Management
    1. Learning Objectives 00:00:30
    2. 1.1 Requirements Management in Software Development 00:09:10
    3. 1.2 Issues with Traditional Requirements Management 00:09:47
    4. 1.3 Agile/Scrum Values and Principles around Requirements Management 00:16:14
  13. Lesson 2: User Stories
    1. Learning Objectives 00:00:30
    2. 2.1 User Story Format 00:06:55
    3. 2.2 Conditions of Satisfaction 00:07:56
    4. 2.3 The INVEST Principle 00:06:44
    5. 2.4 Other Types of Stories 00:03:52
    6. 2.5 User Stories Are a Tool 00:02:34
  14. Lesson 3: Gathering User Stories
    1. Learning Objectives 00:00:43
    2. 3.1 Holding Story Sessions 00:08:52
    3. 3.2 Slicing User Stories 00:08:06
    4. 3.3 Gathering Requirements as a Team 00:08:55
    5. 3.4 Demonstration: Recording User Stories 00:09:28
  15. Lesson 4: Managing the Product Backlog
    1. Learning Objectives 00:00:58
    2. 4.1 Product Backlog Overview 00:09:54
    3. 4.2 Prioritizing the Product Backlog 00:06:53
    4. 4.3 Gathering More Detail 00:10:52
    5. 4.4 Product Backlog Grooming 00:12:40
    6. 4.5 Role of the Product Owner 00:06:28
    7. 4.6 Demonstration:Managing the Product Backlog 00:06:44
  16. Lesson 5: Tests as Self Validating Requirements
    1. Learning Objectives 00:00:29
    2. 5.1 Requirements as Tests and Tests as Requirements 00:05:41
    3. 5.2 Writing Tests as Requirements 00:06:21
  17. Lesson 6: Documentation
    1. Learning Objectives 00:00:55
    2. 6.1 Input versus Output Documentation 00:03:54
    3. 6.2 Informal Input Documentation 00:06:40
    4. 6.3 Creating Output Documentation 00:13:18
    5. 6.4 Demonstration: Managing Documenation 00:06:12
  18. Part II: Quality Assurance in Scrum
    1. Quality Assurance in Scrum 00:00:07
  19. Lesson 7: Principles of Quality Assurance
    1. Learning Objectives 00:00:43
    2. 7.1 What is Quality Assurance? 00:05:52
    3. 7.2 Issues with Traditional Approaches to Quality Assurance 00:15:09
    4. 7.3 Agile/Scrum Values and Principles around Software Quality 00:08:45
  20. Lesson 8: Quality Elements in User Stories
    1. Learning Objectives 00:00:33
    2. 8.1 QA's Involvement with User Stories 00:05:16
    3. 8.2 Mapping User Stories to Test Cases 00:03:46
    4. 8.3 Tests as Requirements 00:04:31
  21. Lesson 9: Writing/Storing Test Cases
    1. Learning Objectives 00:00:36
    2. 9.1 Structuring Test Cases 00:05:51
    3. 9.2 Classifying Test Cases 00:11:45
    4. 9.3 Demonstration: Writing Test Cases 00:07:57
  22. Lesson 10: Testing During the Sprint
    1. Learning Objectives 00:00:40
    2. 10.1 Why We Test in the Sprint 00:05:51
    3. 10.2 Planning for Sprint Testing 00:08:54
    4. 10.3 Testing as You Go 00:04:46
    5. 10.4 Demonstration: Testing User Stories 00:09:17
  23. Lesson 11: Test Automation
    1. Learning Objectives 00:00:41
    2. 11.1 Why, What, and When to Automate 00:15:56
    3. 11.2 Dealing with Test Data, Hardware and External Integrations 00:10:58
    4. 11.3 Demonstration: Automating Tests 00:08:43
  24. Lesson 12: Manual Testing
    1. Learning Objectives 00:00:36
    2. 12.1 Why Do We Still Need Manual Testing? 00:05:21
    3. 12.2 Planning for Manual Testing 00:05:06
    4. 12.3 Moving Towards Automation 00:03:13
  25. Lesson 13: Regression Testing
    1. Learning Objectives 00:00:48
    2. 13.1 Regression Testing in the Sprint 00:10:23
    3. 13.2 Creating Regression Test Plans 00:07:00
    4. 13.3 Hardening Sprints 00:07:29
    5. 13.4 Other Types of Testing 00:04:20
  26. Lesson 14: QA and Production Support
    1. Learning Objectives 00:00:36
    2. 14.1 Quality Issues around Production Support 00:05:32
    3. 14.2 Integrating QA 00:04:58
  27. Summary
    1. Scrum Fundamentals and Advanced LiveLessons: Summary 00:00:48