How to apply agile development ideas to other work

foreword

Recently, I got an APP to study "How to Become a Master of Time Management" course taught by Mr. Tang Junjian. I was very inspired. I specially made study notes, and I hope it can inspire you.

agile development

Agile development (agile development) is currently a very popular software development method, and programmers are generally familiar with it. To put it simply, agile development is to continuously deliver working software projects through rapid iteration. It does not seek perfection at one time, but pays attention to continuous rapid iteration.

The core of agile development is to split a large project into multiple sub-projects, or split a large module into multiple small modules, and then launch each small module in batches, run in small steps, and iterate quickly. It is a complete software development cycle.

There are several advantages to doing this:

  • Fast delivery, thus greatly reducing costs.
    For example, a large-scale project does not need to be launched after several years of development. With the agile development method, a simple functional module can be launched in a few weeks, which can be used by customers first.

  • Reduce the cost and risk of requirement changes.
    The needs of customers change frequently. In many cases, customers do not know what their needs are, and they will ask for more after using it for a period of time. Allowing customers to use the software as early as possible can clarify the customer's needs in the early stage of the project. If the requirements change, the cost of early modification is much lower than that in the later period. It is easy to turn around when the ship is small.

The agile development method used in software development has never been expected to be applied to our usual work.

Ways to Improve Work Efficiency

Teacher Tang talked about several methods to improve work efficiency in the course, which are summarized as follows:

1. Divide tasks into specific actions

What is a task?

For example, writing the end of the year is a task.

What is a specific action?

For example, making a phone call to a customer; initiating a leave process are specific actions.

As soon as we see the specific action, we know what to do.

But as soon as we see the task, we will be confused, feel nowhere to start, and don't know how to start. This is normal. Because this is a complex task, not a simple one action can be completed.

We can split a task into specific actions. For example, writing a year-end summary can be split into three actions:

  1. Work summary, summarizing what work you have done and what achievements you have made in the past year;
  2. Ability inventory, which abilities have been improved in the past year;
  3. Next year's plan, next year's specific work arrangements.

After decomposing in this way, we can easily start with the first action.

2. Don’t waste time working hard

don't be a perfectionist

Except for some high-precision industries such as military industry, aerospace, medical treatment, etc., zero error is required. For ordinary professionals, perfection is impossible and unnecessary. Once you really "perfect" once, it is equivalent to raising the expectations of everyone around you. And you only need to be slightly worse next time, and everyone will be very disappointed.

At the same time, perfection comes at a price. With the investment of your time and energy, it may take twice as long to achieve 100 points for a thing that only needs to achieve 80 points.

It seems that you are working very hard, but this effort may be at the expense of seven or eight things that only need to achieve 60 points, and you have no time to do them at all. In this way, the overall output is much less.

Don't delay delivery in order to make one thing perfect. After all, perfection does not exist in theory, and there is no best but better.

Done is much more important than perfect.

Say No to "Scope Creep"

Scope creep is doing things outside of the job responsibilities.

Many people like to be a good old man in the workplace. When others ask him for help, in order not to offend the other party, he agrees regardless of his own affairs. In the end, the other party is often satisfied, but his work is not finished.

Before we do things outside the scope of job responsibilities, we must first ask ourselves if we have done our job well? If not, reject it decisively.

prevent rework

Rework means that a lot of work you did before will be wasted, and a lot of time will be wasted. This situation should be avoided as much as possible.

The reason for rework may be that you did not understand the user's needs, or the customer's needs changed. The worst result is that after we finish all the tasks, we find that we did it wrong at the beginning, and then we have to push it all over again. came.

This is very demoralizing. We need to let customers participate in the project as soon as possible, so that customers can have a clear idea first, so that our generosity will not be mistaken.

So how to avoid the above three situations?

3. Agile working method

This requires agile working methods to save you. The core of agile working methods is an iterative way of working.

It does not advocate "one-step completion", it advocates continuous adjustment and adaptation, and gradually achieves the goal.

Agile working methods include two main points: minimal deliverables and continuous iterations .

Build awareness of "minimum deliverables"

To master the agile working method, first of all, you need to establish a sense of delivery.

Agile working method is a good name. It is easier to understand these two words:

Min → every + text, each function writes a document, which means delivery by function, minimum delivery.
Quick hand → go + go, take over one item, get rid of one item, handle flexibly, never be overwhelmed by too many tasks, and continue to iterate.

This era is the era of mental work, how much you put in, only you know. You may put a lot of time and energy into a job, but if you don't deliver it, in the eyes of others, you are doing nothing.

You worked so hard, but you only moved yourself. At this time you need the minimum delivery.

Why the emphasis on minimum delivery?

