Agile Principles and Traditional IT Best Practices
Agile principles and traditional IT best practices
One reason organizations are slow to fully embrace Agile is the fear that it will promote more bad habits. It's a justifiable fear. However, embracing the benefits of Agile such as flexibility and responsiveness does not mean that traditional IT goals such as consistency and thoroughness will need to be abandoned. The truth is that these goals are mutually supportive. Consider a few other key areas where "traditional" IT objectives help to further Agile goals:
1. Speed and quality
To meet sprint deadlines, Agile development teams often short-circuit the testing effort. However, this undermines the goal of discovering defects early in the development cycle-perhaps the primary benefit of iterative over sequential methods.
To overcome this, organizations should balance speed and quality through the use of test automation tools to validate the functional, performance and security requirements of the application during each development iteration. Automation allows you to increase test coverage while still keeping the project moving in sprint time.
2. Flexibility and consistency
Unlike traditional methods that often rely on cumbersome, obsolete project plans, Agile encourages teams to be flexible and responsive to change. Unfortunately, this can sometimes lead teams to abandon formal project management altogether. This results in loss of visibility to progress, particularly when teams continue to use sequential methods and planning standards.
Organizations can find the right balance by using a solution that helps manage Agile methods (user story definition and management, release, sprint and backlog management, and burn up and burn down charts, etc.) as well as non-Agile methods. This helps provide visibility into the progress across all projects, regardless of the development methodology.
3. Entrepreneurial and economies of scale
Agile encourages smaller teams to work with greater autonomy. These are good objectives, but they can trend toward limited cross-team collaboration and higher duplication of effort. To preserve cross-team collaboration, delivery teams should utilize a common repository to streamline the sharing and reuse of project assets and artifacts (user stories, tests, components, known defects, etc.).