You want to BuildValue; you have reached the right place to learn the rules and tools!
What is a Certified Scrum Developer course?
Certified Scrum Developer program is for everyone working in agile environment and not exclusively for Programmers and Testers. This course has been designed considering scrum team (Scrum Master, product Owner, developers, testers, business analysts) and what all engineering practices team should consider to increase efficiency and accuracy. CSD program is a combination of formal training and a technical skills assessment that they have a working understanding of Scrum principles and have learned specialized Agile engineering skills. This 3/5 days course provides hands-on instruction in the agile engineering practices. Engineering practices includes agile architecture and design, test first approach, TDD, Refactoring, Paired programming, Continuous Integration and behavior driven development.
Who should attend?
This training is for all development team members of the scrum team. This workshop will benefit to
- Architects
- designers and developers
- User Experience Engineers
- Development managers
- Software engineers/Programmers
- Testers and QA engineers
- Business and Technical analysts
- Systems/IT Engineers
- ScrumMasters
- Agile Coaches
Basically everyone who is part of the Scrum Team.
What are the pre-requisites?
Prior class completion of either:
- Introduction to Scrum Fundamentals (1 day class)
- Certified ScrumMaster (2 day class)
- A fundamental understanding of practical Object Oriented Programming practices
- A laptop with a working development environment that you can bring to class with you
Note: Certification required either 5 days CSD class room training or 3 days CSD classroom with 2 days CSM classroom.
Have more questions on training and certification, visit this link: http://www.scrumalliance.org/pages/faq_training_and_certification
Agenda for 3 days:
The whole workshop will be delivered in 6 Sprints with possible agenda as below:
Day 1: Agile Requirements and Acceptance Test Driven Development
Class Project
- Introduction to class project
- Introduction to project infrastructure
User Story Workshop
- Expanding Epics into stories for class project
- Analyzing the dependencies
- Running Spikes on Complex stories
- Estimating the Product Backlog
- Developer’s role in Release Planning
Specification by Examples Workshop
- Challenges in Collaboration between Business and Development Team
- How to write better Specification
- Why Examples needed for specification
- Writing Examples in Gherkin
ATDD and BDD workshop
- Principles of Acceptance Test Driven Development
- Consequences of ATDD on the Sprint Planning and Sprint Review
- Principles of Behavior Driven Development
- Practicing BDD with Cucumber/Specflow: installation, Writing features, testing and reporting
- Role of Product Owner and crew when writing scenarios acceptance
Day 2: Test Driven Development and Agile Design
Test Driven Development
- Deion 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 JUnit
- Understand the life cycle of a test in the JUnit framework
- 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 such as Mockito
Organization of test activities
- Methodology of correcting a Bug
- Automate the execution of JUnit
- Generating reports
- Integration with Ant, Maven and Eclipse
Design Frameworks
- Definition and principles of frameworks
- Emergent Design
- Principle of scalability and implementation
Refactoring
- Consequence of technical debt and risk of "breaking" the code
- Where? When? How refactoring?
- The seven categories of refactoring tools
- Support of TDD and ATDD during refactoring
- Best practices and limitations
Day 3: Continuous Integration and Agile Testing
Introduction to Continuous Integration
- Principles, environment and infrastructure
- Branching strategies and patterns for continuous integration.
- Solutions for Continuous Integration: Hudson, Jenkins, Cruise Control, Bamboo, TeamCity, Apache Continuum
Introduction to Jenkins
- Dashboard and health projects
- Architecture and extension principle
- Installation, configuration and use of Jenkins
- Automated Builds with Jenkins and Maven
- Automation Testing with JUnit (TDD) and Cucumber (BDD/ATDD)
Agile Testing
- Importance of Agile testing
- Ensure better quality product sprint by sprint
- Test Automation Frameworks
Other topics
- Continuous Delivery and Deployment - Why and How?
- DevOps Introduction
- ALM tools for Development Team