Wednesday, March 10, 2010

Management Day - The Agile Process

Presented by Mike Sahota

Michael Sahota is an Agile/Lean coach, consultant,and trainer and an advocate of the Agile development process. He has been adopting Agile and Lean practices for over 8 years and has been in leadership roles such as Vice President, Director, and Team Lead.


Agile describes a newer, more innovative way to develop products, especially software. The goal of the agile process is to make peoples lives more humane, and help companies succeed. Although agile applies mainly to software, it can be used anywhere, in almost any type of project where requirements can quickly change.


What Is Agile?

The agile process involves people closely collaborating to produce a high quality product. It's about working together as a team to deliver value. The goal of the agile process is to improve the information flow: the rate at which valuable information is passed from one group member to another. To improve this flow, people need to work closely together. Ideally, this involves actually working together in a large team room, rather than sitting in individual cubes, cut off from each other in their own "information silos". The goal of agile is to reduce the intuition gap and the need to read large complex specifications, which are often simply ignored.


Many studies have shown that the agile process leads to better productivity, better products and a much better work environment. Many companies and organizations are now embracing this process. In fact, the U.S. Defense Department, the largest procurer of software in the world, uses the agile process. Other major agile companies include Yahoo, Microsoft, Oracle and Google. It used in everything from cell phones to websites.


Main Principles

The main principles of the agile process are: individuals and interactions, working software, customer collaboration, responding to change and craftsmanship. All of this is in sharp contract to traditional development methods, which emphasize processes, tools, complex specifications, contract negotiations, and following a rigid plan.


Traditionally, detailed specification and functional reports describe the project. In the agile process, a more relaxed approach is taken. A specific requirement should be able to fit on one card. Whiteboards are used constantly to allow for the free-flowing of ideas. People generally feel freer to comment on sketches rather than on fixed diagrams and formal looking reports, which have an aura of "unchangeability" to them.


There are many types or "flavours" of agile, the most popular being "scrum". Unfortunately, many places have not practiced scrum agile, but a false version nicknamed "Scrum, but”. That is, companies say they are practicing scrum "but" with some exception to the process. "Scrum, but” is actually the most popular flavour of agile, but is not true agile because it does not follow one or more of the agile principles stated above.


Agile Project Cycle

In the agile project cycle, the development team writes stories; these can be considered as "light" use cases. The cost of each story is estimated, and the cards are arranged by

by price. In this process, the business value is decided by the business, and not by the engineers. As a result, the engineers lose much of the power they had, and are therefore resistant to it. The key point is that decisions are made not by any one person or group, but by the entire team.


Summary
Agile is very different from the traditional "waterfall" type development process, and it can take some getting used to. However, the end result is a product that is better designed, and easier to use. Individuals become empowered because they know they are true stakeholders in creating the product.