Small pace continues to advance
- Thinking and summary of primary development
Lance Zuo, March 2004
Not accumulating, there is no thousand mileage
-
Xunzi, "persuaded"
Completed, completed as scheduled, completed as scheduled, completed as scheduled. After continuous and stable four internal delivery, the Phone Gal 0.2 version of the March 28 working day was over March 2, 2004. From my personal point of view, the final release is satisfactory. Its demand passes seriously verified by business people, its design is simple, and its implementation has passed a more adequate test, and there has not been any problems.
Our small development team includes a business person, a developer, and a total of three testers have participated in. The version is divided into four small delivery. In the development of every delivery, the business personnel, developers, testers are sitting together, facing closely communicating. Before the next delivery plan is started, the business staff completes the functional requirements analysis, and provides a simple document. After learning enough business knowledge, the developer estimates the date and divides the entire delivery into a number of two days, forming a schedule. Every day, we do the following:
1. Business people continue to pay the next demand work and answer other people's business problems at any time;
2. Developers negotiate test interfaces with testers and constantly generate simple code, including unit testing and function test code;
3. Test staff write the test cases and scripts on the same day, if time is sufficient, he can run a simplest use case and let developers solve the problem of exposure.
After all the tasks are completed, the team concentrates on functional testing, solving the problem, and then organizes all output, complete delivery.
what's the difference
For many of us, such a development is a new experience, some of which have a big difference with the idea of the past development process, and the most important thing is as follows:
1. All members are sitting together, face-to-face communication;
2. Introduce full-time business personnel in the team;
3. Test and development is closely combined;
4. Delivery as soon as possible, develop good delivery habits;
5. Advocate clean and simple documents to reduce intermediate products;
6. Overtime;
Missing communication and communication, everyone will become an information on information, here will not have the concept of team. Effective communication is difficult, especially for technicians. Throwing on how to inside the complex emotions of humans and the subtle feelings, if you first create obstacles in the physical location, you will not be able to stay smoothly. Face-to-face communication is the most effective communication, its feedback speed, knowledge propagation speed, communication effect, far non-telephone, Email comparable.
Demand is the most important ring in software development, so it should be attached to it. Not every developer is all versatile, demand capture requires full-time business personnel. Not everyone can do demand analysis, just if everyone can do design, test. Everyone has a different background, and the right person should be arranged to do something.
We pay attention to two types of tests. The programmer is a unit test, and the full-time tester is responsible for completing the function test. The test should be combined with the development of the system, the system is tested at a very high frequency. Whenever there is a new feature to join in, the test will begin. This will ensure that we always have a good software running.
Delivery as soon as possible, the most important purpose is to expose risks. Eleptive choice for the first time delivery to complete, most of the main risks of the system will be discovered at the time of the first delivery. We don't allow missed any delivery date. Once a good habit, a good system will become an idea, naturally. We expect every two weeks, all of our members can hear the "" - all parts of the system are all in place.
Like a detailed design document, there are many documents are expensive garbage. They are asked, not because they are useful, but because they have been required. A small number will pay attention to the design details, and the details should appear in the code editor, where they look more beautiful, easier to read and understand. Different design details are very easy to change, and its maintenance is like a dream, it is necessary to pay a painful cost, and will be a lot of money. The wrong document is like a mistake, you want to fly to New York, but the result is to Paris.
"
There are countless ways to waste a day, but there is no way to take a day. "We oppose overtime, because we hope that every day's development work is like breathing, maintain naturally uniform breathing, there is no need to wear oxygen cylinders. Of course, sometimes we have to breathe, such as one or two days before delivery, this time If you feel uns, you can consider overtime.
Of course, we must admit that there is some shortcomings in our work, mainly the following:
1. Frequent exchanges affect other colleagues;
2. Developing work rhythm is too fast to make adequate unit testing;
3. Functional test is not automated;
4. There is no test in program performance;
5. There is no preparation of some foods as appropriate during development;
6. All members have not been convened at a time when the development ends.
Break the egg
Two years ago, I used to smile my friend, because when he was doing an egg, he broke the egg! In my more than 20 years of memory, my mother never did that, she always puts the eggs after shells into the pot. One day in mid-February this year, I had to hang the problem with eggs to solve my own lunch. I broke eggs because of well known reasons. I found that the egg is broken is not a incredible thing, in fact there is a flavor.
Similar problems in software development. Sometimes we feel that others' thoughts are ridiculous and even stupid, we say how things may be this. So why can't you do this? This, this, oh, I really can't say anything that. It turns out that we have such an idea, that is because our textbook is not that, our supervisor, manager never doing it. Long-term direct education, indirect education, and subtlety have created the intuition and truth in our minds.
Tongli Rome. Experience is very valuable, but the road to success is quite means. Software development methodology has been continuously, and the research of software project management is also non-disclosed. Give up stubborn, stop your eggs.
Remember Huo Shang Effect: When people try new things, they will be better.
Sad monkey
One day in late December last year, I went to meet with a few friends, and the location was in the Shanghai Zoo. Under the warm sunshine in winter, there is no angry in the zoo. I saw the monkeys who were in the cage, they were idling, and the eyes were blotting. Sometimes, the R & D personnel are like this monkey, they are plagued by the full population, and the complex process is controlled, and the frustration of the day is in the next day, youth, passion and creativity are lost with time. At the same time, the team's combat power declined, the company's productivity is declining.
After the fourth release is completed, I told all the relevant people in an email. Our business people ended in such a discourse: in the development process of the entire 0.2, work with Xiaolang, XINGBO, Wuyali and Peishengqiang Happy, I hope we can continue working. Reply to this, what kind of feelings do you have? Please think about such a question before answering this question: people work hard in life, what is it for? Famous, money, or status? Delicious, brilliant, still plain? Maybe you have more answers, but no matter what it is, I know that it is very simple, and you will not be against it, it is happiness.
I have seen many reports on the project, all said that although the process is hard, it is very tired, but how much fruit is seen, people feel gratified. Such comrades are undoubtedly worth admire and respect, but unfortunately, they are not happy, but just because of ending. There are also many unreported projects, people are exhausted, complaining with each other, isolated; the project ended by failure, and people pray that don't work with others in the future. Now think about it, if you are a team leader, the team member works happily, so they have to work together in the same direction, and firmly jelly together, what is better than this more is worth your gratification?
Get happiness, this is human and later. It is necessary to make people happiness, they will not be reversed. After breaking the invisible shackles, after the exchange of frequently, after the frequently efficient ground, the entire team started to continue to advance, they will be able to deliver high quality as scheduled. , Valuable software, experience the fun of careers throughout the process.
Reference book:
1. Tom Demarco & TIMOTHY LISTER. Pieces.
2. Tom Demarco. The deadline.
3. Alistair cockburn. OO project survival law.
4. Kent Beck. Resolution Extreme Programming
- hug changes.
5. Schedule, Model, and Practice of Robert Cecil Martin.
6. Unified Software Development Process.