CSD Training for Agile Engineering PracticesExplore Our Upcoming Trainings
Certified Scrum Developer(CSD) 3-day training course is designed for software developers and programmers who are designing software in a Scrum environment. The goal is to expose the most important tools and techniques that is needed to be applied to design software in the iterative and incremental fashion. These ideas are central to the entire field of Agile software development. The Certified Scrum Developer (CSD) Learning objectives cover the critical skills in coding, testing, refactoring, continuous integration, and other related topics that are needed for successful team software development in the Scrum style.
You should be a programmer in a conventional programming language such as Java, C#, Swift, C++, Ruby, and so on. The course involves actual programming in a team environment. Some courses offer student slots to testers, who should have some experience with test automation. Some also accommodate Product Owners, who will help direct the iterations that the programmers and testers experience during the course. This notwithstanding, CSD course is a programming course, not a survey, overview, or discussion. This training will enhance your technical skills in Agile software development.
This Certified Scrum Developer (CSD) training which will allow to perform test-driven development, acceptance test-driven development, refactoring, and continuous integration in a course-provided sandbox situation. You will be familiar with the terms and practices involved, and with why these practices are important. This is the first steps toward becoming expert in Scrum-style iterative and incremental development.
- Define simplicity, communication, and feedback (in relation to the Agile values that drive Scrum).
- Describe “individuals and interactions over process and tools.”
- Describe “working software over comprehensive documentation.”
- Describe “customer collaboration over contract negotiation.”
- Explain, using examples, “responding to change over following a plan.”
Study of Scrum principles and practices, including but not limited to, the following key concepts:
- Define Scrum roles, activities, and artifacts.
- Outline the process of working with a product backlog and a sprint backlog.
- Define a sprint.
- Describe the process of defining “Done.”
ARCHITECTURE AND DESIGN
Study of architecture and design, focusing primarily on the principles that would enable batter in testability and ease of refactoring, including but not limited to, the following key concepts:
- Outline at least three principles of architecture in an Agile environment.
- Design at least one practice on an Agile team.
- Outline at least two principles that enable testability and ease of refactoring.
An in-depth look at the way Agile teams work together. This might include, but is not limited to, the following concepts:
- Describe “working together as one team.”
- Describe how to “include the customer” in the process.
- Define pair programming.
A study of test-first development, including but not limited to, the following concepts:
- Describe Test-Driven Development (TDD) as a design approach.
- Review the steps of the red-green-refactor cycle.
- Explain, using examples, at least three-unit testing principles and practices.
- Outline five qualities of a good test.
- Describe how to measure test effectiveness.
An introduction to the practice of refactoring, including but not limited to, the following concepts:
- Describe when to refactor.
- Outline refactoring for maintainability.
- Define refactoring to patterns.
An introduction to the key practices of continuous integration, including but not limited to, the following key concepts:
- Define a single command build.
- Summarize how to create a build that is automated, self-testing, and fast.
- Describe the importance of a single-source repository.
- Define increasing visibility and automating deployment.
AGENDA - Day 1
Being a Scrum Developer
- Introduction to class project
- Introduction to project infrastructure
- Product Backlog
- Sprint planning
- Daily Stand-up
- Sprint Review
- Sprint Retrospective
User Story Workshop
- Expanding Epics into stories for class project
- Analysing the dependencies
- Running Spikes on Complex stories
- Estimating the Product Backlog
- Write Acceptance Criteria
AGENDA - Day 2
Agile Development values and principles
- Developer Values
- Development Rules
- Pair Programming
- Importance of Agile testing
- Ensure better quality product sprint by sprint
- Test Automation Frameworks
- Other topics
Test Driven Development
- Description of the TDD approach and its benefits
- Improving the quality and design of the code by testing?
- Different types of tests: unit, integration, functional
- Unit testing with xUnit (JUnit, NUnit, …)
Understand the Unit test patterns
- Respect of the principle of isolation and control of test results
- The mocks or simulate how the code Device code tested
- Use of simulation frameworks
- Use of test generator QuickCheck
- Understand xUnit patterns
- Testing Public API, Legacy code...
- Organization of test activities
Methodology of writing test
- Automate the execution of JUnit
- Generating reports
- Integration with project management scripts (Maven, grable, npm…)
AGENDA - Day 3
Continuous Delivery and code quality
Introduction to Continuous Integration
- Principles, environment, and infrastructure
- Branching strategies and patterns for continuous integration.
- Solutions for Continuous Integration
- Introduction to Jenkins
- Team lifecycle responsibilities
Introduction to Continuous Delivery and DevOps
- Dashboard and health projects
- Architecture and extension principle
- Installation, configuration and use of Jenkins
- Automated Builds with a build tool (Maven, Gradle, npm, babel, …)
- Automation Testing with JUnit (TDD) and Cucumber (BDD/ATDD)
- Introduction to Docker
- What it is clean code
- Clean code practices
- Programming principle
- Code smell
- Test must be clean?
By the completion of the Certified Scrum Developer CSD training, the learner will be able to perform test-driven development, acceptance test-driven development, refactoring, and continuous integration in a course-provided sandbox situation. The learner will be familiar with the terms and practices involved, and with why these practices are important. They will have taken the first steps toward becoming expert in Scrum-style iterative and incremental development.
- This is three days Certified Scrum Developer(CSD) “Agile Engineering Practices” technical course (3 days). Certified Scrum Master CSM training and certification is mandatory.