Process is just a legend - the theoretical basis of Agile Methodology

I am here to say that the process is the traditional serial software development process.

Do anything, we eventually want to get a result. A girl, goal is to Zhuidao Shou, a lover, or wife. The car, eventually hope to be able to open up a car. Do software, I hope we can use the last output of a software product.

That is, we want a good result.

Then how to get good results?

The answer is to rely on other people.

Why rely on people?

Because everything in this world who create, people to access information, people use their own minds on information processing, that is, thinking, and then generate decision-making, and finally, brain-driven people's behavior and create value, and other people impact.

A person capable of handling it?

The existence of such a possibility, but today's society needs the software has been far from the era of personal heroism.

Thus, it should be distributed to more than one person, that is a team to do.

How does the team do a thing?

Because the thing is a thing, but many individuals do their work between the associated. This need to determine what to do first, then do, who does what specifically, how to do everything child. The beginning, Joe Smith, John Doe, Wang 5 anything to do with high efficiency. But:

More and more things, how do?

A dedicated seating on it, John Doe has been responsible for doing B, Wang C five to do it.

There is still more and more, more complex, Zaban it?

Joe Smith can be found in the work of A into A1, A2, Joe Smith 1 can specialize in A1, seating two specialize in A2. Similarly John Doe work done divided.

This time, we found that because of divisions are more fine, do one thing, several people need a little chaotic country?

Human beings are the most intelligent, we found that all the time to do things, do first do A1 A2, then B1, B2, B3, C1, D1. . . , Regular Yeah!

Thus, Ga bang!, Process, the greatest invention of mankind was born,

A1-> A2-> B1-> B2-> B3-> C1-> D1

Puts the rhythm, "oh, process, process, process, It 's so great, great, great.

I love you, yes, that's it ....":

Each of us is so, like wood piles, squatting there, like a passive hunter. Eyes eyes opened, and a closed, one day later. Call it a day, Shanggong. As B2, I am only interested in B1, B3, others to me, is the mist flower, tis looks very beautiful, very hazy narcissus.

In this way the company started operation in the traditional good. Obviously, we can tell the nature. A1 and A2, A2 and B1, the boundary between nodes and nodes are defined, and is visible and tangible. Like making cars, vehicle assembly, I can see the engine is visible and tangible, can be tested.

Far the most critical are: the engine is part of my future automotive products.

Back to the software development scene, it is also so in demand is the demand for document output, system output is a sub-sub-system documentation, development of production code, test test test case output,

But all of these on the end users of software products, what is?

As in the processing of scrap materials, products, intermediate products, because it ultimately did not become available to users as part of products and services. Oh, but the user manual seems to be considered part of that. I think this is the distinction between software and traditional manufacturing process of manufacturing automobiles, the biggest difference between products.

Process in the traditional business success, what causes it?

Take-made car is, for each of the pipeline, although, she did not read the entire car, but the entire car in his mind is more clear. This is inside a clear two points: one is that not eating pork, or read the pig run. He has seen many had such similar cars. In addition, we made the car the whole context, knowledge is clear, after all, are mostly standard parts, there are strict definitions. These standards is the hidden knowledge, do not belittle this implicit knowledge, because knowledge of the defects may be created is affected by your actions, defective products may be made the expanse. First, be standardized, and then can learn.

This standardized approach, on the software industry is Kaopu it?

Look at our standard of what is the process of doing things, rather than the actual doing of something that is not all about the two children, the difference is big.

Why not standardize software products?

Because software is soft, without too much explanation.

Standardization of software is not that hard, but to standardize things, the actual standard things in the industry to the manufacturing process, the actual scenarios in the software to the ratio, this ratio is minimal. In the Java field, jdk, open source framework, components can be considered a standard component. In specific business applications,

erp can only count one and a half standard, requires secondary development, developed three times, I said the second development is the implementation of three development, erp development around the application of some of the surrounding.

Software products can not be standardized, in essence, lies in its diversity of application scenarios.

Continued process, what reasons?

A1-> A2-> B1-> B2-> B3-> C1-> D1

In the software, processes the boundary between the nodes is not clear, deduction this:

A1 to work, delivered to the A2, B1, B2, B3, C1, D1 wait

A2 to work, delivered to the B1, B2, B3, C1, D1 wait.

B1 identify problems, back to A2, A2 to A1, B1, B2, B3, C1, D1 wait

A1 back to A2, B1, B2, B3, C1, D1 wait

A2 back to B1, B2, B3, C1, D1 wait

Number of simple calculation:

The first n nodes changed, change the number of times through the process 2 (n-1), may wish to become a process of loss.

Because software is soft, you start to do when a smear eyes are blind, and change is normal.

Assumption changes only once in each node, in which process-based software development model, the total flow losses as follows:

n (n-1)

We can deduce that it is a result of my calculations.

In other words, in the process node of 7 cases, the assumption that changes in each node once, then flow loss of 42.

Then calculate waste, horrible, or the above assumptions, together with everyone last night of work in the time spent is 2 hours, time spent on each change is 1 hour.

Ideally, n steps are required completion time is 2n.

Ideally, wait time

2 (n-1), 2 (n-2), 2 (n-3), ....

The result is n (n-1), provided that an average of 2 hours for each task as operator.

Ideally, according to the above example, the total time of 14h, the total waiting time for the ideal 42h.

