Professional Scrum Developer
(.NET/Visual Studio 2010)-Kursinhalte
Informationen
zu Inhalten, Zielen und Agenda
(in englischer Sprache)
Hinweis: Die Kursunterlagen
sind allesamt auf Englisch, der Kurs selbst wird auf Deutsch
gehalten.
Course Objectives
Course attendees will learn to:
- Form effective teams
- Explore and understand legacy “Brownfield” architecture
- Define quality attributes, acceptance criteria, and “done”
- Create automated builds
- How to handle software hotfixes
- Verify that bugs are identified and eliminated
- Plan releases and sprints
- Estimate product backlog items
- Create and manage a sprint backlog
- Hold an effective sprint review
- Improve your process by using retrospectives
- Use emergent architecture to avoid technical debt
- Use Test Driven Development as a design tool
- Setup and leverage continuous integration
- Use Test Impact Analysis to decrease testing times
- Manage SQL Server development in an Agile way
- Use .NET and T‐SQL refactoring effectively
- Build, deploy, and test SQL Server databases
- Create and manage test plans and cases
- Create, run, record, and play back manual tests
- Setup a branching strategy and branch code
- Write more maintainable code
- Identify and eliminate people and process dysfunctions
- Inspect and improve your team’s software development process
Week At A Glance
This course is a mix of lecture,
demonstration, group discussion, simulation, and hands‐on software
development. The bulk of the course will be spent working as a team
on a case study application delivering increments of new
functionality in mini‐sprints. Here is the week at a glance:

