`
pincs
  • 浏览: 13015 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

项目开发:不可忽视的管理问题

阅读更多

小型软件项目,通常是指工作量在3-12人月之间的项目,在小型软件开发企业中,这类项目一般是放任自流,少有管理。在这类项目中,项目经理的角色 常常由公司老总或部门老总亲自充当, 项目往往具有投资少、人员少、时间紧、需求不明确等特点。由于针对小型项目,缺乏科学有效的管理方式,或企业难以负担类似于大型软件开发的管理成本,这类 项目的开发过程往往会产生诸如项目进度难以控制、产品缺陷多、后期维护工作量大、客户满意度低、文档缺乏等诸多问题。一项调查表明,大约有70%的小型软 件开发项目超出了预期时间,90%以上的项目费用超出预算。因此,小型项目迫切需要引入适度的开发管理。本文将针对小型软件项目开发过程中的核心管理问题 给出一些行之有效的解决方案。

    一、需求管理

    对于任何类型的软件项目,需求阶段都是最重要的阶段,需求管理是整个软件项目管理的重中之重。需求管理通常包括两个大方面的问题:需求收集分析与需求变更管理。

    首先,对于需求收集与分析,核心风险来自于需求不明确。由于客户和软件开发团队的背景不同,对同一问题的理解自然存在差异。这些差异如果不能在需求的最初 阶段尽量弥合,那么必然导致需求增加与需求更改。因此,在需求分析阶段,要求需求分析人员具有丰富的客户沟通经验,必须多花一些时间,充分了解用户的目标 与工作过程,站在客户立场上,设身处地考虑问题,帮助用户将模糊的需求清晰化,将简略的需求明细化、完善化,将混乱的需求逻辑化、条理化。

    其次,任何项目都无法承受频繁的需求变更与需求增加。因此,除了在需求收集阶段需要尽可能将需求细化外,还需要在适当阶段尽量冻结需求。公司的销售人员往 往倾向于接受用户模糊的要求,并暗示用户“什么都好商量”。这往往给项目后期甚至项目完成后又频繁更改需求,甚至导致项目严重拖延、开支严重超出预算埋下 祸根。因此,在需求细化的后期阶段,必须“拉下脸来”,就需求冻结和后期需求增加的费用支付方式和客户达成共识。

    二、关注项目设计的灵活性

    对于中小型项目,在设计过程中,必须关注设计的灵活性。在实际的项目中,即使在需求阶段花再多的经历,也没法完全避免开发阶段的需求变更。因此,在架构设 计中,尽可能采用灵活的设计就至关重要。对于项目设计人员,可以借鉴RUP(Rational Unified Process)中基于组建的体系结构思想,利用基于独立的、可替换的、模块化组件的体系结构管理复杂性,提高重用率,构建有弹性的、能适应变化的、易于 理解的、有助于重用的体系结构。

    三、开发进度管理

    开发进度管理,主要需要关注如下几个方面:

    1. 任务分配、人力资源分配、时间分配要和工程进度协调;

    2. 任务分解要合理,并且尽量并行化;

    3. 对项目进度控制要尽量细致,并且在实际执行过程中审查要严格;

    4. 针对项目中不容易控制的部分,譬如技术难点、来自于客户的时间拖延要做好充分的准备;

    5. 要为测试、缺陷修正和预期的需求变更预留足够的时间;如有必要,还应采用适当的协同进度管理工具。

    四、开发团队管理

    对于开发团队管理,要做到分工明确、因人施用。根据水平的高低,合理分配工作量。并且关注团队内部的交流沟通结构,避免“互相等”和“误解”。尽量让每个人的工作量饱和化。在项目开始以后,要尽可能保持团队稳定,避免人员变更给团队带来的协作混乱。

    五、配置管理和SQA

    软件配置管理(SCM)的主要作用是标识、控制、和状态统计。

    这些功能的意图是维护和跟踪功能、配置、产品、产品基线、需求规约和其他文档的变更,软件版本的描述;跟踪变更申请,问题报告和解决记录,提供配置控件委员会(CCB)会议纪要等。

    软件开发之后的变更需要从多个侧面加以注意:

    1. 任何返工都是有代价的

    2. 将资源用于返工则无法开展新项目

    3. 如果变更不能精确的标识和控制,那么软件的版本就会因为未知和没有记录的修改而无法跟踪

    4. 如果变更没有考虑到所有的副作用,那么对于一个变更所引起的连锁反应的跟踪是非常费时间的

    5. 变更次数的增加会使系统面目全非

    当项目经常变更时候,SQA是非常重要的。SQA应该进行Pareto分析和趋势分析以确定引起变更的根本原因。SQA同时要保证系统的影响是可跟踪、可测试和可验证的。SQA的一个主要目标是在开发的早期发现问题,避免其进入下游开发中。

    六、文档管理

    对于小型项目,首先,必须有文档要求,否则后期的修改、维护、升级都会变得异常困难;其次,对文档的要求应该“适度”,即够用即可。一切以便于后续工作为 目标,不做过于繁琐的要求,不应把大量精力投入进过于繁琐的文档编写。此外,还应注意文档的版本控制,保证文档和代码的一致性。

分享到:
评论

相关推荐

    【项目管理】-项目开发计划

    风险管理是项目开发计划中不可忽视的部分。项目经理需要识别潜在的风险,分析其可能性和影响,并制定应对策略。通过预先规划风险管理,项目团队可以更有效地应对意外情况,降低项目失败的可能性。 质量控制是保证...

    项目开发计划(酒店管理系统)

    《项目开发计划:构建高效酒店管理系统》 在IT行业中,项目开发计划是任何软件开发过程的核心,特别是对于酒店管理系统这样的专业应用。一个详尽的项目开发计划能够确保团队明确目标,有效分配资源,并遵循时间表...

    项目百态:软件项目管理面面观1

    《项目百态:软件项目管理面面观1》是一本探讨软件项目管理中常见问题和模式的书籍。书中通过86个独特的模式,揭示了项目管理中可能出现的各种现象,旨在帮助读者识别并解决这些问题。以下是对部分模式的详细解释: ...

    web开发:人员管理系统

    4. **前端技术**:虽然主要讨论后端,但前端也是不可忽视的一部分。Bootstrap、jQuery或Vue.js等库可以帮助构建用户友好的界面,提高用户体验。 5. **版本控制**:在项目开发过程中,Git是常用的版本控制系统,用于...

    软件项目管理系统开发

    5. **安全性设计:** 安全性是软件项目管理系统设计中不可忽视的一个方面。除了用户认证外,还需要考虑数据加密、权限控制等措施,以防止未经授权的访问和数据泄露。 6. **用户体验设计:** 提供良好的用户体验对于...

    项目开发总结报告实例 项目开发总结报告实例打包下载

    8. **团队协作与沟通**:项目开发不仅仅是技术实施,团队间的协作和沟通同样关键。报告中应包含团队分工、会议记录、问题解决的过程,展示团队如何协同工作以达成目标。 9. **项目管理工具**:项目管理工具如Jira、...

    常见软件项目风险检查表:商业风险、管理风险、技术风险

    1. 政策法规:政府或其他机构对项目开发有限制吗? 2. 市场波动:是否存在不可预测的市场动荡,可能导致项目需求减少或利润下降? 3. 竞争压力:竞争对手是否存在不正当竞争行为,可能影响产品销售? 4. 客户需求:...

    mis系统开发案例MIS系统开发中的项目管理(project.pdf

    任何种开发思路方法最终是要由人来实施,人们在开发工作实施过程中不可避免地要遇到许多项目管理方面的问题。如何正确对待、解决这些问题直接关系到MIS系统开发成败。目前计算机界虽有许多有关MIS系统开发中项目管理...

    SSM项目:校园通讯录信息管理系统.zip

    在开发过程中,安全性是不可忽视的方面,例如防止SQL注入、XSS攻击等。同时,通过缓存策略、数据库索引优化、负载均衡等手段,可以提高系统的性能和稳定性,确保在高并发情况下也能正常运行。 总结来说,"SSM项目:...

    (完整版)软件项目开发之项目预算表.pdf

    这通常是为了应对一些不可预见的事件,如市场变动、技术问题、项目延期等导致的成本增加。 5. 其他费用:这包括旅行费用、通讯费用、办公用品费用等。这些虽是小项,但在总成本中也不能忽视。 6. 制定预算:在收集...

    小软件项目开发的管理

    在小项目开发管理中,还需要注意人员的流动问题。小公司往往人员流动性较大,这对于项目管理和代码维护带来了挑战。因此,为了保证项目的连续性和代码的可理解性,应保留足够的文档记录,并建立项目知识共享和交接...

    软件开发项目管理.doc

    同时,风险管理是不可忽视的一环,包括风险识别、控制和预备方案。 项目管理的各个阶段如下: 1. 需求阶段:进行技术、成本和风险评估,与需求方讨论明确项目目标和价值,确定项目范围、功能及优先级,组建项目...

    项目管理浅谈,从理论到实践讲解项目管理在开发中所起到的作用

    总的来说,项目管理在软件开发中的作用不可忽视,它不仅关乎项目的成功,也是企业竞争力的核心体现。通过理论和实践的结合,持续改进项目管理策略,企业可以更好地应对软件开发的挑战,实现可持续发展。

    java项目开发常见问题分析

    在Java项目开发过程中,开发者经常会遇到一系列挑战,这些问题可能源于编码规范、性能优化、错误处理、编程习惯,甚至是特定框架的使用。以下是对这些常见问题的深入分析: 1. **开发规范类问题**:开发规范是确保...

    项目管理简单模型 项目管理简单模型

    接下来,工作量量化是项目管理中的重要环节,尤其是在软件开发领域,由于其工作的复杂性和不确定性,量化工作难度较大。有效的项目计划应当根据项目实际进展而非日历时间来编写,同时,计划应涵盖项目内容的深入思考...

    vc++项目开发实例

    总之,《VC++项目开发实例》是一个宝贵的自学和实践资源,对于渴望提升VC++编程技能的开发者来说,无疑是一份不可或缺的学习材料。通过深入学习和实践,你将能够更好地应对复杂的软件开发挑战,创造出高效、稳定的...

    【项目管理知识】日本软件开发项目管理的特点.pdf

    日本项目管理中,记录管理是不可忽视的一环。无论是与客户的通信记录、会议纪要,还是审查、测试和管理记录,都需要及时、完整和准确地保存。这样的记录系统确保了所有活动的可追溯性,方便追踪进度,监控变更,并...

    2020年下半年信息系统项目管理师下午真题及答案解析

    这说明即使在敏捷项目中,前期的需求管理和范围定义工作也是不可忽视的。 最后,在软考(信息系统项目管理师考试)中,理解这些知识点对于应考者来说非常重要。掌握这些概念和方法有助于应对实际工作中可能遇到的...

    敏捷软件开发原则、模式与实践.pdf

    这些原则和模式是敏捷开发的基础,对于推动软件开发项目快速迭代、提高质量以及响应变化有着不可忽视的作用。Robert C. Martin通过本书向读者展示了敏捷开发的魅力,并指导读者如何将其应用于实际工作之中。 此外,...

Global site tag (gtag.js) - Google Analytics