Extreme Programming: Do these 12 practices make perfect?

Ref: http://articles.techrepublic.com.com/5100-10878_11-1046488.html

I am a skeptic; I don’t deny it. Some even accuse me of being resistant to change. So when a new development methodology comes along with the amount of hype that Extreme Programming (XP) has generated, I'm slow to jump on the bandwagon.


XP was conceived and developed by Kent Beck, who wrote Extreme Programming Explained, the book based on his concept. The book addresses the issues faced by small development teams working in an environment of ever-changing requirements. Sound familiar?

XP is not so much a standard as it is a series of processes or methods designed to help tackle these issues. Many of the methods suggested by XP followers are intuitive and are already incorporated in some manner within common development environments.

The practices
Advocates of XP identify 12 rules (or practices) to follow during the development process:
  • User stories (planning): User stories can be viewed as a watered-down version of use case. The customer defines the desired features for the new application and describes each feature's business value and priority. These are to be kept brief, with only enough detail to give an understanding of the request. The project team will employ the user stories for cost estimating and project management.
  • Small releases (building blocks): With XP, you develop and deliver the application in a series of small, frequently updated versions. As each new requirement is added, complete the system and re-release.
  • Metaphor (standardized naming schemes): XP systems development requires adhering to a set of standards for items such as variable names, class names, and methods. Employing this system of names should allow for the intuitive understanding of each item.
  • Collective ownership: No one person owns or is responsible for individual code segments. In turn, the code is reviewed and updated by everyone on the team, allowing for a more collaborative effort.
  • Coding standard: All team members write code in the same way, using the same styles and formats. This allows for rapid code sharing and reduces the learning curve for other developers.
  • Simple design: The best design is the easiest one that works. A correct design for an XP system is one that runs all unit and functional tests, meets the business value, and does it only once for each function.
  • Refactoring: Communication between team members is crucial. Each member should have a synchronous understanding of the application and should continually work to adjust and improve the code. This allows the system to be constantly revised without duplicating code.
  • Testing: Each building block (small release) must be thoroughly tested prior to release. Write the tests first and develop the code to meet the requirements of the test. This allows for a clean application in the long term by flushing out problems before they get lost in a large application.
  • Pair programming: XP programmers work in pairs. All code is developed by two programmers who work together at a single machine. The expectation is that pair programming produces higher quality code at the same or less cost.
  • Continuous integration: Software builds are completed several times a day. This keeps all developers on the same page by keeping the application up to date with the most recent coding changes.
  • 40-hour workweek: For XP practices to be effective, developers must be on top of their game. Experience has shown that tired or sleep-deprived developers make more mistakes and are more subject to burnout—resulting in lower-quality code.
  • On-site customer: One of the most important concepts of XP is the need to have the customer as an integral part of the development effort. The customer must be available at all times to set priorities, deliver and establish requirements, and answer questions.

XP is touted as a new paradigm in the development of code by small teams. And for better or for worse, it seems to work. As you review these 12 practices, consider how many of them you already employ. There's a good chance that you've used at least one or two. But while each of these practices can stand alone, you must implement all of them to reap the benefits that XP promises.

转载于:https://www.cnblogs.com/javafun/archive/2009/02/19/1393621.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Extreme programming (XP) is a software development methodology that emphasizes teamwork, communication, simplicity, feedback, and customer satisfaction. Here are some key practices for XP: 1. Planning: Planning is an essential part of XP. The team plans the project in short iterations called "sprints" and they prioritize the tasks to be done in each sprint. 2. Pair programming: Pair programming is a technique in which two programmers work together on the same computer. One programmer writes the code and the other reviews it. This helps to catch errors and improve the quality of the code. 3. Continuous integration: Continuous integration is the practice of integrating code changes into the main codebase frequently. This helps to identify and fix integration issues early in the development cycle. 4. Test-driven development: Test-driven development (TDD) is a development technique in which tests are written before the code is written. This helps to ensure that the code is correct and meets the requirements. 5. Refactoring: Refactoring is the process of improving the design of the code without changing its functionality. This helps to keep the code maintainable and flexible. 6. Simple design: XP emphasizes keeping the design of the code simple and easy to understand. This helps to reduce complexity and improve maintainability. 7. Continuous feedback: XP emphasizes continuous feedback from the customer and the team. This helps to ensure that the project is on track and meets the customer's needs. These are just some of the key practices of XP. By following these practices, the team can improve the quality of the code, reduce the risk of errors, and deliver high-quality software that meets the customer's needs.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值