Intro to Agile (1 day Bootcamp)
In addition to defining Agile principles, we will cover the advantages and disadvantages of Agile development. Understand and learn how to take advantage of the opportunities for Agile. Finally gain an understanding of the collaboration and communication needed between customer and developers for Agile to succeed.
This information packed course will expose you to an array of ideas, techniques, tools and practices that you can incorporate immediately — all offered to help you successfully integrate Agile development techniques into your SDLC.
Appreciate the history of Agile and how the collection of principles and practices came together to enable customer success
Examine Agile methods, including: Scrum, Extreme Programming, Lean Software Development and Kanban
Sample best practices from the various methodologies that will contribute to your team success
Talk the talk: learning the Agile terminology, roles and forums with their context
Walk through the processes that support Agile principles to enable the delivery of great products
Begin to map the transition of your existing team or enterprise-level processes, artifacts and forums to Agile
Discover the power of Agile teams through communication, collaboration and cadence
Lay the foundation upon which you can build a learning team and organization
I.Why Agile – What are the problems that Agile is addressing?
Software Development has historically been plagued by many problems including inadequate requirements that lead to products that customers aren’t happy with and sometimes can’t use. We will start the class by making the case for a shift to an Agile approach to solve the problems inherent in software development.
Exercise: As a class we will discuss the various problems that the class has experienced in their own projects so that we can then understand how Agile will help them address these problems. The class will understand from this exercise that they are not alone with a set of problems that others don’t also experience.
II.The Agile Paradigm Shift – Software Development is Complex
The problems of software development are frequently the result of treating it like it is a manufacturing process designed to replicate the same outcomes on each pass through the process. We will learn how software development is a complex endeavor more like driving on a freeway with high variation of experience each time we do it. We will discuss the importance of building feedback loops into the process to accommodate variation.
III.The Agile Foundation – The Agile Manifesto and Principles
The word Agile was adopted in 2001 to describe approaches that had evolved over the previous decade to address the problems of software development. In 2001 several experienced software development practitioners came together and through collaboration, formalized these practices under the auspices of Agile. We will understand the Agile Manifesto and Principles that resulted from this collaboration.
IV.Agile Methodologies – What’s trending?
In this section we will review the Agile methodologies that are trending. We will visit first Lean which is foundational and influences all other Agile methodologies. Then we will do a overview of Scrum. Scrum is the most popular Agile methodology and is great for projects. Scrum or Scrum variants are being used by about 75% of those doing Agile, but Scrum is not the only Agile approach. We’ll then see how Kanban might be a better answer for operations and sustainment work. We will then review the Extreme Programming practices that can be used mixed into other Agile approaches to help us rapidly accommodate change.
V.Building the Agile Team
Traditional software development focuses on results needed from a project. Agile focuses on creating a team that can deliver results over and over. In this section we will discuss what makes a high-performing team and how to build that team. The section will also cover the team roles associated with an Agile approach.
Exercise: The class will discuss great teams that they have experienced and identify what made those teams great. The class will then discuss how to design a kick-off that will send a team off towards becoming a high-performing team.
VI.Inspect and Adapt – Continuous Improvement
The power of Agile comes from the fact that continuous improvement is built into the Agile system. In this section we will review how People, Product and Process improve themselves through a frequent inspect and adapt process. We will discuss the main Agile ceremonies that help us accomplish this: Iteration Review/Demo and the Retrospective.
VII.Agile Adoption – Insuring the Success of your Adoption Efforts
Agile Adoption can be accomplished with different approaches and at different speeds. In this section we will review the best practices of Organizational Change Management as it applies to an Agile adoption and consider the primary reasons for adoption failure. We will wrap the course up and end with a discussion on where do you go from here.