Live Chat
Monday - Friday 8am - 6pm EST Chat Now
Contact Us
Monday - Friday 8am - 8pm EST 1-866-716-6688 Other Contact Options
Checkout

Cart () Loading...

    • Quantity:
    • Delivery:
    • Dates:
    • Location:

    $

Certified Scrum Developer Workshop

Learn test-driven development, continuous integration, refactoring, and emergent design for Agile technical excellence.

GK# 2508

Course Overview

TOP

After teams have been exposed to the principles of Scrum, they are left wondering about the more technical aspects of software development and delivery and how these areas fit into an iterative approach. This course extends important Scrum principles to their logical applications in several technical, foundational areas of software development.

Borrowing from a variety of Agile disciplines, the course will introduce and explain a wide range of available tools and techniques that can offer team flexibility in their Agile approach. Each subject area is accompanied by real-world examples of how they have been used in the past and the success criteria for each instance.

Based on the understanding that theory and principles solidify into practices and habits through experience, the course is comprised of numerous hands-on exercises that demonstrate the use and benefit of each practice area and technique. You will not only understand the mechanics of each technique, but you will also participate in the discovery and discussion of how to ensure the creation of value in your organization.

The goal of this workshop is to put to use what you learned through books and lectures to determine how to utilize that knowledge, including how to ensure that your team is improving over time. With this proven approach, you will leave the class with practical knowledge and a clear roadmap for your team's success.

Certification:

This course is approved for the Certified Scrum Developer (CSD) certification from the Scrum Alliance.

Schedule

TOP
  • Delivery Format:
  • Date:
  • Location:
  • Access Period:

$

What You'll Learn

TOP
  • Implement test-driven development to minimize the possibility of defects reaching the production environment
  • Develop the correct technique for continuously integrating your newly developed code into the existing code base
  • Apply Agile and Scrum principles and best practices to form the best mix for your team's success
  • Different approach to Agile architecture and design that supports a more incremental and emergent project
  • Transform your development processes to reflect the most efficient approach given your organization's constraints
  • Pitfalls that poorly disciplined Agile teams fall into, contributing to failed Agile adoption and implementation attempts
  • How to adopt Agile practices effectively within the context of your existing software development framework
  • Utilize refactoring to ensure a longer lifespan of your software
  • Gain practice in organizing your group into a self-managed team
  • Develop the correct technique for continuously integrating your newly developed code into the existing code base
  • Conduct exercises in a real-world Agile development unit and see first hand how the roles mingle together to get the work done through collaboration
  • Discover how continuous, incremental improvement will allow your team to continue growing long after the conclusion of the course
  • Using Scrum as the backdrop, acquire techniques for successfully scaling Agile across your teams and the enterprise
  • Using the provided working examples of code, dive into Agile Engineering practices no matter what development framework you use.
  • How the appropriate level of planning will reduce rework and waste in your architecture designs
  • Pattern of behavior for Agile engineering excellence: You will not get lost in the code
  • How to adapt from a plan-driven approach to continuous planning, starting with the inclusion of actual velocity-driven aspects into your planning, scheduling, and tracking
  • Coaching and communicating skills of a ScrumMaster and the differences between what a ScrumMaster does compared to a traditional Project Manager
  • Run multiple iterations using real-life scenarios
  • Make your first hands-on experience with Agile a classroom experience not a production experience

Outline

TOP
Viewing outline for:

Classroom Live Outline

1. Agile Principles and Practices

2. Feedback and Planning

  • Triple Constraints
  • Five Levels of Planning
  • User Stories
  • Relative Sizing
  • Sprint Execution
  • Sprint Demo
  • Team Retrospective

3. Collaboration

  • Customer Collaboration
  • Team Collaboration
  • Pair Programming and Pairing

4. Architecture, Design, and Shared Understanding

  • Architecture as a Concern
  • Design Principles
  • Coding Standards
  • Collective Code Ownership
  • Simple Design
  • System Metaphor
  • Testability as a Driving Concern

