1 Introduction
Now, even if the IT budget is greatly reduced, the pressure of IT managers is still increasing. At the same time, the business environment is continuously changed at a very high speed, which makes IT hard to keep up with this change. These changes have caused great interest in agile software development methods with "fast release and flexible and high quality maintenance".
Agility Method (XP, Scrum, Feature-Driven Development "strives to reduce the cost of changes in the software development process. For example, XP uses a fast iterative plan and development cycle to generate the most valuable feature as soon as possible. In addition, continuous, systematic testing in XP ensures high quality, discovers defects and corresponding solutions as soon as possible.
Although agile methods brought early successful cases, there are still many factors that hinder them widely adopted. Advocates of agile methods often discovered that in application development, it is difficult to manage dynamic changes. These methods require developers, managers, and users to change their work and think. For example, it is difficult to accept the relationship, TDD, continuous integration, and ON-Site customer representatives in XP practice. Moreover, these methods are more inclined to be centered on developers, and do not seem to pay much attention to the management role.
However, practice proves that strengthen management is the key to agile methods being successfully adopted and applied, while traditional project management methods and tools are missing from these new agile methods. This low-relevancy is the symptoms of deep problems. These deep problems are in: differential assumptions for processing changes, control, command, organization, personnel, and solutions. Traditional management theory assumption:
l Management changes need to be strict process
l The hierarchical organizational structure is a way to establish an order
l Strengthen control can get better order
l In the "Project Group" machine, the person is "part" that can be interchanged.
l The problem is mainly solved by task segmentation.
l The project and risk can be fully predicted by the prior complex plan, and managed
In this context environment, there is no strangeness that is free, equally, and solving problems exhibited by new methodology. In this unexpectedity between this traditional management and agile development methodology, agile method will be gradually adopted. Similarly, these hypothetical changes and new management frameworks in the agile method are also very significant.
In the process of looking for this new framework, we strongly realize that there is a new discipline based on "complexity theory".
Management principles.
The new discipline of "complexity theory" is actually generated in the process of researching existing systems, mainly to explore understanding of human autonomous behavior.
.
In particular, we have begun a complex adaptation system (
CAS
The concept is integrated into our management assumptions and best practices.
"
Scientists of complexity Theory has studied collective behavior in existing systems, such as birds, fish, ant colons, and bee. They found that when individuals in these complex adaptation systems have local strategic principles and capabilities, Their collective behavior is more complete than individuals with more complete order, self-organizational and higher. This CAS theory is successfully applied to economic and life science, and is now also used for management.
The concept of this CAS makes us inspiration: In the XP team, the project manager also needs a series of simple guidance practices to provide a framework and managed under this framework, not a series of strict instruction. According to this practice, the manager becomes an adaptive leader - determine the direction, establish a simple-generated system standard, and encourages sustained feedback, adaptability and collaboration. This management framework provides a series of content to achieve agile methodology, including:
l In team management, team members are proficient in Stakeholderl autonomous team collective ability to solve the problem's basic mechanism.
l Minimize the prior plan as much as possible in front of the unpredictable hypothesis, and strengthen the ability to adapt to changes
2 Question: Project Management as a traditional task distributor
The generation of traditional software lifecycle development methodology is because we have to control increasing development projects, as well as assessment and management of workload to produce reliable products. These methodologies come from some of the principles in building engineering management. As a result, they emphasize the predictability (when building a bridge, the engineering designer must design the bridge), and is a linear development cycle (ie, demand, analysis, design, development). Based on this predictability, they take a simplified method of deterministic, which depend on task decomposition, and is based on stability (ie, stable demand analysis and stable design). As a means of project control, this rigid manifests is compliant.
In the past, some companies used these methods and now it is now available. For many, these methodologists are only increasing cost and complexity, but it gives people a wrong security - management is through detailed plans, metrics, and control. Huge cost was wasted in a premature plan. We recognize that rapid iterative development and the continuous feedback from users are the premise of today's project to achieve success.
The following example is recognized as a representative of the failure of the original methodology: "London Ambulance System" and "But the Buddha Baggage System", huge cost overrun and mover. Let's take a look
Survey of CHAOSH organizations. In the first survey, successful project
18
%,
31