Learning the Agile Fundamentals should include three things:
- Making the learner "safe" with respect to the concept of agile, understanding that agile is a mindset and general approach, not a set of techniques. The learner should gain from any such course a feeling of being on a project with high collaboration and value-driven development.
- Giving the learner basic principles and vocabulary to be able to discuss issues with other agile practitioners, plus knowledge of the basic hazards & costs as well as the benefits that come with using an agile approach.
- Giving the learner at least one agile approach, whether XP, Scrum, DSDM, Crystal, lean/kanban or a localized approach, from project chartering and release planning to work breakdown and status reporting.
Although it takes days or weeks to properly learn the mindset and principles of agile development, the contents set out below are designed to fit into two days of courses that lead into more advanced learning in one of half-a-dozen specialty areas. Instructors are expected to include group activities of their own design and to incorporate their own, personal specialties that highlight particular aspects of agile development that they uniquely offer their learners.
Leaning Objectives for this Track
The learning objectives for the Fundamentals of Agile track are constructed around 5 major elements: history & mindset, the four values of the manifesto, plus one specific method or approach.
How to read & use this document
This document is not a description of a course – it is a description of what a learner should encounter in courses, or what a self-studying learner should learn , to gain a sound introduction to agile development. These are the Fundamentals of agile development.
The set of learning objectives contained here are intended for all job descriptions and backgrounds, and to permit instruction of any of the many agile variants.
Level of coverage
There is one particular difficulty that diligent instructors may encounter when preparing a 2-day course to these learning objectives: running out of time. We have seen this when a diligent instructor wishes to really instruct and convey deeply on each of the topics. While commendable, that level of coverage is not required in the fundamentals learning objectives – those topics will show up again in the specialty tracks as the learner progresses, and will be revisited many times over as learners continue their learning.
The purpose of the fundamentals program is to introduce learners to the topics, the principles, the mindset, and basic techniques, so they can join a project using an agile approach, and participate meaningfully with the rest of the group.
The conclusion of the Fundamentals program is not that the learner can drive these ideas and techniques into the group, but can recognize them when encountering them.
The minimal time period set out to teach the fundamentals is two full days of instruction and activities. We encourage instructors to take more time to cover the material, in order to let the learner "soak" in the ideas for extra days, and to possibly split the learning objectives across multiple courses that may cover other material. We find that "soaking time" is key to conveying the mindset and approach of agile development. Here are three ways you might extend the soaking time for your learners:
- Create a 3-day instead of 2-day course. Include additional techniques and mini-projects to help drive the learners. Look at other parts of the ICAgile roadmap to see what other learning objectives you can get credit for delivering along with the Fundamentals.
- Split the material across multiple courses that cover other material (programming, testing, management, design, continuous integration, operations, and so on). Again, check the ICAgile roadmap so you can show your learners what they are getting extra.
- Separate the material into classroom sessions and coaching sessions. The soaking happens on real projects with a coach helping grow into the agile approach along the way.