Extreme Programming - Toward Limit
March-Bird Lucian Yjf Taopin WL Jazz Han Wei Nullgate Simon [Aka] (Reprinted from Cutter.com) September 15, 2003
Conclusions: Going to Extremes conclusion: to limit Orr and Cockburn each describe their approaches and experience with lighter methodologies But earlier, in describing Chrysler's C3 project, I alluded to the difficulty in extending the use of approaches like XP or even RAD In every.. survey we have done of eAD subscribers, and every survey conducted of software organizations in general, respondents rate reducing delivery time as a critical initiative. But it is not just initial delivery that is critical. Although Amazon.com may have garnered an advantage by its Early Entry In The Online Bookstore Market, IT Has Maintained Leadership by Continuous Adaptation To Market CONDitions - Which Means Continuous Changes To Software. Orr and Cockburn have described their lightweight methods and experiences. However, when describing Chrysler's C3 project, I indirectly mentioned that there is difficult to extend the use of XP or even RAD. In all surveys made to EAD's subscribers and all software organizations, the rapid response speed, and the release time is a key start. But this is not to say that only the first release is the key. Although Amazon.com has an advantage because of earlier access to the online bookstore market, it must continue to adapt to market conditions in order to maintain its leadership. . Deliver quickly Change quickly Change often These three driving forces, in addition to better software tools, compel us to rethink traditional software engineering practices -... Not abandon the practices, but rethink them XP, for example, does not ask us to abandon good software engineering practices. It does, however, ask us to consider closely the absolute minimum set of practices that enable a small, co-located team to function effectively in today's software delivery environment. rapid release rapid changes. frequent changes. Through these three drives, coupled with better software tools, forcing us to rethink the traditional software engineering practice - not to give up them, but reflect them. For example, XP does not have to abandon better software engineering practices. On the contrary, it requires us to think deeply, and in today's software publishing environment, small collaborative teams can efficiently operate the minimum environmental requirements.
Cockburn made the observation that implementation of XP (at least as Beck and Jeffries define it) requires three key environmental features:. Inexpensive inter-face changes, close communications, and automated regression testing Rather than asking "How do I reduce the cost of change ? "XP, in effect, postulates a low-change cost environment and then says," This is how we will work. "For example, rather than experience the delays of a traditional relational database environment (and dealing with multiple outside groups), The C3 Project Used Gemstone, An Oo Database. Cockburn Observer Discovery, XP (at least Beck and Jeffries defined) implementation requires at least three environmental features: interface modification does not bring expensive price, close exchange And automatic regression test. In fact, XP is not asking "how I should reduce the cost of change", but ask a low-alive cost environment, and then say "we will work". For example, the C3 project uses object-oriented database GemStone instead of using a traditional relational database (and dealing with multiple external groups). Some might argue that this approach is cheating, but that is the point For example, Southwest Airlines created a powerhouse by reducing costs -.. Using a single type of aircraft (Boeing 737s) If turbulence and change are the norm, then perhaps the right question may be: how do we create an environment in which the cost (and time) of change is minimized Southwest got to expand without an inventory of "legacy" airplanes, so its answer might be different than American Airline's answer, but the? Question Remains An Important One. Some people may say that this method is deception, it is true. For example, Southwest Airlines uses the same type of aircraft (Boeing 737) to reduce costs when creating a power chamber. If turbulence and changes are standard, then the correct problem may be: How do we create an environment that leads to the lowest change cost (and time)? Southwest Airlines in the expansion of the aircraft inventory. For US airlines, the answer to this question may be different, but it is still an important issue.
There Are FROM THISS: In this discussion about XP and lightweight methods, we can get the following five main points: for projects this must be managed in high-speted, HIGH -Change Environments, We need to reexamine Software Development Practices and The Assumptions Behind Them. We need to re-examine related software development practices and corresponding assumptions. Practices Such As Refactoring, Simplicity, And Collaboration (Pair Programming, Metaphor, Collective Ownership) Prompt US to Think in New Ways. Improved, simplified and cooperative (paired programming, metaphor, code sharing), etc. Reflections on the new ideas. WE NEED TO RETINK BTHHOW TO Reduce The Cost of Change IN Our EXISTINGENTS AND HOW TO CREATE New Environments That Minimize the cost of change. Not only need to rethink how to reduce changes caused by changes in existing environments, but also need to re- Consider how to create a new environment, which can minimize change costs. In Times of High Change, The Ability To Refactor Code, Data, And Whole Applications Becomes a critical Skill. Ability to code, data, and entire application reconstruction will become a key skill. Matching methods to the project, releating on people first and documentation Later, and minimizing formality islated. Apply the method to the project to go, first rely on people, rely on documents, and minimize formal things, thus effectively method combined with projects Editor's musings editor contemplation (the Editor) Extreme rules! in the middle of writing this issue, I received the 20 December issue of BusinessWeek magazine, which contains the cover story, "Xtreme Retailing," About "Brick" Stores Fighting Back Against Their "Click" COUSINS. IF WE CAN HAVE EXTreme Retailing, Why NOT Extreme Programming? Extreme Rules. In the process of writing this article, I have received a business week magazine issued on December 20. Among them, there is a cover story, "extreme retail", about the "brick" shop counterattacks their cousins "Click". If we can have extreme retail, why is not extremely programmed?
Refactoring, design patterns, comprehensive unit testing, pair programming - these are not the tools of hackers These are the tools of developers who are exploring new ways to meet the difficult goals of rapid product delivery, low defect levels, and flexibility Writing.. about quality, Beck says, "The only possible values are 'excellent' and 'insanely excellent,' depending on whether lives are at stake or not" and "runs the tests until they pass (100% correct)." You might accuse XP Practitioners Of Being Delusional, But Not Of Being Poor-Quality-Oriented Hackers. Reconstruction, Design Mode, Fully Understanding of Unit Tests, Pairing Programming ---- These are not a hacker tool. They are new ways to explore developers in order to solve the product's rapid release, while maintaining less defects and flexibility. Regarding quality, Beck says, "only is valuable: 'excellent' or 'extreme excellent', depending on its influence of software product survival", "and" execution test until they pass (100% correct ). You may be able to accuse the XP's practitioner is blinded, but they are not a hacker who do not pay attention to quality. To traditional methodology proponents, reducing time-to-market is considered the enemy of quality. However, I've seen some very slow development efforts produce some very poor-quality software, just as I've seen speedy efforts produce poor-quality software Althought, I Think IT IS A MUCH More Complicated Relationship Than We would like to think. For supporters of the traditional approach, the shortening time is the enemy of quality. However, I have seen some software that has been slow and very poor in quality, just like the software I have seen so fast, but the quality is low. Although there are some obvious contacts between time and quality, I think this connection is more complicated than what we generally imagine.
Traditional methodologies were developed to build software in environments characterized by low to moderate levels of change and reasonably predictable desired outcomes. However, the business world is no longer very predictable, and software requirements change at rates that swamp traditional methods. "The bureaucracy and inflexibility of organizations like the Software Engineering Institute and practices such as CMM are making them less and less relevant to today's software development issues, "remarks Bob Charette, who originated the practices of lean development for software. conventional method can be used to develop little that the degree of variation And the software of the final result is expected. However, the business world is a change of unpredictable, and the traditional development method has not been able to meet the requirements of the current fast-changing software demand. Bob Charette, the founder of lightweight software development practices, believed that "Due to the organcia, stubborn, and practices such as CMM, it makes them developed from today's software development. AS BECK POINTS OUT IN the introduction to his book, the individual practices of XP are drawn from well-known, well-tested, traditional practices. The principles driving the use of these practices, along with the integrative nature of using a specific minimal set of practices, make XP A Novel Solution To Modern Software Development Problems. Like Beck, it is pointed out in the introduction written in his book. The independent practices in XP are from famous, very good test, traditional practice. These principles drive the use of practice, with a special practice minimum set of natural integration, making XP a new solution to solving modern software development issues. But i must end with a cautionary Note. None of these New WITESE NOW practices has much history. Their successes are anecdotal, rather than studied and measured. nevertheless, I firmly believe that our turbulent e-business economy requires us to revisit how we develop and manage software delivery. While new, these approaches offer alternatives well worth considering But I have to make an end language with a warning. All these new practices have no long history, and their success is like the escape matter, and there is no research and metrics.