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.
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.
What You Will Learn
- 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
- 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.
- Familiarity with the basics of software development projects.
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.
Lesson 1: Principles of Requirements ManagementLesson 2: User Stories
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 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