Is agility another silver bullet?

Source: Internet
Author: User

This is actually a pseudo-problem, because most software practitioners believe No silver bulletBut this concept often needs to be strengthened. As Ivar said, the software industry is a fashion industry. People Constantly package and combine old concepts to create new concepts. In the past decade Object-oriented /UMLThen CMM (I)It is sold as a silver bullet. According to my personal observation, agility has been turned into a silver bullet. So what is agile? Although the concept of agility has been very popular recently, when you ask this question to agile fans, most of them will see a blank face. So I found the following definition in Wikipedia, and I believe that the definitions of other versions are similar: Agile Software Development IsConceptual frameworkFor software development that promotesDevelopment IterationS,Open collaboration, AndAdaptabilityThroughout the life-cycle of the project.In this definition, three elements of agility are pointed out: iterative development, frank cooperation, and self-adaptability. We will analyze these three elements as follows. It should be noted that iterative development is not a new concept or exclusive to agility. RUP emphasized iterative development 10 years ago. In fact, agile has not introduced anything new in iteration, moreover, I have noticed that some misuse of iteration has occurred in the agile context (this topic will be discussed in future articles ). The differences between agile and other iterative development methods in Wikipedia are as follows: Most Agile MethodsShareOther iterative and incremental development methods 'emphasis on building releasable software in short time periods. Agile development differs from other development models: In this model time periods areMeasured in weeksRather than months and work is already med inA highly collaborative manner.Most agile methods also differ by treating their time periodA strict timebox.Honest cooperation is actually the essence of agility. As Ivar said, agility is actually about social engineering. The main contribution of agility is that he thinks more about how to motivate developers' enthusiasm. This is a relatively ignored field in the development of software engineering for decades. How to integrate agility into the entire software engineering system will be discussed in the next article. Self-adaptability is actually a kind of retreat, but a wise and reasonable retreat. For a long time, people have often tried to add project management methods that have been successfully applied to other fields such as construction and machinery to software. These methods often emphasize predictability, but because of the characteristics of the software, it often adds unnecessary costs to the development process. As Walker Royce said, developing software is more like making movies, so management challenges are even greater. The self-adaptability proposed by agility actually reduces unreasonable requirements for project predictability and frees the team to focus on and deliver customer value. Adaptive methods focus on adapting quickly to changing realities. when the needs of a project change, an adaptive team changes as well. an adaptive team will have difficulty describing exactly what will happen in the future. (from Wikipedia)
The following eleven are the basic principles behind Agile Manifesto. You can see that the first four are about iteration, the last six are about teamwork, and the last one is about adaptability. 1. Customer satisfaction by rapid, continuous delivery of useful software 2. Working software is delivered frequently (weeks rather than months) 3. Working software is the principal measure of SS 4. Even late changes in requirements are welcomed 5. Close, daily cooperation between business people and developers 6. Face-to-face conversation is the best form of communication (co-location) 7. Projects are built around motivated individuals, who shoshould be trusted 8. Continuous attention to technical excellence and good design 9. Simplicity 10. Self-Organizing teams 11. Regular adaptation to changing circumstances (from Wikipedia)After learning about agility, how can we face the popular agile movement? First of all, do not turn to God, do not be superstitious, and do not lose yourself. The existence is reasonable. Your first development process and work method must be rational. You should gradually adopt some appropriate practices in agility and carefully examine the rationality and necessity of various artifacts, it is necessary to avoid using agile banners to cut corners (especially by giving up necessary design and architecture work ). At the same time, we should make full use of the revolutionary power and enthusiasm generated by this cultural movement to promote some best practices (such as iterative development) and break some unreasonable constraints on software development activities. In short, be smart.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.