在2008年6月21日的第三届”敏捷中国“技术大会的现场,不乏犀利的观众提出的一些项目实施过程中的实际疑难,我们的敏捷开发者是如何解惑的呢?
A问:在开发过程中,我们如何分工?项目的初期,哪些是最需要解决的问题?
Paulo Caroli:设计是不断发展的设计,如系统基本的构架,在发起阶段,在做第一个迭代的时候,我们应该讨论,与其他后面的迭代相比,要花更多的时间在初 期,因为大多数的设计工作室在初期来做的,如果项目比较简单,如果比较大,复杂,可能就需要花更多时间来做初期阶段的设计。
传统的分析过程,有很多决定和策划,当还是用过去这套方法的时候,我们开始的设计都是分析,想象,图标的构建,但是敏捷里,都是测试做驱动,没有时间去画漂亮的流程图,但是,这个设计的过程在哪儿去了呢?
设计无处不在,即使不负责写代码的人,也要参与设计。所有参与的人都要设计,而且从项目开始的第一天,一直到整个项目最后完成,设计都无处不在、无时不在!
传统的设计只在开始阶段做,之后就停止了。而现在,我们所说的敏捷开发,在最初的数据分析阶段,我们也称之为项目的启动阶段,一般会需要两周或六周。这个启动阶段,我们有迭代。但总体来说,迭代的时间比较短,只有两周左右;我们有进程,所有的人都是为了同一个事情做事。
所以,在这个敏捷开发的过程中,我们的成果可以多次发布,一直持续到最后的最终版本的发布。
发起阶段,虽然有很多的迭代,发起阶段需要搜集客户的要求,不一定很多,但是要考虑到规模,测试的战略,最初两周的需求和策略是怎样的。另外一个就是构架,你不可能不想构架就去开始实施,以后返工的话,代价就太大了。
B问:参与开发人员可能技能层次各不相同,怎么办?
Paulo Caroli:有一个做法我还没说,我们进行比较型的编程,在持续的整合的时候,里面所有人都有组成的部分,编程能力比较差的话,可以寻求高级编程人员的 帮助,在初期,设计会让高级的多做,后期的应用,则有低级程序员来做,高级程序员也可以更多地关注低级程序员的进步。
你说,都是可检测,在测试中出现问题,第一天就做TDD的话,不可能出现问题,但是,在工作中,有一些真的是不可测试的,要测试的话也很困难,但是又必须解决。
所以在一开始,就加入一个测试的工作,使之在过程中随时检测自己的迭代的准确与否。
大的团队中大的项目,是否可以使用敏捷?回答是肯定的,而且很多人都问过这个问题,(笑),所以,你的这个问题可以算是一个出名的问题了。
团队的架构可能是一个非常复杂的需求,开始的工作非常复杂。敏捷开发,对大的项目其实是比较有效的,最为重头的工作就是TDD的实践了。
C问:RUP与敏捷开发是否有联系?
Paulo Caroli:RUP其实就是敏捷开发的一种形式,RUP还是有很多的误解,主要是一种头脑的状态,你可以区别有些项目是否适合RUP来实施。
D问:在开发过程中,有的程序实在无法测试,如何解决?
Paulo Caroli:现在都可以测试,有时很难测试,但是我们认为我们可以测试所有的东西,有些东西是不可自动化的,是需要人工去测试的,不是编码的测试,如我 们把客户找过来,看对方是否满意,这样也是一种测试;当然,如果你有问题,你可以联系thoughtworks,他们会帮你解决自动化测试的过程。
附:Paulo Caroli简介
Paulo Caroli, www.caroli.org, 是ThoughtWorks公司的一名敏捷教练和高级开发者。他的专长在于敏捷开发和面向对象方面,精通各种相关的技术。他在电子商务和电信领域由丰富的 经验。在长达13年多的软件开发生涯中,他成功的担任了软件开发过程中的多种角色,包括:开发者、应用架构师、项目经理、业务分析师以及教练。
分享到:
相关推荐
让你可以无时无刻都可以设计你想要的模拟电路! 这里有几个常用到的仿真软件! 那就让你可以无时无刻都可以方便去画图和设计!查询 绝大部分都是汉化版!只有一个是汉化不完整的 绝对经典中的经典! 现打包上来 给...
因为行业的竞争激烈,优秀的设计师和公司无时无刻不在涌现,只有不断提升自己的设计水平,才能在竞争中保持领先。每一个项目,无论大小,都是展现专业精神和提升自身能力的机会,不应忽视任何一次实践和学习的可能性...
其实,我们还有个很特别的超级工程:人们看不到它的形态,却无时无刻不在感知它的存在。天南海北的货物因它向世界各地集散,各行各业因它联成一体,这就是双11,一个属于互联网技术的超级工程。 不夸张地说,最近十...
这个社会中无时无刻离不开写字当然写字的同时就要留下自己的大名,写的难看、不协调、不个性是不是很丢面子,签名的文字虽然不多但若经过精心设计两三个字即可组合成一幅小型的艺术精品。每一个签名都折射出主人的...
在后厨设计方面,传统的通风系统被升级为新风设计,以确保厨房空气的清新。例如,隐藏的新风口可以有效防止油烟扩散,同时采用动态拦截技术提高空气质量。此外,嵌入式刀具消毒柜则保障了厨房工具的卫生标准,提升了...
11. **笔记本(Memo Pad)**:这类日常办公用品的VI设计,虽小但不容忽视,它们在日常使用中无时无刻不在传播酒店的品牌信息。 综上所述,国际五星级酒店的VI设计是一项系统工程,它涉及标志、字体、色彩、图形、...
随着科技的快速发展,尤其是在二十一世纪,网络已经成为我们生活中不可或缺的一部分。人们越来越依赖于智能手机,手机几乎无时无刻不在身边,无论走到哪里,获取Wi-Fi密码成为首要任务。这种现象反映了现代社会中人...
在日常生活和工作中,我们无时无刻不在运用算法,比如洗衣机的使用流程、烹饪食谱等都是算法的具体表现。在计算机科学中,算法则是指可以通过计算机执行的程序或步骤,要求是明确、有效且能在有限步骤内完成。 二、...
例如,网络环境提供了无限的信息资源和沟通渠道,使学习无时无刻不在发生,促进了学习者自主性和创新性的提升。 设计学习环境的方法需要综合考虑以下几个方面: 1. 空间设计:创造舒适、有吸引力的学习空间,包括...
传统的购物方式正在被在线购物所取代,因为网络提供了无时无刻不在的便利性和信息的实时更新。B2C网站不仅能够为消费者提供丰富的商品选择,还能通过减少中间环节降低交易成本,从而吸引更多的消费者。 论文的选题...
在完成设计后,会对系统进行测试和优化,评估其性能、稳定性和用户体验,并总结整个设计过程中的挑战、解决方案以及未来的改进方向。 **参考文献与附件** 课程设计通常会引用相关技术文档、研究论文作为理论依据,...
在当前的数字化时代,万物互联(IoT,Internet of Things)的概念正逐步渗透到我们的日常生活中,而智能家居作为IoT的重要应用领域,为用户提供了前所未有的便利性。本系统正是以此为基础,通过云平台实现了一个全面...
这是一款可以对磁盘文件和文件夹进行多功能批量更名操作的实用工具。...最仁:基于人性化的立场,作者在开发的过程中无时无刻不站在用户的立场来思考问题,来决定程序设计的方向,以开发出用户满意的理想工具。
这是一款可以对磁盘文件和文件夹进行多功能批量更名操作的实用工具。...最仁:基于人性化的立场,作者在开发的过程中无时无刻不站在用户的立场来思考问题,来决定程序设计的方向,以开发出用户满意的理想工具。
这是一款可以对磁盘文件和文件夹进行多功能批量更名操作的实用工具。...最仁:基于人性化的立场,作者在开发的过程中无时无刻不站在用户的立场来思考问题,来决定程序设计的方向,以开发出用户满意的理想工具。
地方软件工作室在设计软件的时候无时无刻不在考虑一个问题,如何让软件更加简单一些?如何更加简单一些?再简单一些。呵呵,我们做到了。点击颜色即可复制颜色代码,点击代码即可复制对应的颜色代码。忘掉选择复制...
信息化课堂教学设计是教育领域在21世纪的重要发展方向,它结合了现代信息技术,旨在提升教学质量,增强学生的学习体验和效果。教学设计自20世纪60年代末70年代初随着系统方法的应用而逐渐成熟,到了80年代被引入国内...
1. **终身教育**:强调无时无刻不在学习,鼓励学生形成自我学习、终身学习的习惯。 2. **建构主义**:教学方法注重实践,让学生在做中学,自我构建知识体系。 3. **多元智能**:通过各种途径激发学生潜能,使他们能...
在设计中,我们还需要了解电子时钟设计的背景和意义。随着微电子技术的迅猛发展,电子产品技术也得到了很大的提高,单片机技术也同样水涨船高。单片机是把一个计算机系统集成到一个芯片上,它的产生是近代计算机技术...