Product prototype for agile development in the entrepreneurial stage

Source: Internet
Author: User

Less than a few months after the establishment of the company, a total of three people, decided to do an automated testing software on a mobile phone, the goal is to write a program on three mobile platforms at a time, this is an automated testing program written in natural language. The product introduction video is IQA introduction.

 

This is the result of our two-month R & D. We adopt agile R & D methods:

1. First, the team had several discussions and had a rough understanding of the issues that should be solved by the product for the customer. During the discussion, I did not know what the final product should look like. I only knew that the platform should be cross-platform and that natural language programming should be used. At that time, I had already met the customer's explicit requirements. In order to avoid endless discussions, you must first know the functions as agreed.

2. after clarifying the goals of the first stage, we held a half-day meeting to brainstorm what should be done to achieve cross-platform, automated testing programs written in natural language. At this time, we do not estimate the task time.

3. after all the tasks are completed (that is, brainstorming can no longer think of new tasks, there must be omissions, it doesn't matter, after all, you still don't know what to do ), we set the first-stage delivery date (dead line)-February 1, April 15.

4. next, we will estimate the estimated time of all items and the time of many tasks is not well evaluated, because the team members are not familiar with iPhone, Windows Phone, and Android development, and even the two members only use Windows, mainly. NET development background, not familiar with Mac, Linux, Object C, and Java Development, or even never touched it. Therefore, we only predict the task time we understand. Each task is divided into 1 hour, 3 hours, 5 hours, and 8 hours, to put it bluntly, it is completed in one hour, one morning, one afternoon, and one day. This is because: "If you have a thorough understanding of the task, it must be subdivided. If not, it means you do not fully understand the task. Why do you want to do things that you don't understand while business is gaining benefits ?"

5. A small meeting is held at every morning to review the tasks completed yesterday, the tasks to be done today, and the problems encountered yesterday. Generally, as long as a task encounters obstacles during R & D, we just cut it down, And the principle is to only understand things. Every day, we will estimate the task's working time, because with the gradual development, the team understands new things.

6. Another reason for sticking to the meeting every day is to urge the team members to make progress every day, so as to avoid the team members from exploring a problem too deeply.

7. sometimes, during the R & D process, team members may argue about the common things of the three platforms. If a consensus cannot be reached and the dispute is shelved, a temporary solution should be found first, the dispute is placed in the next stage. Because of the dispute, it means that the Team has not understood the dispute.

8. After the completion of Phase R & D, a summary meeting (or postmortem meeting) will be held. There are only three agenda items:

A) In the last project, where did we do better?

B) Where can I improve my performance if I do not do well?

C) What should we do next?

 

The team members take turns to speak and the host will record the meeting.

 

In general, the results can still be delivered on time, achieving the initial goal. However, at the conclusion meeting, we found the following problems:

1. The team is not clear about the final goal of the entire product. With the completion of the first stage of product R & D, the team is now more open-minded and can list more functions.

2. During the Ching Ming Festival, three people were originally scheduled to go to Phoenix for development. A member was not allowed to go due to an emergency in the middle of the festival. I went to Wuhan in advance because of other potential business opportunities. I planned to go south to Changsha and join my girlfriend in Zhangjiajie. Phoenix joined the team members. The team was initially established and needed to work in a timely manner and could not be distributed for development. However, my girlfriend asked the company for a few days in advance to prepare for the tour. During the travel period, I used my laptop, iPhone, and my team to deploy the Distributed Source Code server (mecurial) of Shanda cloud server to complete the original R & D task and call the third-party meeting through QQ voice. Even so, the communication effect is much worse, so my girlfriend is eager to return to Shanghai after the holiday ends.

 

Experience gained from this R & D process:

1. The team needs to have a source code server on the public network. It is recommended that mecurial and SVN cannot be used for distributed development. It is too painful to check in and merge, and the GIT learning curve is a little steep.

2. Each team member needs a means of wireless Internet access. Each team member is equipped with a wireless network card to cope with sudden distributed development cooperation needs.

3. it is developed using TDD, but not every class is written to test cases before implementing the class. For some complex classes designed, TDD is used. During the debugging process, for bugs found, an automated test case is added for regression testing.

 

Disadvantages:

1. The Code review mechanism is not well done. On the one hand, the team may not be able to buy services for multi-person online conference systems such as WebEx and livemeeting due to time division. On the other hand, there is no good tool, because everyone is willing to sign in, push, and push without email notification (there is no time to set this function, the shelve changes function of mecurial is not available yet ). However, during the R & D process, I still have the opportunity to use QQ's remote help for code review between two people.

2. Of course, there are still many shortcomings, because it does not matter if you share your experience with this article.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.