我新到这家公司,就开始了一场死亡之旅,我们的项目开发周期是3个月,人员大概有3~6个不一定。而以我的经验,我们大概要做的,是一个3~5个人年的非常复杂的创新型项目。新加盟的技术总监,是一个崇尚文档交流的“老干部”,因此,我们花了一个月的时间,在写各种各样的设计文档。真正能够用于开发的时间,是2个月。
我们这个小组的另外一位组员,也是一位经验丰富的项目经理,他崇尚的,是文档UML化描述。因此,我现在除了写文档,还要用Rational Rose画好多好多的图~~~
在他们两位来这个项目组之前,我其实已经写出了一份基本完整的User Case列表,而且和另外一位组员已经进入测试驱动的、结对编程阶段了。。。
大家可能已经看出来了,这其中的开发模式,简直就是混乱不堪。到底是文档驱动?UML驱动?用例驱动?还是测试驱动呢?
问题还不止这些,我们的大老板比较喜欢和我们一起讨论设计,甚至会和我们争论具体的某个算法。开发文档没有统一的管理,汇报机制没有明确的定义,项目需求随时都可能变动,就连到底我们这个小组会有几个人,都还是一个未知数,这样的死亡之组,不知各位有什么好的建议?
背景资料介绍完毕,抱怨结束,下面讨论正题:
文档驱动、测试驱动、用例驱动、模型驱动、特征驱动。。。。他们都要解决的是什么问题?
要回答这个问题,还真不容易。我们得问一个更加重要的问题,真正驱动项目的,究竟是什么呢?我想,应该是需求吧?
那么,这些“文档”、“测试”、“用例”、“模型”、“特征”,究竟是什么呢?对于需求的描述!我们之所以不会直接用需求来驱动项目开发,而是要借助工具,来帮助我们描述需求,就是因为口语化的需求描述是非常模糊的,充满歧义的。所以,选择什么来驱动我们的项目,其实就是要看,以上这些工具,哪一个能够更好、更准确的描述需求?
文档其实是最难准确描述需求的一种方式,如果是纯文字的文档,就更难。我们的技术总监,非常喜欢读写文档,我最近也创下了一天写47页文档的最新记录。但是,当我们开会的时候,我还是经常需要提醒我们的技术总监,麻烦他再仔细看看文档第XX页的第XX段,以及配合着另一份文档的XX小节,来确切的理解我的意思!如果没有我的解释,他就会误解我的文档。
当然,如果要写出不需要我来解释,他就能理解的文档,那么文档的工作量,将会极其惊人!我以前写过一篇blog,《Jacobson博士演讲观后感》是我对UP的创始人的极度反感的集中体现。GHawk,以及交大林老师的所谓“UP”的观点,当然不可能获得我的赞同。在GHawk的最新一篇blog:《UP & XP之争,意义何在?(续)》中,GHawk说:“唯一的问题是:“如何确保测试用例的质量”。显然,我们不能把一把不直的尺子度量出来的结果作为可靠的参考依据。怎么解决呢?“结对编程”么?嗯,这是一个不错的方式,那么最终该信赖谁呢?是Pair中的A还是B呢?或者,是Leader么?那么又是谁提出的要求呢?是老板么?还是客户?政府?法规?市场?……问题没有终结了。”
由此我可以推断,他对于XP的认识,基本上是停留在猜测的阶段。对于这篇blog的观点,我就不逐一反驳了,我的猜测是,他经历过一次失败的XP尝试,而究其原因,我猜测是因为他们那个所谓的XP Team中,没有一个人,曾经实践过一次正规的XP开发。
再来看模型驱动,这中间有一个大问题,因为需求是“问题域”的范畴,而模型,则是“解答域”的范畴,试图通过解答域的精确描述,来实现对于需求的准确描述,肯定不靠谱啊。
特征驱动,我认为FDD其实是老方法的新名词,具体的实践,可能更加接近测试、迭代式的过程。了解不过,所以我也不打算多说。
用例驱动与测试驱动,其实我认为这是一个硬币的两面,用例要尽快的翻译为测试用例,而测试用例,正是为了更加准确的表述需求用例。这是我能够想到的,驱动项目开发的,最好的方法!
分享到:
相关推荐
stm32的RC522,射频卡(rfid)驱动程序,硬件SPI,使用spi2,来自标准库移植[f103z3et6].zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的...
驱动开发是嵌入式系统中的重要组成部分,尤其是在基于ARM架构的开发板上,它起着连接硬件和...所以,当你拿到这份珍贵的"驱动开发"资料时,务必珍惜并充分利用,通过实际操作和代码实践,深化你的嵌入式系统开发技能。
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会...
总之,这个压缩包提供的是适用于CCS高版本的XDS100仿真器驱动,对于那些在开发TI DSP项目时需要使用CCS的工程师来说,它是不可或缺的一部分。正确安装和配置这个驱动,将有助于他们在硬件平台上顺利进行程序的编译、...
本项目包括本人多年积累包括领域驱动设计,前端,后台,部署,操作系统等.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验...
stm32真实企业项目源码感谢已经拿后的多位客户,你们愿意为学习投资,节省时间 项目要求与网上搜的那些开发板的例程完全不在一个级别,也不是那些凑合性质的项目可以比拟的。 项目是企业级产品的要求开发的,能够让...
基于Matlab的事件驱动量化回测框架源码+项目说明.zip 基于matlab的事件驱动回测框架 首先安装wind量化接口并注册账号,确认可在matlab中运行后可进行回测。 在Main.m中订阅股票池、指定回测开始结束日期和进行高级...
代码有一个驱动代码和一个控制打码,如果在STM32F407上运行,只需要包含同文件、修改引脚、直接调用函数即可,可以根据压缩包里的原理图加以理解代码。做项目时候留下来的,项目已交,拿出来与大家交流学习。
.zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,...
项目具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。 【无积分此资源可私信博主有偿获取】 可放心下载学习借鉴,你会有所收获。 —— 对于学习和实践,...
直接拿来就可以用的PCB源文件极大地节省了设计时间和工作量,让工程师能够快速投入到项目的实施阶段。 对于初学者或者需要快速开发步进电机驱动系统的工程师来说,这个压缩包非常有价值。通过学习这些文件,他们...
毕设&课设&项目&实训-基于html5和原生javascript的WebVr驱动程序,是你能够在页面中调用手机陀螺仪,进行vr式的浏览 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、...
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会...
项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会...
此外,易语言的事件驱动编程模型也在“拿火柴”项目中体现出来。通过定义各种事件,如用户点击按钮、游戏状态改变等,可以实现程序的交互性和动态响应。这在游戏设计中尤为重要,因为游戏的大部分交互都依赖于用户的...
项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会...
项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会...
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会...
为了测试爬虫使用模拟火狐浏览器进行爬取网页内容,该文件包含了win和linux版本的geckodriver驱动,下载后直接把路径放到项目中即可,版本都是最新的geckodriver-v0.27.0,下载了半年才下载下来,想要的5积分拿走。