Today’s Information Technology (IT) manager is under ever-increasing pressure to deliver results – in the form of applications that drive improvements to the bottom line – even while IT budgets are being significantly slashed. Meanwhile, despite the fall of the Internet economy business environments continue to change at a rapid pace leaving many IT shops struggling to keep up with the pace of change. These changes have led to an increased interest in agile software development methodologies with their promise of rapid delivery and flexibility while maintaining quality. Agile methodologies such as eXtreme Programming (XP), SCRUM and Feature-Driven Development strive to reduce the cost of change throughout the software development process. For example, XP uses rapid iterative planning and development cycles in order to force trade-offs and deliver the highest value features as early as possible. In addition, the constant, systemic testing that is part of XP ensures high quality via early defect detection and resolution. In spite of some early success with agile methodologies, a number of factors are preventing their widespread adoption. Agile methodology advocates often find it difficult to obtain management support for implementing what seem like dramatic changes in application development. These methodologies require developers, managers and users alike to change the way they work and think. For example, the XP practices of pair programming, test-first design, continuous integration, and an on-site customer can seem like daunting changes to implement. Furthermore, these methodologies tend to be developer-centric and seem to dismiss the role of management in ensuring success. As managers of several successful XP projects, we have found that strong management is absolutely critical to the successful adoption and application of agile methodologies. But we have also discovered a lack of alignment between the methodologies and tools of traditional project management and those of newer agile methodologies. Furthermore, we believe this misalignment is symptomatic of a deeper problem – differences in fundamental assumptions about change, control, order, organizations, people and overall problem solving approach. Traditional management theory assumes that:
|
My Blog Title
|