建立项目里程碑
当我们在路上行走的时候,会在沿途观看路标,当到达某一个心目中的路标时,我们便知道还有多少路或多少时间才能够到达终点。这些路标是我们在旅程中的里程碑,让我们可以清楚地知道目前所在,离开目的地有多远,让我们能估算何时才能够到达目的地。
让我们利用硬件供应商或渠道商的供应里程碑来作一个简单的说明,硬件装钳完成后或收到厂家运到的产品时便是一个里程,把商品送到客户办公室让客户签收后便是另一个里程,安装测试后让客户验收便成为最后一个里程。完成这三个里程后便知道项目已经完结。
软件开发的里程碑
软件开发服务的企业,往往在签订协议时收取一笔定金,然后需要支付数月所需的开发组员薪资,而且软件开发服务商往往未能在指定时间内完成开发的项目,各种原因导致项目延误,那么便需要企业应用本身的流动资金来应付。
如何才算是一个里程碑呢?简单的说是到达一个阶段可以让客户看到部分结果的地方。就以软件开发为例(如左图),要开发一套软件,我们需要经过一定的流程或阶段。分别为信息搜集、需求分析、系统设计、系统开发、系统测试。但只有四个阶段产生交付物,分别在信息搜集阶段后将产生一份《需求说明书》、在需求分析后产生一份《功能说明书》、在系统设计阶段后产生《系统逻辑说明》及《 DFD ( Data Flow Diagram )图》、和在系统测试阶段后产生《测试报告》。每一份交付物的完结说明我们已经完成了一个阶段的工作,在客户确认这一份工作成果后我们才进入下一个阶段的工作。
每一份交付物将是整个系统开发过程中的『里程碑』。所以里程碑的建立必需连带交付物,而这交付物必需让客户确认。当客户确认我们的交付物后,也是客户确认我们已经在系统开发的过程中到达某一个指定的阶段,完成某一部分的工作。
确认里程碑的交付物
当我最初执行项目管理的时候,往往把交付物送交客户确认后,两三各星期下来都没有回应,不断跟进也没有多大的进展,相信很多从业人员往往会说『客户需要太长的时间来进行确认,将影响项目的进度』。又或者会说『客户不会确认过程中的任何交付物,因为。。。。(很多理由和原因)。。。』!这便是一个项目经理的经验问题,而不是客户会不会、或者愿意不愿意确认的问题。
当我们进行项目启动集会的时候,项目经理便应该跟项目赞助人很明确地说明确认项目过程中所产生的交付物的重要性,同时更应该清楚地说明交付物在没有确认前将不能够开展下一阶段的工作,在没有得到客户确认一个阶段的交付物时,继续开展下一阶段的工作对项目会带来莫大的风险,因为任何的工作都可能被客户推翻,可能变成废物,或需要不断进行修改。这不但浪费组员的时间及士气,更严重地延误项目的进度,延误项目的最终交付,导致项目的超时、超支。
明确的沟通
在启动集会中我们更应该透明化。应该很详细地让项目赞助人及其他参与集会的项目涉及人清楚地理解项目的整个流程和进度时间计划。让他们对项目的运作有初步的认识和了解,好能跟项目小组互相配合。同时更需要采用各种不同的软技巧(参阅项目管理技巧新探)来让客户依时确认交付物,让我们能够进入下一阶段。
当客户确认我们所提交的交付物后,便是客户同意我们已经完成了某一个阶段的工作,如果我们在合约谈判的时候把服务收费时间按项目交付物来让客户支付,那么我们不但能够有助企业的资金流动,更不用为收费的事情因项目的延误跟客户发生争执。故此在项目建立的初步阶段,我们便应该建立有关项目的里程碑和工作架构分解。让我们能更有效的管理项目的进度。
在软件工程中什么是里程碑
里程碑是用来说明项目进展情况的事件。通常把一个开发活动的结束或一个项目开发任务的完成定义为一个里程碑。 里程碑必须与软件开发工作的进展情况密切相关,而且里程碑的完成必须非常明显(也就是说,里程碑应该有很高的可见性)
如何建立软件开发项目里程碑(文章来源:中国研发管理网 )
当我们在路上行走的时候,会在沿途观看路标,当到达某一个心目中的路标时,我们便知道还有多少路或多少时间才能够到达终点。这些路标是我们在旅程中的里程碑,让我们可以清楚地知道目前所在,离开目的地有多远,让我们能估算何时才能够到达目的地。 让我们利用硬件供应商或渠道商的供应里程碑来作一个简单的说明,硬件装钳完成后或收到厂家运到的产品时便是一个里程,把商品送到客户办公室让客户签收后便是另一个里程,安装测试后让客户验收便成为最后一个里程。完成这三个里程后便知道项目已经完结。 软件开发的里程碑 当进行软件开发的时候,我们也需要建立开发项目的里程碑,才能够知道本身的进度,但最重要的是里程碑可以用来建立收费的关口。为什么有这个说法呢? 软件开发服务的企业,往往在签订协议时收取一笔定金,然后需要支付数月所需的开发组员薪资,而且软件开发服务商往往未能在指定时间内完成开发的项目,各种原因导致项目延误,那么便需要企业应用本身的流动资金来应付。,我们需要经过一定的流程或阶段。分别为信息搜集、需求分析、系统设计、系统开发、系统测试。但只有四个阶段产生交付物,分别在信息搜集阶段后将产生一份《需求说明书》、在需求分析后产生一份《功能说明书》、在系统设计阶段后产生《系统逻辑说明》及《 DFD ( Data Flow Diagram )图》、和在系统测试阶段后产生《测试报告》。每一份交付物的完结说明我们已经完成了一个阶段的工作,在客户确认这一份工作成果后我们才进入下一个阶段的工作。 每一份交付物将是整个系统开发过程中的『里程碑』。所以里程碑的建立必需连带交付物,而这交付物必需让客户确认。当客户确认我们的交付物后,也是客户确认我们已经在系统开发的过程中到达某一个指定的阶段,完成某一部分的工作。 确认里程碑的交付物当我最初执行项目管理的时候,往往把交付物送交客户确认后,两三各星期下来都没有回应,不断跟进也没有多大的进展,相信很多从业人员往往会说『客户需要太长的时间来进行确认,将影响项目的进度』。又或者会说『客户不会确认过程中的任何交付物,因为。。。。(很多理由和原因)。。。』!这便是一个项目经理的经验问题,而不是客户会不会、或者愿意不愿意确认的问题。 当我们进行项目启动集会的时候,
开发过程中据说的迭代是什么意思
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法*求某一数学问题的解。
对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。
扩展资料
相关概念
函数
在数学中,迭代函数是在分形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。
模型
迭代模型是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型。
算法
迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
方法
迭代的方式就有所不同,假如这个产品要求6个月交货,我在第一个月就会拿出一个产品来,当然,这个产品会很不完善,会有很多功能还没有添加进去,bug很多,还不稳定,但客户看了以后,会提出更详细的修改意见。
这样,你就知道自己距离客户的需求有多远,我回家以后,再花一个月,在上个月所作的需求分析、框架设计、代码、测试等等的基础上,进一步改进,又拿出一个更完善的产品来,给客户看,让他们提意见。
就这样,我的产品在功能上、质量上都能够逐渐逼近客户的要求,不会出现我花了大量心血后,直到最后发布之时才发现根本不是客户要的东西的情况。
优势
这样的方法很不错,但他也有自己的缺陷,那就是周期长、成本很高。在应付大项目、高风险项目——就比如是航天飞机的控制系统时,迭代的成本比项目失败的风险成本低得多,用这种方式明显有优势。
如果你是给自己的单位开发一个小MIS,自己也比较清楚需求,工期上也不过花上个把月的时间,用迭代就有点杀鸡用了牛刀,那还是瀑布模型更管用,即使是做得不对,顶多再花一个月重来,没什么了不起。
参考资料:百度百科-迭代
软件开发的一般流程是什么?_?
软件开发一般分为五个阶段:
1.问题的定义及规划
此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。
2.需求分析
在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。“唯一不变的是变化本身”,同样软件需求也是在软件爱你开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
3.软件设计
此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。还的软件设计将为软件程序编写打下良好的基础。
4.程序编码
此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。
5.软件测试
在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有白盒测试和黑盒测试。
以上就是软件开发过程的五个阶段,但是有的时候在软件爱你开发过程中并不是必须按照这个过程进行的。
*^_^* 求采纳
(#Д)
急需软件项目管理案例,要案例就行,软件项目的~
A公司是一家美资软件公司在华办事机构,其主要的目标是开拓中国市场、服务中国客户,做一些本地化和客户化的工作。它的主要软件产品是由总部在硅谷的软件开发基地完成,然后由世界各地的分公司或办事机构进行客户化定制、二次开发和系统维护。这些工作除了日常销售和系统核心维护之外,都是外包给本地的软件公司来做。东方公司是A公司在中国的合作伙伴,主要负责软件的本地化和测试工作。
Bob先生是A公司中国地区的负责人,Henry则是刚刚加入A公司的负责此外包项目的项目经理。东方公司是由William负责开发和管理工作,William本身是技术人员,并没有项目管理的经验。
当Henry接手这项工作后,发现东方公司的项目开发成本非常高,每人每天130美金,但客户的满意度较差,并且每次开发进度都要拖后,交付使用的版本也不尽如人意。而且,东方公司和A公司硅谷开发总部缺乏必要的沟通 只能把问题反馈给Henry,由Henry再反馈给总部。但由于Henry本身并不熟悉这个软件的开发工作,也造成了很多不必要的麻烦。
为此,Bob希望Henry和William用项目管理的方法对该项目进行管理和改进。随后,Henry和William召开了一系列的会议 提出了新的做法。
首先,他们制定了详细的项目计划和进度计划;其次,成立了单独的测试小组,将软件的开发和测试分开;并且,在硅谷和东方公司之间建立了一个新的沟通渠道,一些软件问题可以与总部直接沟通;同时,还采用了里程碑管理。
六个月后,软件交付使用。但是客户对这个版本还是不满意,认为还有很多问题。为什么运用了项目管理的方法,这个项目还是没有得到改善?
Henry和William又进行了反复探讨,发现主要有三个方面问题:1、软件本地化产生的问题并不多,但A公司提供的底层软件本身存在一些问题;2、软件的界面也存在一些问题,这是由于测试的项目不够详细引起的;3、开发的周期还是太短,没有时间完成一些项目的调试,所以新版本还是有许多的问题。
此时,Henry向Bob提出是否采用公开招标的方式,选择新的、实力更强的合作伙伴。但Bob认为,与东方公司合作时间已经很长了,如果选择新的伙伴又需要较长的适应期,而且成本可能会更高。于是,Henry向东方公司提出一些新的管理建议。首先,他们采用大量的历史数据进行分析,制定出更详细的进度计划;其次,要求东方公司提供详细的开发文档和测试文档 做的工作没有任何文档,给其他工作带来了很多困难);第三,重新审核开发周期,对里程碑进行细化。
又过了六个月,新的版本完成了。这一次,客户对它的评价比前两个版本高得多,基本上达到项目运行的要求。但客户还是对项目进度提出了疑问,认为实时推出换代产品不需要那么长的时间。
较常见的做法。在软件外包工程中,保证质量的进度是很难控制的。对于项目经理来说需要一整套复杂的能力,比如制定计划、确定优先顺序、干系人的沟通、评价等,每一种能力都与项目的最终结果有直接或者间接的关系。
然而,国内的项目经理大多没有接受过正规训练,缺乏项目管理方面的专业知识的技巧,往往只是凭借以前的少量经验盲目去做,容易出现各种问题。尤其是在管理外包项目时,缺乏足够的经验和技巧,往往造成进度不断推迟,而质量无法保证的情况。
在这个案例中,我们可以看到现在IT业内许多外包项目的影子。
在该案例中,东方公司没有专门的项目经理,是由技术人员William兼做管理。这是国内软件公司经常会出现的问题。最初,出现进度落后的问题时,A公司的Henry与东方公司的William讨论后决定采用项目管理中计划管理等手段,其中包括里程碑管理。这是控制进度的较常见做法。
里程碑管理的引入
一般来说,在项目开始时,项目组成员都会对项目制定一个详细的计划。通常情况下,在明确的工作说明书(SOW)和WBS的基础上制定具体的进度计划时,需要采用一些具体的技术。像这种软件外包项目,最成熟的技术是里程碑管理。
里程碑一般是项目中完成阶段性工作的标志。不同类型的项目,里程碑也不同。比如,在开发项目中,可以将需求的最终确认、产品移交等关键任务作为项目的里程碑。本案例中,Henry在接手项目后采用里程碑进行管理是很恰当的。
不过,要注意的是,每到一个里程碑处,应及时对前段工作进行小结,并对后续工作进行计划调整。对于一些管理效果明显的领域,可以不必投入较多精力。而对于下一步管理过程中可能会出现问题的领域,应给予较多的关注。当然,在软件项目里,进度的变化是较常见的事情。
在本案例中,采用里程碑管理后仍没有达到客户的要求,进度依然拖后。在这里,就需要考虑另一个因素-质量与进度的关系。
通常,项目管理的前提是保证在预算内、满足质量的前提下,按进度完成项目。因此,可以看到,保证质量是前提。那么,如何在满足质量的前提下管理进度呢?单纯从项目管理理论知识中并没有一种有效的方式。具体步骤为:
首先,尽量利用历史数据。在本案例中,Henry应该调查之前的项目情况,将会发现可以类比的情况,事先就可以知道需要管理质量和进度的关系。
其次,由于此项目是软件外包项目,Henry不能完全掌握项目的资源 调度情况,因此缺乏对质量的控制。这也是大多数外包工程中最令人难以掌握的地方。在这里,可以采用对进度管理 <http://www.csai.cn/incsearch/search.asp?key=%BD%F8%B6%C8%B9%DC%C0%ED>计划添加质量参数的方法,也就是通过参数调整进度和质量的关系。
这一做法的前提是要有一定的历史数据。比如,从历史数据中得知,完成子项目的时间是5天,测试后有15个问题;完成同样子项目的时间是7天,测试后有10个问题;完成同样子项目的时间是8天,测试后有5个问题,……以此类推。
随着数据的不断增多的,采用两维坐标图,就会得到一些离散的点(不考虑资源的差异),并形成一条曲线,见图1。考虑项目允许的质量范围,对照图中的数据,找出相应的参数。根据得到的参数,确定一个合适的进度计划
转载请注明出处51数据库 » 软件开发计划里程碑 如何建立软件开发项目里程碑
我妈不知道我这么屌
