Taught by Simon Reindl
November 7-11, 2011 in Reading, United Kingdom
This Scrum Developer course is a unique and intensive five-day experience for software developers. The course guides teams on how to turn product requirements into potentially shippable increments of software using the Scrum framework, Visual Studio 2010, and modern software engineering practices. Attendees will work in self-organizing, self-managing teams using a common instance of Visual Studio Team Foundation Server 2010 to achieve this goal.
Course attendees are encouraged to take an assessment at course completion and then become Certified Professional Scrum Developers.
Registration for this class has closed.
This course is suitable for any member of a software development team – architect, programmer, database developer, tester, etc. Entire teams are encouraged to attend and experience the course together, but individuals are welcome too. Attendees will self-organize to form cross-functional Scrum teams. These teams require an aggregate of skills specific to the selected case study. Please see the last page of this document for specific details. Product Owners, ScrumMasters, and other stakeholders are welcome too, but keep in mind that everyone who attends will be expected to commit to work and pull their weight on a Scrum team.
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.
Monday morning and most of the day Friday will be spent with the computers powered off, so you can focus on sharpening your game of Scrum and avoiding common pitfalls when implementing it.
Scrum will be experienced through a combination of lecture, demonstration, discussion, and hands]on exercises. Attendees will learn how to do Scrum correctly while being coached and critiqued by the instructor, in the following topic areas:
• Form effective teams
• Explore and understand legacy and 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