Are you a Java or C# developer and would like to learn how to apply useful and effective agile techniques to your day to day life? Are you ready for three days of learning the practices, processes and principles needed to build the path to success? Then this workshop is for you!
Kevlin Henney's three day Agile Development for Developers course looks at the Agile principles, practices and processes that offer a path to sustainable development for individuals, teams and organisations.
For many developers who want to focus on their craft, it is sometimes difficult to get a view of Agile development that is neither focused on a project management perspective, nor just on the practice of Test-Driven Development (TDD).
For the Java or C# developer, an overview of the larger Agile process landscape needs to be complemented with the practical side of software craftsmanship. This course ranges from understanding how Scrum can be fine tuned with Lean thinking, to exploring Extreme Programming practices such as TDD and pairing.
Learn how to:
- Describe representative agile development processes and common practices
- Slice up requirements in terms of goals and estimate and plan against them
- Learn modelling techniques and design thinking appropriate for responsive development
- Describe how to carry out Test-Driven Development effectively
- Put concepts into practice
What the community says
"I really enjoyed both the lectures and the hands-on labs."Alesandro Casodo Vidal on 12th Dec 2014
"Thoroughly excellent and wide-ranging course from an instructor with a great breadth and depth of knowledge"December '14 course delegate on 12th Dec 2014
"Great instructor - would definitely attend any course he gave in the future."Course Delegate on 8th Nov 2010
- Software development and change
- Agile values and principles
- Iterative and incremental development
- Visualisation of progress
- Kicking off and closing out an iteration
- The role of testing
- Modelling in an agile context
Common Agile Approache
- Extreme Programming
- XP1 and XP2 practices
- Scrum roles, events and artefacts
- The Nokia test
- Lean Software Development
- Lean principles
- Kanban for software
- Code quality and development skills
- Elements of well-crafted code
- Coding guideline benefits and pitfalls
- Code sufficiency versus overdesign
- Technical debt and code smells
- Programmer testing
- Good Unit Tests (GUTs)
- Plain Ol' Unit Testing (POUT)
- Defect-Driven Testing (DDT)
- Test-Driven Development (TDD)
- Key TDD practices and the test-first cycle
- Overview of JUnit and NUnit
- Behavioural testing based on propositions
- Negative test cases
- Agile architecture and responsive design
- Patterns thinking
- Class hierarchy design
- Acyclic dependencies
- Interface decoupling
- Transitive and external dependencies
- Test doubles
- Components with single responsibilities
- Specifying with goal-oriented scenarios
- Incremental development
- Lightweight use cases
- User stories
- User story styles and guidelines
- Prioritisation in terms of value and risk
- Estimation and tracking
The Agile Development for Developers course is aimed at Java and C# Developers, who want to learn what Agile means for them. It introduces a number of common agile techniques and puts these into practice in labs and exercises in pairs and groups, before applying these over a series of mini-iterations.
The workshop balances taught material with practice, introducing requirement techniques, lightweight modelling techniques, tracking and estimating approaches, design principles, testing practices and refactorings.
To benefit from this Agile Development for Developers workshop, you should be an experienced Java or C# developer. If you have some experience with agile processes, use cases or user stories, unit testing and modelling prior to attending, this will be an advantage.
Any previous experience with UML, patterns and agile development is an advantage but not a requirement.
Bring your own hardware
Delegates are requested to bring their own laptop for this course. If you are unable to bring a laptop for the course, please contact the sales team on +44 20 7183 9040, or email the [sales team]. A full installation guide for the course software will be provided with your course joining instructions. : http://mailto:firstname.lastname@example.org