This is because plans are not set in stone. We often say that the plan cannot keep up with the rapid changes. In many cases, even the boss cannot be 100% sure of one direction.

More often, perhaps the demand side has not really figured out what they want. If only when he sees your final output, he realizes that his demand is another thing, and then overthrows and starts again, causing rework. Well, everyone's time is just wasted.

Think about it, everyone, is a lot of overtime work caused by rework?

Therefore, you need a preliminary version that can be seen by the demand side at an early stage. It needs to be accessible without being overly complicated. That is, the minimum deliverable version 1.0, which can help you confirm the final requirements and prevent you from investing time in unnecessary places.

Minimal deliverables are a great weapon against rework problems.

When planning delivery nodes, my suggestion is to tighten first and then loosen.

Assuming one thing, if you have a month of preparation time, I suggest that you deliver your plan twice in the first week for the other party to make feedback and adjustments, and then you can maintain a delivery rhythm of once a week, so as to leave yourself room.

Therefore, when you receive a task or project, I would suggest that the first step is not to promise to the other party when to hand over the final result, but to promise when to complete the first delivery.

For example, when you receive a leadership assignment, a more agile answer is "I will start preparing tomorrow morning and give you a preliminary feedback before I get off work" rather than "I will give you the final plan in two weeks."

Continue to iterate and throw out the monkey on your back

After talking about "minimum deliverables", the next step is to seek feedback from the other party and then iterate.

Iteration, in layman's terms, is "delivery" better and better every time.

The feedback here can be your boss, your colleagues, or your customers. You hand them version 1.0, they give you feedback, and you improve.

Continuous delivery of work is the key secret to our ability to multitask at the same time.

Once the job is handed over, the other party needs to start absorbing, giving feedback or processing. At this time, you can go to the next job with peace of mind.

The advantage of this is that, on the one hand, you have a steady stream of output. The partners you work with are always in a reasonably busy state. It's not that everyone is waiting for your time. If you hold back your big move for a long time, what you hold back is not what they want, and many things have to be redone, which leads to rework, and the overall efficiency will be dragged down by you.

On the other hand, every time you are "just right", your time is not wasted.

A figurative metaphor is:

One task at a time is like a monkey constantly thrown at your back. The secret to a smart worker who can accomplish more without being exhausted is that he can always throw out another monkey on his back when picking up a new one. There can only be one monkey on his back, otherwise he would have been crushed long ago.

Take a look at the diagram of agile time management in the course:
insert image description here
If you follow the general mechanical time management, you have to wait for one thing to be done completely before proceeding to the next thing. You have to complete the entire task, and then after handing over the result to the client, you have to wait for the client’s feedback. If the client is not satisfied, you have to modify it and then confirm it to the client. Wait for this task to be completely completed before proceeding to the next personal task. The tasks are serial.

The agile time management method adopts the minimum delivery. We make a 1.0 version and show it to the customer first. After the customer gives feedback, we can start the next thing. Although so many tasks are carried out at the same time, they are not parallel, just like a single-core CPU can execute multiple tasks at the same time. In fact, the CPU switches tasks quickly in the background, but we can't feel it.

We have to throw out the monkey on our back before we can pick up another monkey. At the same time, we have to ensure that there is always only one monkey on our back.

In addition, when facing multiple projects at the same time, I have an experience:

Important things are iterated more, and urgent things are iterated first.

For example, one month later, you will attend an important company-level event and give a speech; two days later, you will give a training to the internal staff of the department. In terms of importance, of course, company-level activities are greater than departmental training. In terms of urgency, it's just the opposite. No matter which one you do first, the other will always be on your mind.

According to the principle of iterating more important things and iterating urgent things first, you can make a version 1.0 of the most urgent internal training materials first, and send them out to listen to other people's feedback on this version.

Then put that aside and start working hard on making the company pitch 1.0. Because after all, there is still a month to go, and then you can slowly iterate to 3.0 or even 10.0 based on the feedback from the leader.

The training of the department may only iterate to version 2.0 in the end, but because it is not that important, 2.0 is enough.

at last

It needs to be emphasized that the agile working method does not advocate "doing many things at the same time".

For most of us ordinary people, it is impossible to perform multiple tasks at the same time in a small block of time. The human brain is like a single-core CPU, which can only do one thing at a time.

Dealing with multiple things at the same time is like your computer. If you open five web pages, six PPTs, and seven Words at the same time, your computer will definitely not run faster.

Although the result of agile seems to be that multiple projects are advancing at the same time, in fact, you are constantly delivering different versions of different projects, and there is still only one task in hand.

Efficient people, although they look busy, are always just doing one thing.

Guess you like

Origin blog.csdn.net/zhanyd/article/details/122979037