Twelve practical methods and my XP experience

xiaoxiao2021-03-06  15

XP as a method of research and development of young software, it should be able to say that it is always popular. As a software R & D personnel, I agree with the XP concept, XP's philosophy is full of key ideas that make the project success, but a large part is management and communication. XP integrates many best practices, and these strings have made the entire project interest, which also includes XP developers unique to positive attitudes and responsibility. Here I want to describe everyone's personal XP practice ...

Below I write a feeling of 12 best practices in XP:

On-Site Customer. Customer demand is not always constant, often in the demand collection stage is always abstract, even customers don't know what they have, they just provide a contour, we must work together to construct the ideal product. But we are not possible to predict that our needs are true, which is true, which is really unchanging, always has thousands of reasons to cause changes in demand, that is, the changes in demand are essential, it is not Simple can be controlled. The problem now is, but when we change, we have the ability to meet (adapt) it? Now XP has made several best practices to meet changes in demand, and one of them is only on-site customer, through customers' continuous participation in the entire project, we can ensure that everything we do is truly customer want, and We will not waste time and energy in a functional feature. This is a key practice for delivery, paying goods. Note that this best practice is not the customer's 8 hours a day, but we need to answer some demand questions, customers can promptly make comments, give feedback! Small Releases. The above mentioned that a good way to give feedback in time is to provide a preview of the customer software. After all, there is no real customer to make their views on the project we are doing. The XP requires the small release to be used, and the small version is developed through fast and small iteration, then give these small versions to the user experience, collect feedback, and continue the next small version of iterative development according to user feedback, This is a benign loop that guarantees that the project does not walk, guarantees that customers have no prejudice we are doing, and also guarantee the quality of the project because they also have our customers while participating in the test. Simple Design. What is said above is from the perspective of demand, let us look at the development process. We all know that the design is good, and things always keep it, the better, then why don't you choose a simple design? We can quickly understand and develop by simple design. But but simple design is often not very effective. Soon, we will find that the past design is no longer elastic, soon, we can't meet our needs. Here is the time when the XP essence is reflected, there is a limit in XP, which means that no matter what is doing, you have to do the limit. Simple design is no exception, and also constantly iterations, through another simple design, it is constantly changing the design and design quality, will make you unknown to make a super design master The same quality design. (Of course, if you are really bad, even if XP is good, I want to help you) Planning Game. Since simple design helps fast progress, then continuous planning will also help the project. It is difficult to say that architects do a good architecture will not change in later periods, since demand is very likely to change, then the architecture and overall project planning is not a constant. This is the core of XP, XP tells you how to meet changes, how to make the best quality products in rapid changes, truly meet the needs of our customers. System metaphor. To be honest, I just started to really understand XP, so I still don't know this practice, so I don't talk about it here, so I avoid the name of XP! ^ _ ^ Refactoring. I think few people have not heard it in this era? Many aspects mentioned above are based on this idea.

Since the design is good, then we can quickly, small step iterations? Can you make them more robust through continuous improvement of existing code? Most of the current projects will be stiff in maintenance, and the code is increasingly difficult to maintain, sometimes there is something that they all think that it is very ugly to maintain new or modified features, which is this action. The difficulty of the next maintenance, making the code into a vicious circle, making the project's maintenance costs are getting higher and higher, and finally have to give up maintenance and re-develop. XP proposes an iterative restructuring plan, which makes us more refactored to make changes to the code based on the reconstructed code, which makes we don't have to spend too much effort to complete the maintenance of the code. At the same time, it increases the simpleness and healthyness of the code. Pair Programming. Since the design, the review is good, then why don't you review it at any time? Through the review, we can use a number of people to think about problems, find solutions, no doubt, more than just one head, after all, there are more powerful, and have also have educational houses to experiment, prove the discussion in group Learning is more profound, more and more active, and more active in the environments. What is the software development is not so? I don't completely agree to "knot", but I agree that there is a problem, no matter what kind of problem, no matter what kind of colleague, as long as you have questions, then you can ask everyone, see everyone's idea, this Will get you finally get a current best solution. Collective Ownership. In the previous practice, it has already mentioned the concept of this collective ownership. Since you have a problem, you can ask, others participate in your possibilities to you think, then, if you have any problems, you also have problems. Do you want to actively participate in the proposal? This mode that puts multiple brains together is the concept of collective ownership in XP, there is no personal award here, only the common goals of groups and groups. Note that this is the characteristics of XP. XP is people-oriented. XP firmly believes more more important than simple relying technology. After all, there is only the final relying on people's hearts, and the project may get the final success. And as an XP developer also means your personal recuperation and style. Code Standards. The code is seen as a very important tool for communication between developers in XP. After all, the software reflects the teachings of the developers, and the idea of ​​developers has changed to a row code to be written in the program, this is an art. But the art must also have someone to appreciate. If everyone can't understand the art of others, how do you communicate? The collective ownership allows us to improve the code of others, then if there is no unified coding specification, it will not be an easy task. 40 hours a week (40-hour week). XP does not advocate overtime, this can only be a precursor to some links. XP is clearly clear in each fast iteration, what is the next iteration, XP has a high controllability. Testing. The test is the core part of XP. It is an important link in XP. It is also in this reason. I will put two tests in the last introduction, not because they are not important, and the opposite is because they are too important! Testing its fundamental purpose is to ensure quality, tell us everything that doesn't do it, it is indeed feasible. Automated test in XP (often simply valid unit test) is very critical, it has multiple purposes. One of the important purposes is to give us a confidence of developers. It is important to see a row of road lights when it runs automated test after the system changes. XP advocates first testing, each test case can reflect the most exact needs, and the test is also part of the design. Among them, the mystery is really only really used.

Continuous Integration. This is another test method that guarantees quality, through repeated fast integration we can and early discovery of hidden dangers, while continuous integration can also provide us with multiple small versions, so that customers' feedback. This concept is more compiled like Microsoft, but XP does not have a regulation that must be performed once a day, and XP has advocated it every hour or even every few minutes, in short, it is timely integration to give feedback. This is also possible to fully reflect the limit of XP extreme programming! Ok, the above is that I personally have a full understanding of the conclusions after I have a good understanding of XP, supplying you to the reference, my personal and its appreciation of XP is the concept of innovation and its practical use in the project. Although Kent Beck does not advocate the use of best practices in XP (he advocates XP as its concept, it is used as its concept, everything is used, but I personally agree that each organization will consider according to its characteristics Remove or weaken some of the practice to truly use XP to use, not only to stay in everyone, but no one dares to do.

转载请注明原文地址:https://www.9cbs.com/read-48662.html

New Post(0)