Agile development as I know it

Time:2020-2-9

The first job of internship is to work as a game client intern in a front-line game company. It is undeniable that a large company may need to improve and advance its management system. After a full year of internship, it’s almost half a year of client interns and half a year of project management interns. Let’s talk about my own views on agile development.

 

1、 Daily station meeting

When I first arrived at the company, every morning I found that the server group next to me was at 10 o’clock on time. Everyone stood together and whispered for more than ten minutes. Occasionally, I would draw pictures on the white board next to me, and then I would disperse. After observing for a long time, I didn’t even know what they were doing. At first, I thought that the server group was chatting together every morning. Later I asked them what they were doing? The same is true for our clients. I just know that we are doing one thing – daily site meeting in agile development.

1. Time problem: the start time of the station meeting is generally within half an hour before work, or 15 minutes before lunch. The meeting can be held within half an hour before work, so that everyone can put into work immediately after synchronizing the information. The 15 minutes before lunch is to let everyone communicate efficiently under the premise of eating. The length of time is generally 15 minutes, which needs to be controlled by someone.

2. Purpose of the station meeting: the purpose of the daily station meeting is to synchronize information efficiently, so as to facilitate the work of the whole day. Usually, the form is that everyone talks about what he did yesterday, what he did today, and the difficulties he encountered. After a round of standing meeting, the team can complete the operation of synchronizing information efficiently.

3. Number of standing meeting: normally, a small team should be kept within 10 people. In order to improve everyone’s sense of ownership, each person should take turns to be the host of the standing meeting. The host is mainly responsible for controlling everyone’s speaking time and changing the task status on the whiteboard.

 

2、 Use of Whiteboard

 

The frame of the whiteboard is roughly the picture above. During this period of time, our project will be divided into stories, and each story will be divided into small tasks. Story is generally a function, and the working hours are about a week, while task is the result of continuing to split the story. The granularity of splitting is generally a task to ensure that it can be completed in a working day. We divide the task status into todo, doing, done. For each task, we use a task sticker to mark the details. The content includes task start date, estimated working hours and person in charge. You need to use the color of the sticker to realize the urgency of the task, that is, priority (Red > yellow > Blue), and then update the status of the task every day according to its status.

Why whiteboard? The biggest factor is that it is convenient for team members to know clearly what our recent big goal is, to orient their work to the goal, to know their role in the team, and to know the criticality of what they do to the big goal of the team. Secondly, information synchronization to know what team members are doing

The above two reasons also determine that the form of whiteboard is not immutable, but constantly optimized, so as to achieve the most suitable use for the team.

3、 Embrace change, respond quickly

Because the development of Internet products is full of uncertainty, in the existing development process, it is very normal to have some emergencies. According to the previous waterfall development, product function, prototype design and delivery development, at this time, the development starts its own work according to the detailed documents, and PM seldom contacts this matter. But the problem comes. After the product development goes online, it may have been a year and a half. So do you still have a big premise for the initial design of your online product? If the premise exists, are there any other influencing factors? Often at this time on-line products are not suitable for the requirements of the market. So waterfall development is obvious. But waterfall also has advantages. Programmers like waterfall, because the agreed function points will not change later, which is very friendly to the development work. What about agile development today? PM will put forward new ideas at any time, maybe not rush to go online, but the design of the whole product is never agreed in advance, but constantly optimized.

Because of the uncertainty, developers often take a negative attitude towards agile development. But the goal of the team is to make a good product suitable for the market, so agile development is a good choice.

We’re here to promote “embrace change, respond quickly.”. It requires some soft skills to pass on this kind of innovative thinking to the whole team. When we find a design that needs to change, we accept it and react quickly. Because our work is goal oriented, and the big goal is a good product.

To be continued….

 

 

Recommended Today

Go carbon version 1.2.0 has been released to improve and optimize the multi scenario support for orm

Carbon is a lightweight, semantic and developer friendly golang time processing library, which supports chain call, lunar calendar, Gorm, xorm and other mainstream orm If you think it’s good, please give it to a star github:github.com/golang-module/carbon gitee:gitee.com/go-package/carbon Installation and use //Using GitHub Library go get -u github.com/golang-module/carbon import ( “github.com/golang-module/carbon”) //Using gitee Library go get […]