The original goal of agile development was to “heal the rift between development and the business.” With this in mind, many agile “management” and “technical” practices have been developed. The goal is for both groups to participate in a series of activities that will foster shared understanding and provide an underpinning of effectiveness. The management practices in particular are designed to provide a smooth, prioritized path to completion of features for a given development effort.
Planning and Managing the Project
Though specific practices may vary between the different agile methods, there are many common practices and principles. The most basic management practice common to all agile methods is to iterate early and regularly. Agile projects have releases of some defined length, and iterations of some defined length. These releases and iterations must be planned. An agile team begins a project by identifying and prioritizing a superset of features. The team plans a release (roughly) and the first iteration. From then on, iteration by iteration, the team uses continuous planning to refine the scope of the release plan as new information is discovered and requirements change. The iteration plans should also get more accurate and precise as the team understands and refines velocity (the measured work it accomplishes per unit of time). The management practices give the entire team a sense for exactly which features will be delivered by the deadline. A separate menu to the left covers technical practices.