Due to Covid-19 safety restrictions PhoenixTS will temporarily be unable to provide food to our students who attend class at our Training Center; however, our Break Areas are currently open where students will find a constant supply of Coffee, Tea and Water. Students may bring their own lunch and snacks to eat in our breakrooms or at their seat in the classroom or eat out at one of the many nearby restaurants.
Phoenix TS 3–day Certified Scrum Developer Certification training and certification boot camp in Washington, DC Metro, Tysons Corner, VA, Columbia, MD or Live Online provides you an immersive, collaborative experience that requires students to participate in each exercise, hands on lab, and class discussion. Students will gain a solid understanding of the key concepts of the Agile methodology and scrum ceremonies. Students will be introduced to Agile concepts such as:
- Agile manifesto
- The Agile Team
- Daily Scrum
- Sprint setup, analysis, and review
- Test driven development
- Automated Builds
- Automated tests
- Continuous Inspection
- Continuous Integration
What You’ll Learn
Participants in this course will:
- Define the core concepts of Agile Software Development
- Participate in Sprint Planning and Execution
- Implement Test Driven Development
- Incorporate Continuous Inspection
- Implement Continuous Integration
All Class Times are Eastern Time Zone
Currently, there are no public classes scheduled. Please contact a Phoenix TS Training Consultant to discuss hosting a private class at 240-667-7757.
In today’s competitive job market, the Certified Scrum Developer training can set you apart from the pack. A successful Certified Scrum Developer is committed to continuous improvement. The coursework and dedication needed to achieve a CSD sharpens your skills to help you become a better practitioner of Scrum and Agile development. By earning a Certified Scrum Developer certification, you: • Learn the foundations of Scrum and the scope of the Certified Scrum Developer’s role from the best minds in development agility • Demonstrate to employers and peers your understanding of core Scrum knowledge • Expand your career opportunities by staying relevant and marketable across all industry sectors adopting Agile practices • Engage with a community of recognized Scrum experts who are committed to continuous improvement
Who Should Attend
- Software Developers
- Quality Assurance
- Product Owners
- Development Team
CSM course (2 days) Please note, that attendees are required to bring a laptop to participate in the hands-on activities during this class.
During your CSD courses, you must demonstrate an understanding of Scrum and Agile engineering practices by passing a CSD assessment provided by the REP instructor. The assessment may be an exam administered by the instructor to test your knowledge, or it may be an active, classroom-based assessment. When a REP instructor uploads a student’s information into the Scrum Alliance system, they are recommending the student for certification.
Attendance and Virtual Camera Requirement
It is incumbent upon the trainer to verify that each participant meets the objectives for certification. To ensure participation, trainers will require attendees in this class to turn on their cameras. Attendees not meeting this criteria or who miss a portion of the class may not meet certification requirements, and therefore, will be ineligible to take the exam.
Customer Testimonials“I really enjoyed this class and have learned so much. The instructor was an excellent trainer and source of knowledge. I look forward to attending more classes through ASPE in the future.” – C. Lasson
I. Agile Principles and Practices We will briefly review the Agile Manifesto and introduce key Agile engineering practices. Many of the most successful, highly productive Scrum teams commonly leverage Agile engineering practices to achieve a sustainable pace while embracing the constant change. Effective Scrum teams must continually evaluate, introduce and adopt Agile engineering practices in an effort to continually improve. This course is designed to introduce many of these practices and the benefits they provide. A series of thoughtful, hands-on exercises will further solidify and enhance the understanding of these practices. EXERCISE: 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. II. Feedback and Planning Planning as a result of feedback from the customer and team is a key component of successful Scrum teams. We will explore the levels at which we plan, and how to effectively incorporate feedback into each of these levels to guide the team to success.
- Triple Constraints
- Five Levels of Planning
- User Stories
- Relative Sizing
- Sprint Execution
- Sprint Demo
- Team Retrospective
EXERCISE: 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. III. Collaboration Collaboration is a key element of Scrum teams. We will discuss forms and forums for collaboration with the team, in the team, and with the customer. Paring will be introduced and used continually throughout the remainder of the course.
- Customer Collaboration
- Team Collaboration
- Pair Programming and Pairing
EXERCISE: 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: 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. IV. Architecture, Design, and Shared Understanding Discuss the role of architecture on Scrum projects and how the use of design principles can lead to simple, flexible designs and systems. We will introduce the shared aspects of design and code quality. Testability is a driving concern in Scrum teams and we will discuss the reasons and benefits from focusing on testability.
- Architecture as a Concern
- Design Principles
- Coding standards
- Collective code ownership
- Simple design
- System metaphor
- Testability as a Driving Concern
EXERCISE: 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. V. Test Driven Development (TDD) We will introduce Test Driven Development and contrast to the traditional test last approach. Discuss the benefits and process of TDD and how it can lead to better overall design and simplicity.
- Test First vs. Test Last
- TDD Rhythm: Red, Green, Refactor
- TDD influence on Design
- Unit Testing Principles
EXERCISE: 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. VI. Refactoring There is a symbiotic relationship between good tests and the refactoring process. We will discuss why, when and how teams should consider refactoring.
- Safety Net of Tests
- Refactoring Patterns
- Refactoring for Maintainability
EXERCISE: 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. VII. Continuous Integration
- Discuss the concept of Continuous Integration and the CI Attitude. Continuous Integration provides an essential role in maintaining a continuous process for providing feedback to the team.
- Discuss the Attitude of Continuous Integration
- Discuss how and why you must develop a single command line build
- Automating the Build
- The 10-minute build
- Benefits and Practices of Continuous Integration
EXERCISE: 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. VIII. Testing Practices Various levels and types of testing and the benefits they provide Scrum teams will be reviewed. Additional discussion focuses on how and what to automate in order to shorten feedback cycles.
- Testing Quadrants
- Unit Tests
- Integration Tests
- Acceptance Tests
- Functional Tests
IX. Acceptance Testing The discipline of Acceptance Testing can lead to better collaboration with both the customer and the team. Automating Acceptance Tests can provide an invaluable tool to support the creation of higher quality software and continue to support the team from story to story and sprint to sprint.
- Acceptance Criteria
- Writing Acceptance Tests
- Acceptance Test Driven Development
- Automating Acceptance Tests
EXERCISE: 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. X. Adopting Scrum Developer Practices
- Recap Scrum Developer Practices and have an open discussion about how to introduce, adopt, and expand Practice use within Scrum teams.
- Recap Essential Scrum Developer Practices
- Team ground rules to start off on the right foot
- Develop a roadmap leveraging Scrum Developer Practices
EXERCISE: 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.