软件工程将软件开发严格的划分需求、概要、详设、开发、终结几个阶段,各阶段有各自的负责人,通过详尽的文档传递用户需求,这样难免无法避免用户需求经过层层的传达而产生的流失;软件工艺则鼓励优秀的工匠贯穿软件开发过程的始终。软件工程认为,软件的开发过程要规划化、流程化、可控化,重管理,忽略开发过程中人的因素。软件工程认为,一个优良的软件工程,即使在人员变动频繁,开发人员技能参差的情况下也可以极小的减少其带给项目的损失;而软件工艺强调,一个优秀工匠自始至终在软件开发中所占有的重要地位,鼓励工匠技艺的不断精进,鼓励软件工匠们技艺的传钵,提倡学徒机制,避免软件工程中人作为流水线的一个零件单调重复的劳动。
其实,软件工艺的提出并非为了“颠覆”软件工程,相反地,它试图去纠正过分强调软件工程所带来的种种问题。《软件工艺》的作者始终认为,软件工程只是适应于超大型项目,而很多情况下软件工艺似乎更适合。软件管理者似乎会跟喜欢软件工程带来的可观性,可控性。而作为开发者,身处软件开发中的开发者,对软件工艺提出的杰出软件工匠会更感兴趣。
网上Google来的几篇相关的文章,附上:
《软件工艺》 笔记
张恂-书评-熊氏翻译之吊诡
![[笔记] <wbr>软件工程 <wbr>VS <wbr>软件工艺 <wbr>-- <wbr>《软件工艺》读后 [笔记] <wbr>软件工程 <wbr>VS <wbr>软件工艺 <wbr>-- <wbr>《软件工艺》读后](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)