周铁人
基本内容
周铁人博士系浙江省湖州师范学院80届毕业生.今天回来参加母校高等教育50周年暨办学92周年的周年庆典.
Specification Driven Develpment 周铁人
发布时间:2007.06.15 17:01 来源:赛迪网 作者:周铁人
各位领导、同志们很荣幸参加这样一个大会,来之前我的主要工作应该是准备一下怎样把我的中文演讲讲好,来了之后听了大会好多其他演讲嘉宾发言以后我很感动。作为一个中国人去了美国通过学习做了自己的公司,回到中国来看到了我们国家政府跟企业、学校研究单位合起来能够组成那么强大的力量,使得我们在对软件过程改进的推进上是非常努力的,也是很有效的。在美国假如说软件过程推进方面一般政府尽管有一些标准的方法,但是一般来说政府的参与不是那么大的。反过来美国公民交的税真的很高,但是在科研方面的投入也是非常大的。我觉得也好,也不好,从过程改进在实践上普及某一种方法,假如说政府方面推动的话我们走对的话会很快让很多企业有一个非常好的成熟方法来做过程改进。相对美国来说假如很多公司对软件工作改进也是非常重视的,特别是有一些标准的方法也在进行,当前的趋势更多的公司在敏捷开发是非常重视的,政府的参与就不是那么大了,来到中国我真的觉得非常感动。
我演讲的课题是Specification Driven Development,做软件产品或者做软件项目要搞设计,设计过程本身就要标准化,设计好了另外一半就是实现产品,就是把产品看成概念产品同时又是设计的产品。实际产品是我们的工程队伍要做出来的,过程能够做到标准化,比较成熟过程的话就要通过概念产品和实际产品一直做比较,一直做度量,使得你们有这个信心对高层企业经理来说或者产品经理只要能够看到产品的设计是成功的就有信心了。生产的过程可以在本地做,也可以在外地甚至可以让外包公司来帮我们做。
Tech Excel是1995年我创建的,现在为止在全球43个国家有1500多个用户,有很多大公司是我们的客户。Tech Excel是做软件应用生命周期管理工具的对我们来说当然作为一个美国公司要在美国成功必须有销售,必须每年有增长,对我们来说更重要的创业的目的应该是对软件工业做出我们的贡献。使得我们的客户用了我们的产品他们的开发过程是更成熟的过程,而且对我们的产品更认可,使得明年、后年可以买更多的产品。另外可以得到更大公司买我们的产品。美国一家杂志是《软件开发周刊》它每年对软件工业里不同的领域比如说数据库,WEB SERVER,Tech Excel评上了做贡献最大的100家公司之一。是软件生命周期管理方面的。也就是说通过我们的努力对软件应用生命周期什么是一个好的开发过程?让我们的工具帮助我们的客户得到了这样的解决,在美国我们是被认可的。
中国文化、美国文化、日本文化很多时候是一样的,一只软件队伍怎么样可以做出更好的产品?其实是两大部分组成。一大部分是让最高的城市领导人决定这个产品就这么做,花钱就做这么多,就到中国做或者就到日本做。这个过程是一种感性上面的理解,是经验,你有多大的胆量就花这么多钱就这么做。反过来仅仅这些是不够的,你还需要Driven还是需要 Development,我们认为Spec D D是把软件产品看成一个概念产品,概念产品是让设计更完美的过程,使得产品设计的结果是可以用产品表达的。有了这个概念产品以后我们就可以指导、度量开发的过程和测试的过程。
Tech Excel要推Specification Driven Development,它是一个标准的开发模型,同时Specification Driven Development是一个平台,为什么说它是一个平台呢?是一个工具帮你提供的平台,使得你用Specification Driven Development即能在指导思想上让软件产品开发过程有一个标准的指导思想引导的过程,同时每天做的工作又是在这个工具的帮助下使得每做任何任务都是符合于这样的标准开发模型的。
什么是标准的模型帮助你表达什么是概念产品呢?我们认为假如把产品的设计想成是任何一个产品需求有关的文档都通过知识库文档、需求文档表达起来,上面再加一层Specification。一个概念产品是可以做得到的,一个产品功能都是由基本单元组成的,这个基本单元就是Specification。一个产品在概念上可以存在,使得你还没决定这个产品到中国去外包公司做还是在印度外包公司做的时候我们决策层就有很多指导意见了。这会使得你每天的工作已经做到了很多原始数据已经做到了系统里面,在帮助里做更好的度量。软件过程质量真正决定你的团队的工作质量,这也决定你产品最后的质量。我们这个公司对这个项目来说需要做的是敏捷开发的话,那整个公司思想大家都是一样的,任何时候我们的客户和产品经理随时都可以告诉我们有新的功能需要加进去,或者已经做了一半的功能需要改进。恐怕这里在座很多人是做程序的,当你的产品经理告诉你要改进的时候你可能不告诉,正是因为这样柴需要工具。Specification Driven Development这个模型跟敏捷有很多相似之处同时又可以帮助你实现其它的整个标准开发的模型。我们多在美国的客户开发团队是很大的,2000多人做开发,他们做的往往有一个项目是通过一个公司在美国的分公司,在英国的分公司,再加外包公司合起来一块做的。假如用Specification Driven Development就可以真正的实现一个开发的过程,是一个敏捷的过程,一个软件过程变成标准化是很好的路,让我们的软件过程是可以重复的是可以有指导思想的。这个过程假如做的很标准化的话本身就能增强开发我们的能力,就能加强中国开发团队、软件开发能力的知名度。接下来会看到很多很好的软件公司在中国市场取得很好的成绩,我们也会看到少数中国软件公司在国际市场取得很大的成功。
Specification Driven Development是一种开发模型,指导思想,也是一个平台帮你每天的工作队伍再大也是在这样的模块下标准的过程管理着你的队伍。
(PPT)Specification它相连的是多个知识文档和需求文档,Specification 是让开发人员创建自己的开发队伍,任何测试任务都是围绕着Specification确认建起来的。