Ten big mistakes in agile development
Original: Http://www.computerweekly.com/opinion/The-top-10-myths-about-agile-development
Peter Measey
Translator: Zhang Sb er http://blog.csdn.net/xinxing__8185/article/
Absrtact: For the rapid development of agile software development field, this article will be the most common error understanding of the analysis.
In today's global market context, how to be flexible, for an enterprise, has become critical, therefore,it system flexibility is essential. The goal of agile development is to enable organizations to respond in a timely manner to the growing opportunities and challenges of today's business world, in whichIT has become a key contributor.
The term "agile" is defined in the Agile Manifesto as a 4 - value and a three -rule (see http://agilemanifesto.org/ )。 The manifesto provides a definition of a collectively defined, with many other delivery and management frameworks, such asScrum and extreme programming.
The error cognition in agile development
For any framework or method, as time goes by, the wrong understanding and understanding of them may gain trust and recognition, and then become common sense.
Error 1--"agility" is a new concept
"Agile" is certainly not a new concept. Agile methods have existed for a long time. Now collectively referred to as "agile" frameworks, mainly developed in the late years and The age of the year , which means that agile development is already very mature, is a familiar method that many people have. In essence, "agility" is the ability to test and adapt to the variability of dynamic environments. This is a fundamental principle in many theories, for example, evolution. It is also the way that humans interact with the world on a daily basis-in fact the only way that humans can effectively interact with this complex world.
Error 2--implementation of agile development is easy
It's not always easy to turn a complex system's delivery cycle into something simple. Organizations (using Agile development) find that complicating things is often easier than simplifying them.
Unfortunately, in some organizations, they try to "copy books" to implement an agile operational model or a single agile framework without understanding the complexities of using agile development. As a result, these organizations either failed to achieve "agile", or achieved some success, more efficient response to change, but paid a higher cost and pain.
Error 3--Agile development is a quick buck
Although the use of agile development can bring great benefits, but the reality is that most of the flexibility needs to go through the law of learning curve. When people and organizations are learning, the ability to deliver may also decline before the step changes, and the ability to deliver will only begin to improve when the transition is experienced.
Error 4--Agile development means no development documentation
This misconception may stem from a misunderstanding of the Agile manifesto, which says, "We value writing software over comprehensive development documentation." The manifesto, however, is not to say that developing documentation is not needed, it simply emphasizes focusing on developing software rather than spending too much time on creating detailed upfront development documentation, which is important to understand.
All effective agile delivery should be considered and focused on targeted, value-driven, commercially beneficial documentation to enable the enterprise to effectively use the product and enable the technical team to continue to support and maintain the product. Failure to retain the appropriate documentation is a typical example of technical debt.
Error 5-Agile development means "splicing" code with little or no architectural or design thought
"hacking" in agile methods means piecing together an IT system, with little or no design or architectural thought at all. The Agile Manifesto states: "Constant attention to technical excellence and good design can improve agility", and many agile development frameworks provide tools and technologies that allow teams to write high-quality code. For example, in extreme programming, many of the practices are targeted to ensure the quality of delivered products that meet the intended needs.
Error 6-Agile development is the most effective technology
Agile development is not a common solution for all IT problems . IT There is no single solution to the problem, and the key to solving the problem is how to integrate different frameworks, where each framework provides a partial solution. Delivery and management implementation must be pragmatic, such as agile development. The implementation and use of the entire system must recognize the real-world environment in which it is located, while taking into account the best integration of agile and non-agile frameworks, as the integrated systems will operate in real-world environments. A single "Magnum" framework does not exist.
Error 7-Agile Development: Reading a book is enough.
By simply reading a book, it is not a good idea to understand the concept of agile development. Of course, it's a good idea to choose and read some of the books the experts have. But reading only books is not a substitute for actual combat experience, for want to really grasp the "agile" mode of thinking, and successfully turn an organization or team into an "agile" development model, combat experience is crucial.
Error 8--"agility" involves the delivery of software only
The Agile Manifesto does describe the concept of "agile" in software delivery scenarios, but the concept of "agile" can be used not only in software-related areas, but also successfully in business environments. In essence, the "agile" mindset is applied in any dynamically changing business environment, such as marketing or business change.
Error 9-Agile development should replace everything in a big bang
When agile development is applied to large projects, programs, or entire organizations, there is a significant risk that the benefits of an agile development model may not be perceived or understood. Organizations and their employees often continue to do what they have been doing, but think they have used a "agile" approach. Transformational ability is a long-term process of learning and changing. Companies are developing, and the best way to do business is also changing. Therefore, after a big-bang "agile" transformation, it is a mistake to assume that further improvements are no longer necessary.
Here is an interesting quote from Albert Einstein about the definition of Madness: "Madness is doing the same thing in the same way, expecting different results." ”
This is a good summary of the failed Agile development transformations, which are still doing what they were doing before, even though they didn't actually change anything, but looked forward to added value.
Error awareness -Agile development means no planning, just
The vast majority of agile frameworks involve regular, regular, and evolving planning. If a team is primarily doing maintenance work or bug fixes, or producing a product that does not require any further changes in customer requirements within a few weeks, they may only need to plan in a single iteration /sprints .
If the customer only needs to know roughly how long the product will be delivered in the time period and how much cost, the team can plan for the release of the product that contains the iteration /sprints .
If there is a release plan, a high-level agreement will replace what the product will be delivered to, and how much time and costs such issues are important. However, agreements and plans should be set to allow for change, as there will be ongoing planning.
If the customer needs to understand the product baseline definition at the minimum time and cost, this may be delivered in multiple releases or agile projects. If an agile project is launched, then the baseline definition and plan for the product will be required. However, these are purposefully retained at higher levels of development, because in this case, it is assumed that there will be more changes than the product understanding.
"Agility" is not "what you want to do" – it requires effective planning and re-planning.
As you can see, these common misconceptions could be a barrier to people trying to implement agile development in the company. But as long as you are aware of the above misconceptions and in mind, chances of achieving better results in agile development will be greatly improved.
10 big mistakes in agile development