讨论下敏捷方法中的项目驱动力

项目的推进必须有一种推动方式,这种推动方式是通过超短期目标来实现的,有效的项目管理,这种短期目标甚至可以规定到小时的级别,这个小时干什么,下个小时做什么都可以制定到项目计划里面。实际工作中,如果能把任务精确到天,那么这个项目的推进就已经是非常之高效的了。

而在敏捷方法论中,不同的具体方法强调不同的项目驱动方式,比如用例驱动开发,测试驱动开发,需求驱动开发等等。在宣传自己具体的项目管理方法时候,各种具体方法都在强调自己的驱动力是万能的,可以作为核心驱动力来把握。以TDD测试驱动为例,很多信仰测试驱动的项目经理,恨不得把所有东西都抽象为单元测试,但是用户需求和单元测试之间存在大量的系统设计工作,在把复杂的用户需求抽象提取设计为的可以进行单元测试的测试用例的过程中会遇到大量的难以逾越的困难,从而导致测试驱动变成了纸上谈兵。

在敏捷过程最为推荐的测试驱动,在我们单位的开发工作中也会碰到特别情况,因为我们在单位的开发工作,都是在日常运维工作的间隙中进行的,虽然都是为了单位工作,但是具体的开发流程更类似于“义务劳动”,是出于责任感和为业务部门排忧解难的职责才进行的开发工作,属于没有强有力制度下的“人情”项目管理,而这种没有强有力制度下的“人情”的测试驱动,很难做到大公司那样规范和苛刻,所以实际开发中我们搞的是非正式的记录的测试用例。一个文本文件,专门用来测试的素材,脑中形成的测试方案。讨论时,随手用简单的A4纸记录,订书机订好备用。

在软件开发实践中,我们通过对项目的迭代划分,在不同的迭代过程试用不同的驱动方法:

在项目启动阶段,设计驱动,大致划分模块,分别编写支撑模块的主干核心代码;

在执行阶段,采用接口驱动方法,精确设计模块之间的接口,驱散设计模型中的云雾,让系统的设计形式化,程序化,确定化;

在实现阶段,需要具体业务需求,才能进一步精华系统,破除接口的设计杂质,于是我们用需求用例驱动开发。

下一个阶段,为了追求的质量,测试驱动开发。

不同阶段,都有不同的驱动力。不能生搬硬套,没有一种驱动力是贯穿整个项目的生命周期的。

还有最后的一个阶段的驱动,则用户驱动。根据用户的需求,做一些表面上的修改。

这个特色阶段,当然对系统架构也提出了非常高的要求,首先就是将系统业务和显示进行尽可能的分离,在设计时采用大量Facade和Mediator设计模式,进行略显与多余的隔离。

时间: 2024-08-25 18:15:26

讨论下敏捷方法中的项目驱动力的相关文章

linux下设置eclipse中的项目和类名的字体大小

由于刚装的eclipse中的项目和类名字体太小,并且windows中没有可以更改的方法, 所以参考了网上一些文章,终于修改成功,所以反馈进行分享,望国内开源风气如stackoverflow一样. 步骤:(本人的本机环境是win10,ubuntu版本16.04.1) 1.首先找到eclipse中的安装目录,eclipse.在eclipse/plugins/org.eclipse.ui.themes/css中,有许多的css文件,由于没有linux后缀的css文件,所以我 更改了e4_default

jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径

遇到的问题是这种,在jsp网页中嵌入了本地的图片,由于会用到上传到服务器的图片,所以没有放到项目里面,而是把全部图片单独放到一个文件夹里,然后打算使用绝对路径把要显示的图片显示出来.比方是放在了E盘的uploadPhotos文件夹里.可是在使用绝对路径显示时.代码例如以下: <img width="200" height="150" src="E:\uploadPhotos\DSC00216.jpg" border="1"

eclipse如何把多个项目放在一个文件夹下【eclipse中对项目进行分类管理】-图示详解

1.在Package Explorer顶部的右侧的倒数第三个有个倒三角,点击倒三角 2.选择Top Level Elements->Working Set 3.此时就会发现,很多项目会自动纳入一个文件夹,这个文件夹的名字叫做other Projects,这是默认的 4.如果想自己建立自己的文件夹,点击倒三角,Configure Working Set,会出现弹框. 5.在上界面中,点New进入以下界面.双击某一文件夹,就会进入编辑界面,可以修改文件夹名称,也可以选择将那个项目放置到该目录下.想删

在敏捷环境中交付

前情回顾上节中我们讲到构建敏捷环境,从办公环境.团队组员构成.敏捷推进人等构成敏捷环境的影响因素. 接下来我们讲敏捷实施,步入正文之前,先延申仆人式敏捷: 虽然仆人式领导的观念是一个至少可以追溯到两千年的永恒概念,但现代仆人式领导运动是由Robert K. Greenleaf于1970年发表的,当时他发表了他的权威文章"仆人作为领袖",他创造了这些文字."仆人式领袖"和"仆人式领导". 仆人式领导是一种非常社会化的领导风格.虽然传统的领导力是关于

Windows 下使用Git管理Github项目

Git Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中. Github Github是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub.GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,G

Bitmap类getPixels()方法中参数stride理解

转载自:http://blog.csdn.net/jie_qing/article/details/7259520 在学习Graphics中遇到位图(Bitmap)中getPixels()方法,对该方法的用法大体理解,但对其中的stride参数却不明白具体的用法以及用意,经过一番折腾后,有些明了,现记述过程如下: 行文有些详细,请赶时间的同学直接跳到红字总结处查看!!  getPixels()方法的用处为获取位图(Bitmap)中的根据方法参数所决定的像素值(颜色值),存入类型为int的pixe

Java Web开发: Tomcat中部署项目的三种方法

web开发,在tomcat中部署项目的方法: 注意大小写 1.在conf目录中新建Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,改xml文件的内容为: <Context path="/qxmobile"  docBase="/usr/local/webroot/qxmobile" reloadable="false"  debug="0" p

Java获取项目路径下的方法(全)

平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下 一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProperty("user.dir"); 上述相对路径中,java项目中的文件是相对于项目的根目录 web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin) 二 类加载目录的获得(

桥接模式下访问虚拟机中的Django项目

首先需要保证主机和虚拟机能相互Ping通,如果Ping不通,请参考我上篇文章,这里演示的是桥接模式下的方法,如果是NAT模式连接,请参考别处. 1. 虚拟机Linux系统内的Django项目 settings.py  文件中,改 ALLOWED_HOSTS = ['*'] 2.关闭虚拟机防火墙 #systemctl status firewalld #yum install firewalld //安装firewalld 防火墙 #systemctl start firewalld.servic