What is a Lightweight Methodology? 什么是轻量级方法？(英汉对照)
What is a Lightweight Methodology?
A software methodology is the set of rules and practices used to create computer programs.
A heavyweight methodology has many rules, practices, and documents.
It requires discipline and time to follow correctly.
A lightweight methodology has only a few rules and practices or ones which are easy to follow.
In the late 1960s and early 1970s it was common practice for computer programmers to create software any way they could.
Many programmers excelled at creating software too complex for anyone to understand.
At that time it was a miracle if a program ran without any bugs.
Making computers useful was considered a worthy quest and not unlike an adventure into the old west.
In 1968 Edsger Dijkstra wrote a letter to CACM entitled GOTO Statement Considered Harmful.
Edsger Dijkstra于1968年给CACM（应该是Communication of the Association for Computing Machinery: 计算机器 协会 通信）写了一封题为“GOTO语句其实有害”的信。
The central ideas of software engineering were being born.
At that time we believed that bigger, more disciplined methodologies would help us create software with consistent quality and predictable costs.
The lawless cowboy coders were being reined in.
The 1980s were good times for computer programmers.
We had a few rules and practices to create software that was far superior in quality to what we were creating only a few years earlier.
It seemed like if we could just create enough rules to cover the problems we encounter we could create perfect software and be on time.
We added more and more rules and practices to cover all the potential problems.
Now in the 21st century we find these rules are hard to follow, procedures are complex and not well understood and the amount of documentation written in some abstract notation is way out of control.
Trying to come up with a bigger and better methodology was like a California gold rush; everyone headed west only to be disappointed.
We created software to help us create software.
But this quickly got out of control and dreadnought CASE tools were born.
These tools, originally created to help us follow the rules, are too hard to use themselves.
Computer programmers find it necessary to cut corners and skip important practices to stay on schedule.
No one is actually following the heavy methodologies we have handcuffed ourselves with.
The cowboys have returned and we find ourselves back at the OK Corral.
When programmers ignore the rules of their methodology they are instinctively moving away from heavyweight methodologies and back toward an earlier, simpler time of lightweight methodologies when a few rules were enough.
But we don't want to forget what we have learned.
We can choose to keep the rules that help us create quality software and throw away those that hinder our progress.
We can simplify those rules that seem too complex to follow correctly.
We don't want to return to the early days of cowboy coding when there were no rules at all.
But instead let's stop at just enough rules to keep our software reliable and reasonably priced.
Instead of cowboy coders we have software sheriffs; working together as a team, quick on the draw, armed with a few rules and practices that are light, concise, and effective.
Extreme Programming (XP) is one of several new lightweight methodologies.
XP has a few rules and a modest number of practices, all of which are easy to follow.
XP is a clean and concise environment developed by observing what makes software development go faster and what makes it move slower.
It is an environment in which programmers feel free to be creative and productive but remain organized and focused.