In this powerful course, you'll grasp the concepts, principles, and methods of Agile development and become empowered to execute on your plans for incorporating Agile practices and techniques into your organization. Agile success demands a strong and stable foundation. A common misconception is that Agility means lack of order or discipline. This is simply not the case. Those who try to incorporate an Agile methodology or practice into their SDLC with an expectation of shedding the discipline are on a path to failure. Agility in software development requires strong discipline. In order to successfully create Agility, you must have a solid foundation in the practices and procedures you wish to adapt and learn how to follow those practices correctly while tying them to rigid quality goals. This introduction to Agile training will give you the foundation of knowledge and experience you need to begin.
*Course cost listed does not include the cost of courseware. Please contact us at learn@vtec.org or 207-775-0244 for additional pricing information, or if you have any questions. Course is subject to a minimum enrollment to run. Course may run as a Virtual Live Distance Learning session if the minimum enrollment is not met.
Making the Case for Change – Organizational change (which an Agile transformation is) is difficult to achieve unless there is a clear understanding among everyone involved about why it is necessary.
Exercise: Make a list of software project problems that you would like to correct.
Agile techniques are based on a completely different mental model and set of paradigms about projects. In this section, we begin to explore the mindset that that the Agile methods are built upon.
A Paradigm for Complexity – The inherent complexity of developing software is the source of most software project failures, so the Agile methods embrace paradigms that are designed for complexity
Predictive vs. Adaptive – A key difference between traditional and Agile paradigms concerns our ability to predict how the project will unfold. The Agile approach is to expect that our predictions may
Lean – All of the Agile methods are based on the principles first formalized in Lean Manufacturing, so we start with Lean Software Development
Scrum – The most widely-used of the Agile methods, Scrum is a good method to use to understand the basic iterative practices employed by most Agile teams
Kanban – Originally created by the Lean Movement and more recently embraced by the Agile Community, Kanban provides an alternative process structure that (unlike the other Agile methods), is not based
XP – Extreme Programming (XP) is one of the few Agile methods that goes into detail about technical programming practices, so we will take some time to explore them.
Custom Hybrid – We complete this section by observing that many teams create their own custom Agile method by drawing practices from several Agile methods and combining them in unique ways.
Exercise: See for yourself how common practices that Lean counsels against can make a team less efficient.