Then change the case contains several series of general term is n (n-1), due to changes caused by latency, summation is o (n ^ 3):

Waiting time caused by changes = n (n +1) (2n +1) / 6 - n (n-1) / 2

According to this example, because of changes to increase the waiting time is 119h

That is, as this example, the ideal wait time caused by 119 + 42 = 161h

You said, and were not dry behind the waiting, or you can do something, if used well, such as assembly line, waiting time is not wasted.

In practice, this certainly is a waste of some, the wait time may be doing something else, resulting in task parallelism, task switching takes time, people are not machines, loss is definitely yes.

We have a good accordance with the utilization of 50%, and loss of time is 80.5h


Assumptions: 7 nodes, each node task is 2 hours, each node changes once every change of time spent 1 hour. Not consider changes caused by the task time for each node to change.

Ideal waste of time waiting: 161h

The overall task completion time = time + change task loss: 14 + 42 = 56h


In this simple model, the total task completion time and number of nodes proportional to the square, waiting time and the node is proportional to the cube.

The actual situation is more complex, the complexity of the work itself, uncertainty, change tasks generally increase their working hours, as part of the work may be done before a waste.

In other words, to improve efficiency, the most effective way to shorten the process node, or the best result is also the only local optimization.

This situation, how the cost of communication like?

n personal, communication path is n (n-1) / 2, 1 hour each cost, the above situation, the total communication cost for the 21h

This is the ideal situation, why should communicate it? No communication, no information is inconsistent understanding, understanding is inconsistent, the actual behavior will be biased. People who work together must share information context.

Mythical Man-Month, saying the project is tight, plus people do not necessarily improve the overall completion time is the reason.

From this we can conclude that the theory of Agile development methodology based on it?

You can say that Agile is a process, but, the process is relatively simple, few nodes only. Sitting close together through communication, will change from o (n ^ 2) an order of magnitude lower, becomes o (n). Through timely feedback, shortening the waiting time to waste. Also, as to avoid a change in the probability of late. In accordance with the above model, first n nodes, change the loss is 2 (n-1).

Arch is to find a quick throw it, we can calculate their own.

You may have doubts, no process, not the whole mess?

As can be seen from the above calculation, in accordance with the process of doing things, guarantee a stable output, but efficiency is certainly low. We further see the nature of things. Take the risk control process, the surface is to take the risk control process of this node. But, in fact, want to process you mean the man behind the face of your program to do a risk assessment, and gives the result. You can go directly to him, to make it clear to your question, say so, or phone. Rather than process driven, complex documents, and he must take a long time to understand the document. Too often, he has assessed over, not finish the process. These are losses.

Process must be simple, direct process should not be allowed, while dignitaries are the masters. At any one time, only the people know best, we will be where to go.

Writes here, as if hearing process saying: "Do not obsessed brother, in fact, only a legend"

分类:Development 时间:2010-02-06 人气:255
blog comments powered by Disqus


  • Software Development Process (CMMI / RUP / XP / MSF) are with non-? 2009-05-05

    Often see and hear everyone in the process of argument Agile, RUP and CMM software development process which better or what the process well, have their own reasons, the controversy was in fact ...... joy, there is no perfect process, there is no bet

  • Software development process 2009-11-10

    Software Development Process (Software development process) Software design ideas and methods of the general process, including the design and realization of software algorithms and methods, the overall structure of software design and module design,

  • UML modeling and software development process model 2010-04-15

    UML modeling and software development process model Turning now to the software development process, we may not be familiar with, studied software engineering people can casually speak of several software process models, are now trying to get the two

  • Software development process should be prepared in 13 categories document 2010-07-09

    In the software development process, should be required by software developers to write 13 class documentation, documentation requirements are targeted, precision, clarity, integrity, flexibility, traceability! 1, the feasibility study report Shows t

  • Software development process should be prepared in 13 class documentation 2010-07-09

    In the software development process, should be required by software developers to write 13 class documentation, documentation requirements are targeted, precision, clarity, integrity, flexibility, traceability! 1, the feasibility study report Shows t

  • On the software development process from Java [turn] 2007-11-03

    After nearly a decade of development, Java is the most popular program on the planet development language that is no exaggeration. Java gives developers a high degree of freedom of choice, to show "Java Everywhere" charm and effectiveness. You h

  • Mangrenmoxiang new solutions - in the software development process facilitator to talk about the importance of 2009-12-18

    First look at this story. In the past, there are four blind people want to know what an elephant looks like, but they can not see, but to touch. Fat blind first touched the elephant's teeth. He said: "I know, the elephant is like a big, thick, smooth

  • Software development process documentation 2011-03-24

    A good software development process, where the document is essential, this is my original find online, available for everyone to download

  • Software development process (CMMI / RUP / XP / MSF) is a non? 2011-06-07

    We often see and hear in the debate agile process, RUP and CMM software development process which the process better, or which is not good, each has a reason, the argument was exhilaration ...... In fact, there is no perfect process, nor is there a b

  • [Reprint] and standard software development process 2010-06-29

    Web development and interaction of dispersion, a Web development decisions must comply with certain specifications and technology development agreement, and only in accordance with each developer to design a common standard, communication, developmen

iOS 开发

Android 开发

Python 开发



PHP 开发

Ruby 开发






Javascript 开发

.NET 开发



Copyright (C), All Rights Reserved. 版权所有 黔ICP备15002463号-1

processed in 0.163 (s). 10 q(s)