$1,000.00
$950.00 CAD / 2 DAYS

web special rate

1) Select Location for Dates in Your City:


Choose Date

  • No available dates.

Notify me Click on date to Register Now or click Notify Me to receive an email notification when course is Guaranteed to Run. once the following courses become Guaranteed to run.

No available dates.

Jump to Shopping Cart Continue shopping

Certified Scrum Developer Workshop

 

This Scrum Developer Workshop is only available for private, dedicated group sessions. Please contact us for more details.

 

Course Description:

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.

 

What You’ll Learn in Class:

  • 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

 

Who Needs to Attend:

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

 

Prerequisites:

Experience with software development, engineering, designing, and testing

 

Follow-On Courses:

 

Certification:

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

 

Course 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 & 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.