




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Software Engineering:An Idea Whose Time Has Come and Gone?Tom DeMarco 2009Were now just past the 40th anniversary of the NATO Conference on Software Engineering in Garmisch, Germany, where the discipline of software engineering was first proposed.Author of Controlling Software Projects: Management,
2、Measurement, and Estimation (Prentice Hall/Yourdon Press, 1982).The books deep message seems to be, metrics are good, more would be better, and most would be best.“You cant control what you cant measure.” This line contains a real truth, but Ive become increasingly uncomfortable with my use of it.Im
3、plicit in the quote (and indeed in the books title) is that control is an important aspect, maybe the most important, of any software project. But it isnt.Many projects have proceeded without much control but managed to produce wonderful products such as GoogleEarth or Wikipedia.Two drastically diff
4、erent kindsof projectsProject A will eventually cost about a million dollars and produce value of around $1.1 million.Project B will eventually cost about a million dollars and produce value of more than $50 million.Whats immediately apparent is that control is really important for Project A but alm
5、ost not at all important for Project B.This leads us to the odd conclusion that strict control is something that matters a lot on relatively useless projects and much less on useful projects.Teenager - AnalogyMost things that really matterhonor, dignity, discipline, personality, grace under pressure
6、, values, ethics, resourcefulness, loyalty, humor, kindnessarent measurable.But you also know that your childs math grade is a better indicator of achievement than his Spanish grade, because math understanding is easier to measure.how do you manage a projectwithout controlling it?Well, you manage th
7、e people and control the time and money.You say to your team leads, for example, “I have a finish date in mind, and Im not even going to share it with you. When I come in one day and tell you the project will end in one week, you have to be ready to package up and deliver what youve got as the final
8、 product. Your job is to go about the project incrementally, adding pieces to the whole in the order of their relative value, and doing integration and documentation and acceptance testing incrementally as you go.”Sound like an agile methods.Im gradually coming to the conclusion that software engine
9、ering is an idea whose time has come and gone.I still believe it makes excellent sense toengineer software. But that isnt exactly what software engineering has come to mean.The term encompasses a specific set of disciplines including defined process, inspections and walkthroughs, requirements engine
10、ering, traceability matrices, metrics, precise quality control, rigorous planning and tracking, and coding and documentation standards.All these strive for consistency of practice and predictability.Consistency and predictability are still desirable, but they havent ever been the most important things.On time and on budget, this never should have been the supreme goal.The more important goal is transformation, creating software that changes the world or that transforms a company or how it does business.Software development is and always will be somewhat experimental.Th
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论