This immersive, forty-hour training program contains a set of three comprehensive courses that provides the knowledge and skill to become a successful Scrum developer and a valuable member of a Scrum development team.
Our first course is devoted to an Introduction to Scrum for Software Developers, in which you will explore the Scrum Framework and how it supports faster and simpler software development. The second course covers Design Pattern Developer Essentials, where you will discover a core set of design patterns that every developer should know. This training program concludes with the popular Scrum Software Developer Essentials course, in which you’ll learn how to write higher-quality code more quickly and with fewer defects using the practices from Extreme Programming (XP) that include test-first development, refactoring, and emergent design, as well as a variety of Agile problem-solving techniques.
You’ll be taken on a guided tour through essential developer practices such as story writing, sprint planning, pair programming, and test driven development. You’ll learn how to discover patterns in problems and to implement designs as needed. You’ll also explore the principles behind the practices so you understand how to use them to make the best design choices, and you’ll gain a powerful framework for encapsulating and abstracting virtually any problem for maximum flexibility, without over-complicating the solution.
You’ll learn the secrets of high-performance, cross-functional development teams and gain a shared design vocabulary for dramatically improving inter-team communication that can be applied equally well to new development and to maintaining or extending existing systems. You’ll then put theory into practice and apply your new skills by building the core of an application using the expert-level techniques you’ve learned for rapidly writing quality software.
By the end of this training program you’ll be armed with several new, effective tools and techniques for Scrum development that will make your software more robust, manageable, and easier to extend.
Who Should Take This Course
This training is for all team members, and has the greatest impact when the entire team attends. This set of courses will benefit architects; designers and developers; development and product managers; software engineers/programmers; testers and QA engineers; and technical analysts, leads, and writers. Familiarity with basic Object-Oriented (OO) concepts and terminology is recommended. Participants who successfully complete the programming exercises in the Scrum Software Developer Essentials training are eligible to become a Certified Scrum Developer, and require the ability to write simple programs in Java or C Sharp.
Completing this training curriculum will give you the knowledge and experience of using Scrum to rapidly build quality software, and enable you to:
- Write stories and build features in sprints
- Estimate development tasks more accurately
- Master test-first development to drive design
- Efficiently use TDD’s red-green-refactor cycle
- Work effectively to refactor legacy code
- Diagnose and fix pathologies of poor code
- Exercise techniques to test untestable code
- Collaborate successfully thru pair programming
- Employ acceptance tests to specify and document stories
- Avoid upfront overdesign and practice just-in-time development
- Distinguish between twelve design patterns by what they encapsulate
- Define a strategy for continuously integrating software as it is built
- Write software that supports an iterative process without excessive rework
- Support collaborative code ownership and embrace a common aesthetic
- Refactor to patterns and emerge designs in iterative development
- Share a common vocabulary for evaluating and communicating designs
- Implement techniques for recognizing and managing technical debt
- Quantify software qualities that make code easier to maintain and extend
- Recognize how test driven development informs design decisions
- Appreciate the value of adopting shared coding standards
- And much more…
Introduction to Scrum for Software Developers — Covers essential elements of Scrum for software developers: Scrum principles, values, and framework; artifacts; story writing; collaboration; estimation and planning; coaching and facilitation. Hands-on exercises include story writing, defining acceptance tests, estimation and sprint planning. See the full course description for Introduction to Scrum for Software Developers.
Design Pattern Developer Essentials — Covers Agile principles and patterns: approaches to design; key principles; problem-solving techniques; seeing patterns by what they encapsulate; discovering patterns in problems; design exercise; what patterns teach us; emergent design and refactoring to patterns. Includes an in-depth design exercise and debrief. See the full course description for Design Pattern Essentials for Developers.
Scrum Software Developer Essentials — Covers essential practices from Scrum and XP: continuous integration; pair programming; coding standards; test-first development (TDD); red green refactor; using TDD to inform design, code qualities; OOAD revisited and revised; discovering design patterns; conducting code reviews; essential Scrum developer practices; writing testable code; advanced testing techniques; refactoring legacy code; emerging solutions. Includes six hands-on programming exercises in Java and C Sharp. See the full course description for Scrum Software Developer Essentials.
David Bernstein’s continuing passion for software design and construction has led him to train more than 7,500 developers in the last 23 years for clients that have included Fortune 500 firms such as Microsoft, IBM, Yahoo!, Boeing, AT&T, Sprint, Medtronic, SunGard, State Farm, MetLife and Weyerhaeuser. As a longtime IBM consultant, David trained software engineers around the globe, giving them the skills to write the next generation of applications and operating system software while earning one of the highest satisfaction ratings in the history of IBM education. Since 2006, he has devoted his consulting practice to providing organizations with training and coaching for software developers and teams transitioning to Agile and Scrum.
The three courses of this forty-hour training (which together comprise Our Certified Scrum Developer Essentials Training Week) satisfy all the training requirements for becoming a Certified Scrum Developer (CSD) through the Scrum Alliance. These courses count for 40 Professional Development Units (PDUs). See http://ToBeAgile.com/faq for more details.
Praise for David's Training
“Have you ever felt the fear of starting a project, not knowing what design to start? Ever felt the fear of making a small change and having everything crash down? Take this class and learn a better way to live and develop without fear.” – D.J. Hagberg, Software Architect
“Take the course. It will change how you approach software development.” – Eric Huber, Senior Software Developer
“One of the most interesting and interactive trainings that I have ever taken part in.” – Brandon Whitaker, Software Engineer
When & Where
To Be Agile
As a Registered Education Provider for the Scrum Alliance To Be Agile now offers Certified Scrum Developer (CSD) training. We also offers agile software development training, object oriented analysis and design training, and design patterns training, plus coaching and consulting services to help your technical team become more Agile.
FOR MORE INFORMATION CONTACT
Email: david (at) ToBeAgile (dot) com
Phone: (206) 792-9700
Or Visit: http://ToBeAgile.com