Essence of Agility — The Key Technical Practices
Many organizations are working hard to be agile. They have mostly mastered the non-technical aspects of agile development, however, the major impediments come from not embracing some key technical practices. Evolving an application requires, amount other things, evolving the design and architecture, but that has risks.
In this workshop, we will focus and learn some key technical practices that will help us evolve applications based on the feedback cycles that agile development heavily relies upon. We will learn design principles and practices that help reduce risk involved often in evolving software.
Instead of talking theory, we will take a very practical example driven approach. We will take an a small problem and first create a strategic design.
Then we will take on, using TDD, the next step of tactical design. Along the way we will explore details like test quality, good software design principles, effective mocking, and a few other techniques and practices.
This workshop is intended for programmers who are interested in improving their technical skills necessary for day-to-day agile development.
The main objective is to learn practices that will have a direct impact on sustainability of agile development.
Needs:
Attendees are expected to work in pair, this is a great way to share ideas and learn from each other.
Please have the following software installed on your system ahead of the workshop:
- Your favorite IDE
- Java Compiler
- JUnit
- Mockito library