Timeboxes
Timeboxing is a critical concept in Scrum as
well as in this course. We expect each team and student to
understand and obey all of the timeboxes. The timebox duration will
always be clearly displayed during each activity. Expect the
instructor to enforce it.
| Component |
Description |
Minutes |
| Instruction |
Presentation and demonstration of new
and relevant tools & practices |
60 |
| Sprint planning meeting |
Product owner presents backlog; each
team commits to delivering functionality |
10 |
| Sprint planning meeting |
Each team determines how to build the
functionality |
10 |
| The Sprint |
The team self‐organizes and
self‐manages to complete their tasks |
120 |
| Sprint review meeting |
Each team will present their increment
of functionality to the other teams |
<=30 |
| Sprint retrospective |
A group retrospective meeting will be
held to inspect and adapt |
10 |
Each team is expected to self‐organize and
manage their own work during the sprint. Pairing is highly
encouraged. The instructor/product owner will be available if there
are questions or impediments, but will be hands‐off by default. You
should be prepared to communicate and work with your team members in
order to achieve your sprint goal. If you have development‐related
questions or get stuck, your partner or team should be your first
level of support.
Syllabus
Module 1: Introduction
This module provides a chance for the
attendees to get to know the instructors as well as each other. The
Professional Scrum Developer program, as well as the day by day
agenda, will be explained. Finally, the Scrum team will be selected
and assembled so that the forming, storming, norming, and performing
can begin.
- Trainer and student introductions
- Professional Scrum Developer program
- Agenda
- Logistics
- Team formation
- Retrospective
Module 2: Scrum Fundamentals
This module provides a level‐setting
understanding of the Scrum framework including the roles, timeboxes,
and artifacts. The team will then experience Scrum firsthand by
simulating a multi‐day sprint of product development, including
planning, review, and retrospective meetings.
- Scrum overview
- Scrum roles
- Scrum timeboxes (ceremonies)
- Scrum artifacts
- Simulation
- Retrospective
It’s required that you read the
Scrum Guide in
preparation for this module.
Module 3: Implementing Scrum in Visual Studio 2010
This module demonstrates how to implement Scrum in Visual Studio
2010 using a Scrum process template. The team will learn the mapping
between the Scrum concepts and how they are implemented in the tool.
After connecting to the shared Team Foundation Server, the team
members will then return to the simulation – this time using Visual
Studio to manage their product development.
- Mapping Scrum to Visual Studio 2010
- User Story work items
- Task work items
- Bug work items
- Demonstration
- Simulation
- Retrospective
Module 4: The Case Study
In this module the team is introduced to their problem domain for
the week. A kickoff meeting by the Product Owner (the instructor)
will set the stage for the why and what that will take during the
upcoming sprints. The team will then define the quality attributes
of the project and their definition of “done.” The legacy
application code will be downloaded, built, and explored, so that
any bugs can be discovered and reported.
- Introduction to the case study
- Download the source code, build, and explore the application
- Define the quality attributes for the project
- Define “done”
- How to file effective bugs in Visual Studio 2010
- Retrospective
Module 5: Hot Fix
This module drops the team directly into a Brownfield (legacy)
experience by forcing them to analyze the existing application’s
architecture and code in order to locate and fix the Product Owner’s
high‐priority bug(s). The team will learn best practices around
finding, testing, fixing, validating, and closing a bug.
- How to use Architecture Explorer to visualize and explore
- Create a unit test to validate the existence of a bug
- Find and fix the bug
- Validate and close the bug
- Retrospective
Module 6: Planning
This short module introduces the team to release and sprint
planning within Visual Studio 2010. The team will define and capture
their goals as well as other important planning information.
- Release vs. Sprint planning
- Release planning and the Product Backlog
- Product Backlog prioritization
- Acceptance criteria and tests
- Sprint planning and the Sprint Backlog
- Creating and linking Sprint tasks
- Retrospective
At this point the team will have the knowledge of Scrum, Visual
Studio 2010, and the case study application to begin developing
increments of potentially shippable functionality that meet their
definition of done.
Module 7: Emergent Architecture
This module introduces the architectural practices and tools a
team can use to develop a valid design on which to develop new
functionality. The teams will learn how Scrum supports good
architecture and design practices. After the discussion, the teams
will be presented with the product owner’s prioritized backlog so
that they may select and commit to the functionality they can
deliver in this sprint.
- Architecture and Scrum
- Emergent architecture
- Principles, patterns, and practices
- Visual Studio 2010 modeling tools
- UML and layer diagrams
- SPRINT 1
- Retrospective
Module 8: Test Driven Development
This module introduces Test Driven Development as a design tool
and how to implement it using Visual Studio 2010. To maximize
productivity and quality, a Scrum team should setup Continuous
Integration to regularly build every team member’s code changes and
run regression tests. Refactoring will also be defined and
demonstrated in combination with Visual Studio’s Test Impact
Analysis to efficiently re‐run just those tests which were impacted
by refactoring.
- Continuous integration
- Team Foundation Build
- Test Driven Development (TDD)
- Refactoring
- Test Impact Analysis
- SPRINT 2
- Retrospective
Module 9: Agile Database Development
This module lets the SQL Server database developers in on a
little secret – they can be agile too. By using the database
projects in Visual Studio 2010, the database developers can join the
rest of the team. The students will see how to apply Agile database
techniques within Visual Studio to support the SQL Server
2005/2008/2008R2 development lifecycle.
- Agile database development
- Visual Studio database projects
- Importing schema and scripts
- Building and deploying
- Generating data
- Unit testing
- SPRINT 3
- Retrospective
Module 10: Ship It
Teams need to know that just because they like the functionality
doesn’t mean the Product Owner will. This module revisits acceptance
criteria as it pertains to acceptance testing. By refining
acceptance criteria into manual test steps, team members can execute
the tests, recording the results and reporting bugs in a number of
ways. Manual tests will be defined and executed using the Microsoft
Test Manager tool. As the Sprint completes and an increment of
functionality is delivered, the team will also learn why and when
they should create a branch of the codeline.
- Acceptance criteria
- Testing in Visual Studio 2010
- Microsoft Test Manager
- Writing and running manual tests
- Branching
- SPRINT 4
- Retrospective
Module 11: Overcoming Scrum Dysfunction
This module introduces the many types of people, process, and
tool dysfunctions that teams face in the real world. Many
dysfunctions and scenarios will be identified, along with ideas and
discussion for how a team might mitigate them. This module will
enable you and your team to move toward independence and improve
your game of Scrum when you depart class.
- Scrum‐butts and flaccid Scrum
- Best practices working as a team
- Team challenges
- ScrumMaster challenges
- Product Owner challenges
- Stakeholder challenges
- Course Retrospective
Optional Module: Scrum FAQ
Time permitting, the instructor will present a list of frequently
asked questions about Scrum, implementing Scrum, and the
Professional Scrum Developer program. The instructor may either lead
a discussion around these topics or use this section as reference.
- Scrum FAQ
- Professional Scrum Developer FAQs
Optional Module: Scrum Assessment
Time and environment permitting, the instructor may give the
students time during class to take the respective Scrum.org
Professional Scrum Developer Assessment so that the students can
leave class potentially certified!
Expectations
This is a unique course in that it’s
technically‐focused, team‐based, and employs timeboxes. It demands
that the members of the teams self‐organize and self‐manage their
own work to collaboratively develop increments of software.
All students must commit to:
- Pay attention to all lectures and
demonstrations
- Participate in team and group
discussions
- Work collaboratively with other team
members
- Obey the timebox for each activity
- Commit to work and do your best to
deliver
All students should have:
- An understanding of Scrum
- Familiarity with Visual Studio 2010
- C#, .NET 4.0 & ASP.NET 4.0
experience*
- SQL Server 2008 development
experience
- Software testing experience
* Check with instructor for the exact
technologies that will be in use.
People who should not take this course
include:
- Students requiring command and
control style instruction (there are no
prescriptive/step‐by‐step labs in this course)
- Students who are unwilling to work
within a timebox
- Students who are unwilling to work
collaboratively on a team
- Students who don’t have any skill in
any of the software development disciplines
- Students who are unable to commit
fully to their team (not only will this diminish the student’s
learning experience, but it will also impact their team’s
learning experience)
» Zurück zur
Kursbeschreibung