This program introduces Extreme Programming values, Principles and Practices such as Sit Together, Whole Team, Planning Game, Small Releases, Acceptance Test Driven Development, Test Driven Development, Refactoring, Emergent Design, Agile Architecture, Continuous Integration, Collective Code Ownership and Pair Programming to the audience and follows a life cycle approach where participants get to learn how to practice these in real life projects. Participants learn to implement Extreme Programming practices on a project developing in either java, .net, ruby, python or C++ framework. Workshop also covers how to effectively work on legacy code and break dependencies. Expected business outcome is readable, maintainable code going forward as well reduction is defects.
Key Learning Outcomes
- Introduction to Extreme Programming, Principles of Extreme Programming
- Lean Startup and Agile Software Development
- Phases of Software Development – Scoping, Discovery, Mapping and Delivery
- Extreme Programming Values and Principles
- 12 Practices of Extreme Programming – core practices
- Agile Estimation and Planning including risk identification and opportunity
- Product Discovery – user research, identifying business values and Technical Exploration
- Requirement Mapping – Impact mapping, Story Mapping, MVP and Release planning
- Software Delivery – Coding Standard, Collective Code Ownership, Sustainable Pace
- Test Driven Development – why, what and how
- TDD Cycle – Red, Green and Refactor
- Drive the development (design and implementation) of a User Story
- Learn concept of Emergent Design and why emergent design
- Overview of Refactoring, Clean Code principle and Refactoring to Patterns
- Software design – going deeper in SOLID design Principles
- Behavior Driven Development Vs Test Driven Development
- Continuous Integration, Continuous Delivery, Deployment and Releases
Key Learning Activities
Hands-on activities (60-70%) and discussion on mentioned topics (30-40%). Hands-on activities include writing unit test, code, writing examples and some group creativity activities.
Development team members including developers, testers, architects, leads and scrum masters.
Agenda For 4-day Workshop
The whole workshop will be delivered in 8 Iterations with possible agenda as below: