Recently, many people are experiencing vs2010. I am busy with a lot of things and have not tried it. But I have learned that vs2010 provides more support for agile development. Previously, I thought that agile development could only be carried out by the ideal team in the ideal company. Now, Microsoft has popularized agile ideas through IDE, make agility more deeply rooted in the hearts of the people.
There are only a few short words in the agile Declaration, but it is not that easy.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Practices of an agile developer provides an incisive summary of agile development:
Agile development is constantly using feedback for self-adjustment and improvement in a highly collaborative environment.
Today I will talk about "feedback ".
Recently, I am working on a project. I am the only one. It seems that I am not agile at all, right? Agile teams are usually small teams, but it is not good to be small to one. The ideal team should be around 10 people. Every morning at a stand-up meeting, I reported the progress on my own. It was difficult for others to give comments about the difficulties they encountered because they did not participate. However, they are future customers of this project. At stand-up meetings, I can hear feedback from customers.
This project is a virtualization Management Platform Based on VMWare ESX. One of my major accounts is server administrator C. After discussing system requirements and basic implementation with C, I began to divide the task into the following parts:
1. encapsulation of VMware esx api.
2. distributed controller and Agent control system.
3. Database Design
4. Web Interface
The entire process is planned to be completed within one week and can be launched to provide a basic available version. It seems almost impossible to complete the task, so I started the efficient coding. During the process, I continuously received feedback from "users:
1."You can temporarily use the database system of the original system so that the user does not care where his data exists."
Therefore, the "Database Design" is cut off temporarily.
2."I am most concerned about the most basic application and release functions of the system. As for other details, I may not care about them for the moment."
Therefore, "distributed controller and Agent control system ." It was also cut off temporarily. However, this feedback is too late. I have spent a day implementing and debugging.
3."I hope this data list is arranged horizontally."
When I made the data list ready and showed it to C, he hoped that the list would be arranged horizontally. At this time, I have spent a lot of time in this vertical list.
4."Maybe we can consider using another method."
It was Friday when I heard this crash. When I implemented the system almost, I talked to C and C. After analysis, it is feasible and it is not too late. To some extent, the new scheme is simplified and more feasible.
...
With constant feedback from users, I am constantly correcting my direction so that I can complete it within one week.
Sometimes,
We are not concerned with users.
We think it is important, and users do not necessarily think it is important.
We think it's cool, and users don't have.
We don't think so. users think it is very important!
Therefore, make the software most desired by the user and pay attention to the feedback from the user. If possible, add the user to the development of the team. This is what the agile Declaration says:
Customer collaboration over contract negotiation (customer collaboration is better than contract negotiation)