5. Test Driven Development (TDD)

  • Test First vs. Test Last
  • TDD Rhythm: Red, Green, Refactor
  • TDD influence on Design
  • Unit Testing Principles

6. Refactoring

  • Safety Net of Tests
  • Refactoring Patterns
  • Refactoring for Maintainability

7. Continuous Integration

  • Attitude of Continuous Integration
  • How and Why You Must Develop a Single Command Line Build
  • Automating the Build
  • The 10-Minute Build
  • Benefits and Practices of Continuous Integration

8. Testing Practices

  • Testing Quadrants
  • Automation
  • Unit Tests
  • Integration Tests
  • Acceptance Tests
  • Functional Tests

9. Acceptance Testing

  • Acceptance Criteria
  • Writing Acceptance Tests
  • Acceptance Test Driven Development
  • Automating Acceptance Tests

10. Adopting Scrum Developer Practices

  • Recap Essential Scrum Developer Practices
  • Team Ground Rules to Start off on the Right Foot
  • Develop a Roadmap Leveraging Scrum Developer Practices

Exercises:

Exercise 1: Defining Our Challenge

Course participants will openly discuss challenges facing their current development teams. We will discuss common myths and misperceptions of both the Agile discipline and the Agile developer.

Exercise 2: Feedback and Continuous Improvement

Course participants will work through a set of exercises aimed at reinforcing the importance of feedback throughout the lifecycle of an Agile project from requirements to execution.

Exercise 3: Self-Organizing Teams

Through a series of interactive exercises, course participants will experience the chaos created by individuals without common goals. Ultimately the team will be allowed to self-organize with minimal direction and experience the harmony and balance of a self-organized team.

Exercise 4: Pairing

Using the techniques introduced by pair programming, course participants will solve a problem in pairs. This exercise will demonstrate the value and effectiveness of pairing to develop better solutions and to increase shared knowledge of the team.

Exercise 5: Coding Standards

Course participants will discuss thoughts and current practices regarding coding standards. Instructor will provide a working software example for the team to evaluate in the absence of coding standards. The class will discuss the potential waste effort that can exist in the absence of coding standards. Course participants will then work in teams to develop a simple set of coding standards. After applying the agreed upon coding standards they will look at the inherent benefits.

Exercise 6: Test Driven Development

Using Test Driven Development (TDD), course participants will develop a Test List and follow the TDD Red, Green, Refactor cycle to develop software and meet the instructor's requirements. Course participants will experience the cadence and rhythm of the TDD process.

Exercise 7: Refactoring

Instructor will provide working software and a test suite of unit tests. Using refactoring methods and patterns, course participants will incrementally refactor the software to achieve a simpler design and increase quality and maintainability.

Exercise 8: Continuous Integration

Participants will define and execute a Continuous Integration process using a popular open-source Continuous Integration product. This exercise will reinforce the key tenants and practices of Continuous Integration and serve as a discussion opportunity on how to effectively utilize and leverage Continuous Integration to support the developer and the team.

Exercise 9: Acceptance Testing

Course participants will develop a set of Acceptance Tests (Story Tests) from a sample set of User Stories containing Acceptance Criteria. Using Acceptance Test Driven Development (ATDD), course participants will use these Acceptance Tests to drive development of the sample User Stories.

Exercise 10: Create a Roadmap and Action Plan

Course participants will prioritize the Agile engineering practices that they might want to introduce to their current projects, teams, and organizations. Using the three highest priority concepts, course participants will create a plan to bring these practices into action. The class will compare and discuss action plans.

Who Should Attend

TOP

business and technical product analysts, project managers, software engineers/programmers, development and project managers, product managers and analysts, QA engineers

Course Delivery

This course is available in the following formats:

Classroom Live

Receive face-to-face instruction at one of our training center locations.

Duration: 3 day

Request this course in a different delivery format.
Enroll