项目管理——Head First 软件开发

本文介绍了项目管理中采用开发循环的方法,强调了与客户沟通和需求收集的重要性,通过计划扑克牌游戏获取时间估计。文章还探讨了版本控制、自动化构建、测试策略,包括黑箱、灰箱和白箱测试,以及测试驱动开发。同时,提出了如何处理软件错误和排错策略,强调在保证质量的同时,按时交付可用的软件。
摘要由CSDN通过智能技术生成

Doc 下载: https://download.csdn.net/download/qccz123456/10567658

 

时间:2018年3月22日星期四

作者:清村常争

 

一、伟大的软件开发——让客户满意

         除开宏大的想法外,大多数项目都有两个焦点:要花多少钱?要花多长时间?

         大霹雳式(Big Bang)开发法:集中时间一口气开发完成。通常以一团糟结束,因为没有得到客户心目中的结果。软件开发工作不是玩猜猜看游戏,你必须让客户融入进来,确保你的开发工作在正确的轨道上,明白需求的细节。

伟大的软件开发会交付(1)What is needed客户需求, (2)On Time何时完成, (3)On Budget合同额。

通过开发循环达到目标:你决定每次有重大进展时,你都会与你客户进行确认,并重新确认你下一步要做什么,并且,在没有获得客户的反馈前,你不会做任何重大的决定。如果没有开发循环就会偏离客户的需求。只要你有一段可运行的代码时,就可以和客户进行讨论,尽快产生一个可运行的程序,即使很拙劣,建议的开发循环的时间是20个工作日或一二周。

每个开发循环都是一个微型项目,每个开发循环都会产生有品质的软件:从需求、设计、编码、测试等步骤,到具体每个步骤中完成的各个子阶段,都是一个开发循环。

构建每个开发循环中的每项功能,需要添加一个时间估计值、一个功能优先级。若需求变更,根据新提出的、及剩下的优先级和时间重新安排计划,但在截止日期之前。若具有高优先级功能被提出,最好的选择是将新需求加入到下一个开发循环,并延长软件交付期。但增加开发人员或增加现有开发人员工作时间常常将消耗预算,极少产生所期望的结果。

开发循环步骤:①评估新的功能;②要你的客户对新功能做优先排序;③重新修订你的开发循环计划;④检查项目的截止时间。

开发技术:开发循环有助于你保持在正确的开发轨道上,当需求发生变更时,更新规划和均衡开发循环。每个开发循环都产生有效的软件,并且能从客户那里收集到反馈意见。

        开发原则:交付客户需求的软件;按时地交付软件;符合预算地交付软件。

 

 

二、收集需求——知道客户想要什么

        了解客户需求,并得到使用情节

        (1)倾听客户需求,罗列需求的标题及其细节描述;

        (2)分析理解需求后,提出自身所能想到的问题,并与客户讨论;

        (3)第一次会议后,和团队一起进行头脑风暴,听取他人想法;如果让大家共聚一堂时,没有什么效果,可以与他们分别地进行头脑风暴,然后再集中起来,把众人想法写在白板上,再进行头脑风暴,有时候,可以先散会,思考思考,再开第二次会议。

        (4)采用角色扮演和观察等方法了解客户真正需求;扮演软件、从不同场合进步观察。

        (5)采用客户的语言来撰写需求,简短,易理解,并与客户讨论,最终得到清晰的、以客户为中心的使用情节。

        为每个使用情节添加时间估计值,单位是天数,需要多长时间完成开发,包括设计、编码、测试、交付。

        步骤:①把每个使用情节放在桌子中间;②给每人发13张牌,每张牌上有一个时间估计;③每个人都为使用情节选一个估计值,将与估计值对应的牌翻过来放在桌上;④每人在同一时间把牌翻过来;⑤发扑克牌的人记录下由每个估计值形成的分布;⑥得到一个合理的时间估计值。

        过程中可能存在的问题:① 分布太散可能存在理解错误。②当你不能排除所有假设时,时间估计期间的目标是通过客户澄清假设、排除尽可能多的假设,任何残存的假设都是风险。③珍惜客户时间,客户只需要看到听到你的问题,还有建立起来的使用情节。④试着一次收集好所有假设,然后立刻与客户全部进行澄清,安排一个排除假设的会议,一旦有答案了就进行最后一轮计划扑克牌游戏。⑤当使用情节(每个具体的子任务)的估计值打破了15天的规律(一般不应该超过7天),你可以根据下述做法,择一而行:把使用情节分解为若干个更容易估计的使用情节;与客户进行交流。

        得到合理的时间估计值,重复进行以下步骤:(1)与客户交流(2)进行计划扑克牌游戏(3)澄清假设(4)达成一致。直到大家都相信某个估计值,并且你并不怀疑所做的假设时,就可以在使用情节卡片上记录这个估计值。

        总计总的时间估计值,得到总的交付时间。当时间太长,第三章进行项目计划,得到解决。

        开发技术:共筑愿望,观察和角色扮演使用情节;以计划扑克牌游戏得到估计值。

        开发原则:客户知道他们想要什么,但有时候,你需要帮助他们确定下来;需求总是面向客户;与客户一起

内容简介 《Head First软件开发(中文版)》内容包括:伟大的软件开发:让客户满意、收集需求:知道客户需要什么、项目规划:为成功而筹划、使用情节和任务:开始你实际的工作、足够好的设计:以良好的设计完成工作、构建你的软件代码:测试和连续集成:智者千虑必有一失、测试驱动开发:让代码负起责来、结束开发循环:涓涓细流归大海…… 编辑推荐 您将从《Head First软件开发(中文版)》学会什么? 你可曾想过测试驱动开发的真正含义吗?你又曾想过高级顾问是如何运用最佳实践赚取高额钟点费的吗?或许,你正准备进行自动化的构建,使代码在版本控制之中,为软件进行重构,并将一些设计模式集成到你的软件系统之中。在你完成《Head First软件开发(中文版)》阅读之时,你将能跟踪工作量完成状况,解释开发团队中开发人员的编码能力与时间效率值,并且为项目反复进行需求、设计、开发与部署等工作。 这《Head First软件开发(中文版)》为何与众不同? 我们认为你的时间宝贵,不应该浪费在努力理解新概念之中。利用最新的认知科学与学习理论的研究成果, 《Head First软件开发(中文版)》采取专为大脑工作而设计的丰富视觉化风格,而不是令人昏昏欲睡的冗赘叙述。 重视大脑的学习指南。学习Mary如何满足她的客户的真实用户故事,通过测试驱动开发去避免不可见的软件灾难,通过跟踪burn-down率保持你的项目进度,通过开发速度弄清你的团队的生产率并以此进行评估。掌握经验丰富的软件开发人员的技术和工具。 作者简介 作者:(美国)皮隆尼(Dan Pilone) (美国)迈尔斯(Russ Miles) 译者:陈燕国 陈荧 林乃强
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值