HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
Kevlin Henney's Agile Development in C# (AGILE-C#-01-03)
CODE: AGILE-C#-01-03          DURATION: 3 DAY/S
Kevlin Henney's Agile Development in C# course will teach you about 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 not neither focused on a project management perspective nor just on the practice of Test-Driven Development (TDD).

For the C# developer, an overview of the larger Agile process landscape needs to be complemented with the practical side of software craftsmanship. This ranges from understanding how Scrum can be fine tuned with Lean thinking to exploring Extreme Programming practices such as TDD and pairing.

The Agile Development in C# course for 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.

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
PROGRAMME
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 Approaches
  • 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 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
ABOUT THE AUTHOR
Kevlin Henney is a regular columnist for various industry magazines and a well known and popular speaker on topics such OO Design, Patterns, Agile Development and Software architecture at conferences in Europe and North America.
More about Kevlin Henney
WHAT PEOPLE ARE SAYING
""Best training course I have ever been on. Loved the anecdotes"" Andrew Evans Nov 2009
""Excellent knowledge of subject and very enthusiastic. Workshops were extremely useful and proved the concept of TDD. Overall the course has been excellent and has definitely met the objectives"" James Moralee Nov 2009
IS THIS COURSE FOR YOU?
If you are a C# Developer and would like to learn how to apply useful and effective agile techniques to your day to day life, this Agile C# Development workshop is for you!.

COURSE PREREQUISITES
To benefit from this Agile C# Development workshop, you should be an experienced 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 also an advantage but not a requirement.

COURSE LABS & EXERCISES
Lectures, discussions and practical exercises

© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship