Keeping Software Soft makes software soft

zhaozj2021-02-16  51

Martin Fowler's article: Keeping Software Soft

Let the software go down (huh, the name of the translation is somewhat strange)

Original article:

Http://martinfowler.com/distributedcomputing/soft.pdf

Here is a Chinese translation:

Let the software go soft

Keeping Software Soft

Martin Fowler

Translation: Liu Wei

Thursday, July 4, 2002

Remember your first writing? I can remember: I knocked into some statements

(Written in some stupid language), do a little

Debug, my machine will respond to me. At that time, you can easily calculate it.

Machine do something, and change the program, let

It's too easy to do anything else, but just change a change program, do a point debugging. do not forget,

Total, the software is to be soft.

Of course, the absolute variability of the software is a fantasy. Many times, a software developer and

The difference between a normal person is

As: software developers know how difficult it is. In fact, it is really difficult to change the software.

How hard is it

Don't let it collapse.

People who do software doing software have been aware that this is why temporary design

(Ad hoc design) - when procedures

Write here to design - not suitable for a large system.

In order to solve this problem, software developers are inspired by other engineering disciplines.

. In these disciplines, design process and construction

The process is clearly distinguished. Communication for designers and builders is through design

What to build something, how to build

In these drawings.

Most of the software development methods are based on this idea. No longer temporary design

We have a new way.

I call it UP-Front Design. That is to say, before writing the program, once the design is completed

,Start

When writing a program, you should not have a major design change. Of course, the change is inevitable.

, But the pre-design process is clear

The purpose is to minimize this change as much as possible.

It is difficult to let these design as complete as possible to avoid major changes in the future.

And major changes tend to

Worse. There is a practical problem here - it is difficult for the design from the beginning.

.

There is a most fundamental problem with the reality of demand changes. Sometimes, I have to go to investigation, some of the missing items

That is a look

Make a way to let them get rid of the sea. Whenever, in this case, I will go and these items

Developers talk, I get it,

It seems to always complain about crying: "Customers are constantly changing demand"

. This always makes me feel very strange, I am strange,

All people are surprised by changes in demand. I have never encountered a real project.

It does not change. Even if you let

Users use blood to sign on demand files, no matter what blood type

Eventually change.

Users change their ideas and have the following reasons. One reason is: a system to develop

What will be something like?

It is difficult to say that it is difficult to say. Only when it is in front of you, you can use it to do actual

Work, you will find what function is

Really useful, what function is useless. Another reason is business changes

It is still a very important requirement for six months.

Because business changes, it is now possible to become a secondary demand. More people are more annoying

Some users have written some small programs themselves: I have written a little in VB, so they think that software modifications are easy (and

They have never dealt with a real system with many problems, interdependent

However, professional programmers must be dealt with.

For many people, this is a problem that the demand project must face. We need more good at things

First make a clear demand, put more time

Flowers in the need to clear the needs and keep up with the development of new technologies. I have also believed in this way.

But now I have concluded that this is

It is impossible to achieve, at least for a period of time.

There is another key issue, here you need a balance, what do you want?

How much is you prepared? If you buy a car

The car sales personnel tell you: "Do you want to be a ceiling?", Then you have to ask the first

I may be: "How much?"

If it is 20 yuan, then give me a good, if it is 20,000, then I would rather don't. So, unless we give one

More precise valuation, otherwise the customer is impossible to fix the demand. Unfortunately