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

"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

"I really enjoyed both the lectures and the hands-on labs."

Alesandro Casodo Vidal on 12th Dec 2014

"Great instructor - would definitely attend any course he gave in the future."

About the Author

Kevlin Henney is an independent consultant, speaker, writer and trainer. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and web sites and is co-author of 'A Pattern Language for Distributed Computing' and 'On Patterns and Pattern Languages' and editor of '97 Things Every Programmer Should Know'. He lives in Bristol and online.

Agile Development

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

Plan-Do-Study-Act

Common Agile Approache

Extreme Programming

XP1 and XP2 practices

Scrum

Scrum roles, events and artefacts

The Nokia test

Lean Software Development

Lean principles

Kanban for software

Software Craftsmanship

Code quality and development skills

Elements of well-crafted code

Coding guideline benefits and pitfalls

Code sufficiency versus overdesign

Technical debt and code smells

Refactoring

Programmer testing

Test-Driven Development

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

Design Practice

Agile architecture and responsive design

Patterns thinking

Class hierarchy design

Acyclic dependencies

Interface decoupling

Transitive and external dependencies

Test doubles

Components with single responsibilities

Goal-Structured Requirements

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

Audience

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.

Prerequisites

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][1]. A full installation guide for the course software will be provided with your course joining instructions. [1]: http://mailto:sales@skillsmatter.com