java生成二维码时效 软件开发的制约因素有什么呢?
软件开发的制约因素有什么呢?
大多数软件项目都是失败的。事实上,Standish group的报告显示,超过80%的项目是不成功的,要么是因为超出预算,推迟完成或缺少功能,要么是几个因素的结合。此外,30%的软件项目执行得非常糟糕,以至于在完成之前就被取消了。根据我们的经验,即使使用了Java、J2EE、XML和Web服务等现代技术,软件项目也无一例外地实现了这一规则。本文总结了帮助提高软件开发项目成功率的十个最重要的因素。像Standish Group这样的行业领导者也为软件项目提供重要的成功因素文档。?
?项目的成功因素有哪些?
?1.招聘有技能和经验的人员——环境比以往任何时候都更加复杂。?
比如WebSphere?Studio之类的工具非常有用,但是在没有经验的员工手里,结果往往最多得到普通的结果,很多时候还是失败,因为他们没有 我不知道什么是好的项目管理和应用新技术的最佳实践。优秀的项目经理和项目架构师或技术总监将形成项目的主导力量。他们决定这个项目将如何进行,并对项目的最终成功有很大的影响。如果你有这样的人,好好对待他们,要很好。项目经理和技术总监有必要面试其他团队成员,决定谁可以加入团队。其余的团队成员也需要具备高于平均水平的技能和经验。不喜欢的人。;表现不好的人需要持续的关注,但他们通常can 不符合要求 "最后,他们总是拖团队的后腿,使得项目进展缓慢。然而,这并不意味着团队中不能有任何初级人员。通常这样的成员如果得到机会会更有动力,会尽力把事情做好。例如,在一个20人的小组中,可能有2名领导、6名高级职员、9名中级职员和3名初级职员。这样一个20人的小组就可以细分成4、5个小组,每个小组都有一个组长。IBM软件服务和IBM全球服务(IGS)拥有经验丰富的项目经理、项目架构师、技术指导和顾问,他们可以帮助您的项目。?
?2.应用尖端技术,但不极端尖端技术?
《《财富》》杂志500强中的许多公司都在他们的软件项目中成功应用了成熟的技术(如J2EE和WebSphere产品系列),这对他们的商业模式产生了很大的影响。在某些情况下,有必要应用尖端技术,这很有帮助。你在竞争中获得显著的优势。然而,这样的策略需要承担风险。在这种情况下,拥有优秀的项目人员更为重要。由于很少有人有这种尖端技术的经验,因此获得外部专家的帮助也同样重要。如果项目采用了极其前沿的技术或者尚未通过测试的技术,就必须考虑研究计划本身。这可能有助于新兴技术中概念的早期验证。但是,与使用更成熟技术的项目相比,以相同的或相同的成本交付基于此类技术的项目是不现实的。?
?3.使用正确的开发流程?现代软件项目的特点要求使用螺旋开发过程(如Rational统一过程(RUP))、重复的IGS方法甚至灵活的方法(如极限编程)。?
螺旋式开发过程有多个开发阶段,可以逐步降低项目风险。在每个阶段结束时,需要决定是继续还是停止。在初始阶段,原型可以用于团队研究新技术,也可以用于研究用户界面。例如,RUP方法定义了每个阶段的角色、任务和组件,这些角色、任务和组件起到了促使项目团队考虑项目相关事宜的作用。对于任何项目来说,最重要的一点不是用哪个流程,而是流程应用的有多好。项目经理和技术主管需要注意并知道如何根据遇到的问题调整过程,以及如何应用最佳实践来实现过程。该过程为需要做什么提供了指导和提示。另一方面,偏离过程原理太远也会导致灾难性的结果。相关文章 "软件开发项目的最佳实践内容详细。?
?4.提供合适的工具?任何软件项目都需要合适的工具来帮助团队提高生产力。?
这些工具包括适当的硬件设备以及设计、编程和测试工具。工具成本的合理性解释起来比较简单。例如,假设像WebSphere Studio Application Developer这样的IDE环境每周可以为程序员节省五个小时。平均来说,这个程序员每小时花费公司50美元。很容易看出这样的投资回报(ROI)是值得的。同理,要保证团队使用最新最快的PC进行开发,还需要提供合适的测试环境进行质量保证、用户确认和部署测试。应用新工具或技术的培训对于充分发挥这些工具或技术的优势是必要的。IBM有一个庞大的培训资源库,包括在线和课堂课程。IBM软件公司服务和IGS顾问还可以提供专门的讨论、咨询和现场培训。?
?5.应用源文件控制管理?
源文件控制管理(SCM)系统应该在项目开始时应用。不仅仅是源代码,所有的文档都应该由SCM系统进行版本控制。这允许团队回顾项目的历史,并获得项目早期版本的所有相关文档,例如用例、架构和设计文档,以及测试脚本和测试计划。我推荐你使用企业级的SCM产品,比如Rational ClearCase/ClearQuest。?
?6.应用有效的评估方法?
大多数项目将比预期时间多执行25%到100%,但也有一些项目是按时执行的,比计划落后不到10%。如果你能 如果你不能准确地估计进度,你就不能。;不能有效地计划。但是,项目初期的预计时间和工作量非常模糊。这些估计包含了大量的偶然性,可能会使估计值翻倍。软件开发是一个逐步求精的过程,估算也是如此。随着项目的进展,估计会更加准确。项目的实际时间和工作量可以在项目结束时知道。大多数软件工程师往往会低估,项目的成本很可能会自然增加。在估计进度的时候,注意不要把进度压缩太多。如果团队可以 如果你不按照紧凑的时间表行事,最终很可能会与预期的时间表相差甚远。?
?7.把工作分解成小目标?
小目标是大目标细化的结果。主要目标是一个阶段或增量的结束。为了实现这一点,项目需要在整个过程中设定详细的目标。小目标可以在一两天,几个小时内实现。它有以下优点:可以改进状态报告;可以实现细粒度的控制,因为我们可以知道一个小目标是否没有完成;因为一个小目标大概每天都能实现,会更好的激励员工;也可以降低加班执行的风险。为了避免项目中出现各种问题,建议从小目标的设定开始实施。最好的方法是用电子表格记录和跟踪小目标的实施进度。通过微软等工具?Project)最好只用于更高级别的任务。当然只是把现阶段分成多个小目标任务。后期必要的时候会分。虽然开发人员认为设定小目标很麻烦,但这个问题补偿了团队领导和个人开发人员定义自己目标的能力,分散了项目管理和跟踪的工作量。通常技术指导定义的一个任务,一旦被开发者细分成几个小目标,就会变大。在其他情况下,有时技术指导会提供替代的、更快的和更容易维护的解决方案。他还同意分解任务,分配更多的时间给他们。尽早实施小目标计划可以避免潜在灾难性结果的发生。?
8.以小时为单位跟踪所有项目时间?
不仅要跟踪按小时计酬的顾问和承包商所花费的时间,还要跟踪每个项目成员所花费的时间。这样做的好处是,您可以将个人花费的时间与项目计划的时间进行比较。如果个人已经转向其他任务,应该采取一些步骤。同样,也可以将实际时间与预计时间进行比较,进而为项目的下一阶段或下一个项目的时间估算方法提供反馈。对小目标总时间的估计可以限制时间限制的超出,因此这些时间限制可以被修改。小目标技术的应用需要各方面的时间和努力,包括技术指导、团队领导和每个开发者。每个开发人员至少每周要以电子表格的形式提交自己的工作状态,以便项目主管更新每个更高级任务的完成进度百分比。这将把项目管理的工作量分散给其他团队成员。跟踪项目时间将花费更多的时间,但它可以实现非常有效的项目管理。?
?9.应对不断的变化?
对于大多数项目来说,项目的月需求变化不会超过5%。造成这些变化的原因有很多,比如没有在正确的时间问正确的问题,正在处理的问题的变化,用户的变化。;想法或概念,商业环境的变化或市场的变化。功能特性的蠕变很容易使成本和执行进度超出预估。在项目初期,项目需求中有很多容易混淆的地方。当它到达某个阶段时(通常在第二阶段结束时),必须确定项目需求并锁定其核心内容。变更管理流程由所谓的 "改变董事会和,由参与项目的各个领域的代表组成,如业务、市场、开发、质量保证、用户文档、客户支持和项目管理。变更委员会负责将变更移交给适当的人员,解释变更,并衡量来自各方的估计值。在获得足够的信息后,变更委员会可以决定是接受还是拒绝变更。一旦更改被接受,它将被添加到计划中,并且实施进度将被更改。有变更的项目比没有变更的原始项目提交得晚,但是它仍然是成功的,因为它仍然满足修改后的实施时间表和股东 期望。如果一个项目在变更委员会启动后变更超过5%,说明这个项目制定的很差或者失控,最终很可能失败。?
?10.项目负责人?
对于公司的经理来说,任命一名执行官对软件项目的结果负责是非常重要的。这关键执行者不仅要有全局观,还要获取和控制项目所需的资源,帮助和支持团队。同样重要的是,执行人不需要干预和管理群体中的一些琐事。实践者应该相信团队可以委托一个重要的任务。?
?结束语?
本文列举了帮助提高软件开发项目成功率的十个因素。通过遵循这些指导方针,您可以在预算和预定时间内更好地完成项目,保持一个高效的团队,并尽量不改变功能特性。
有什么适合女生玩的手机单机游戏?
第一
Toka游戏系列,没有wifi,占用内存很少。
各种小人简直可爱不 我不想要它们。
在这里你可以随意做很多有趣的事情。
这个游戏有很多场景:医院,城市,农田等等。
It 这真的很有趣。各大网站都可以找到下载。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。