做好项目管理,才是软件开发的关键(做好项目管理,才是软件开发的关键环节)

分享职场生活、职场攻略、领导同事相处技巧和创业资源

文|洪生鹏

软件开发过程中,往往有很多细节和意外让我们的计划赶不上变化。譬如需求变更、人员流动等。为了保证项目进度可控,有效规避项目在开发过程中的风险,项目管理的作用在软件开发中的重要性可想而知。

项目管理大致有项目计划和开发团队管理两方面。

建立项目计划

(1)设计总体架构

针对项目的实施需要,采取适合项目且相对成熟的框架结构。

前些年,我在某集团技术部门担任技术员时,那时公司的产品总出现各种各样的问题,例如日常发布系统时或访问量稍微过大时,系统就会出现故障,一天下来收到了100多份bug邮件,影响了业务系部门的正常使用。

之所以出现这么多的bug,是因为无论业务系提什么需求,技术部都全盘接受了,按理这样也不会导致出现这么多bug,技术部服务于业务部,是正常的,毕竟公司的主要收入在业务部。可问题是,数据字典是每个开发人员自己设计的,导致大多数数据字典冗余、甚至设计不合理。各自只关心自己负责的模块。等到模块之间有关联时,问题就接踵而至了。

那时候公司用asp.net mssql server技术,并没有采用相应的框架,代码冗余多,后来团队经过两个多月的整改,系统才勉强能正常使用。

(2)控制可扩展度

扩展度过大,将提高系统的复杂程度,延长开发时间;扩展度过低,会直接影响系统的二次开发与维护。控制系统的可扩展性,能提高开发效率,降低系统维护的难度。

不知你有没有觉得,项目前期没有做好,后面复制粘贴的现象就会到处可见,导致冗余的代码越来越多,维护越来越困难。

(3)建立基础设施

合理分配软、硬件等基础设施的部署所需要的时间与成本。

(4)划分开发任务

利用WBS(Work Breakdown Structure,工作分解结构)对可交付结果进行分类与划分。每个项目划分为多个不同阶段,每个阶段又可以分为多个工作包(Work Package),工作包是WBS里最小的可交付结果,最后从工作包中分解出多个开发任务列表,分配给各个开发人员。

(5)部署开发进度

从需求调研、进行概要设计、进行详细设计、执行开发任务、测试、联合调试、SIT部署、生产环境部署都常常延误,项目经理必须有谈判能力、预判风险能力、控制能力。项目经理就是在满足各方项目干系人的利益的情况下,推动项目向前发展,最后达到项目验收。

(6)测试项目成果

每个工作包都应该同步部署测试工作,提高项目的质量。对出错BUG的工作包应该由测试人员以文本方式记录,向开发人员展示错误所在,让开发人员及时进行修改。

管理开发团队

(1)组建团队

按照工作任务与项目时间的前提条件建立团队,按团队职责分配人员,一般小组控制在6~10人之间。当团队人数超过20人时,应该考虑把团队分解成2个独立团队,负责不同的开发任务。

(2)分配开发任务

在每个迭代周期内(一般是15~30个工作日),应该把每个工作包进一步细分为多个开发任务,开发任务的开发时间应该控制在15个工作小时以内,如果开发任务的开发时间超出15个工作小时,应该考虑把任务再度细化。而开发任务应该以自由选择的方式分配给每个组员。

(3)跟进开发进度

在迭代的前期举行一次会议,让组员了解开发的进展及流程,并以自主选择的方式分配开发任务。用工具记录开发流程的进展,在每个工作包完成开发后应该进行性功能的测试,并以文本方式记录测试结果。

做好项目管理,才是软件开发的关键(做好项目管理,才是软件开发的关键环节)

每天举行一次10多分钟的站立会议,让组员汇报昨天已完成的开发任务,当天将要做的任务,以及开发过程中所遇到的问题。

并在每周末举行一次例行会议,交待总体进程。

在迭代末期举行一次冲刺会议,总结项目的进展,交行已完成的任务,回顾该迭代周期内所遇到的问题,为下一个迭代做好准备。

期间千万不要忽视开发规范和代码审查。

关于代码规范,感兴趣,请浏览《你见过马化腾、刘强东编写的代码吗?

代码审查,顾名思义,是一个检查代码并确保其能正常工作的过程,并且尽可能的优化代码。

有人会对代码审查的流程反感,我写的代码还要别人审查,难道怀疑我们的编码能力。

其实不然,有人检查我们的代码其实是件好事,能减少因为粗心的犯错带来的风险。 即使再好的开发人员也会有大意的时候。

做好项目管理,才是软件开发的关键(做好项目管理,才是软件开发的关键环节)

在团队中的每个人都有自己的强项,通过代码审查。有些人可能会提出一个更聪明的解决方案,用一个更适合的设计模式来降低复杂度并提高性能。

通过别人的审查,他们可以察觉到可能的问题和发现能改善的地方,对代码提交者的编码水平提高有很大的帮助。

审查者则可以通过读别人的代码学习到很多新知识和技巧,并找出适合他们自己工作的解决方案。

(4)系统测试

对每个已完成的工作包进行适时的测试,保证系统质量与性能。对测试结果进行文本的记录,并把测试结果与绩效工资收入挂钩,并以真实数据计算组员的绩效收入。

测试人员应该以文本方式记录bug,并与开发人员共同工作的,把突出的缺陷演示给开发人员,以提高修改的效率。

这里的绩效考核就要慎重了,搞不好会导致团队人员的流失

(5)解决开发中的问题

对开发人员进行前期培训,可适当按工作能力分配任务,指导组员的开发。当遇到问题时应该在当天的站立会议时即时提出,避免影响开发进度。

(6)流程化管理

流程化管理(process management),是一种以规范化的点对点的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法。它是一个操作性的定位描述,指的是流程分析、流程定义与重定义、资源分配、时间安排、流程质量与效率测评、流程优化等。因为流程化管理是根据团队的具体情况而设计的,因而这种流程会随着内外环境的变化而需要被优化。

针对一个IT软件管理来说,应该抓好以下四大流程管理:

  • 编码规范的制定与执行;
  • 开发任务流程化的制定与执行;
  • 开发进度流程化的制定与执行;
  • 测试成果的制定与执行。

流程化的管理减少了团队成员盲目与重复的去工作,提高了团队的工作效率。同时也提高了团队管理者的效率,为管理提高了一个便捷的管理工具,所以一个高效团队的打造,离不开流程化的管理。

做好项目管理,才是软件开发的关键(做好项目管理,才是软件开发的关键环节)

(7)需求变更,修改项目计划

在开发过程中,遇到需求变更,要做好详细的文本记录,让客户了解需求变更的实际情况和开发方为之所付出的成本代价。与客户探讨,让客户了解计划修改对项目进度所造成的影响。同时为开发人员争取工作量。

笔者曾遇见过,项目开发过程中,需求变更了,可给予相应的开发人的工作量却没有任何变动,这对开发人员很不公平,开发人员只好通过加班加点来完成任务。这样很容易导致人才流失,做完了这个项目,组员都陆陆续续辞职了。

软件开发管理,必须得提高软件团队管理能力,管理者就要利用一切机会让团队成员感受到团队的力量,让他们不孤单,不委屈,并通过每一次的开发任务让他们不断成长。

做好项目管理,在软件开发中不容忽视,只有做好了,才不会影响项目进度,才能推动项目向前发展,最后达到项目通过验收,顺利完成项目的开发任务。

【END】

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年11月24日 上午10:35
下一篇 2022年11月24日 上午10:49

相关推荐

  • 吉林省教育厅 项目系统

    吉林省教育厅项目系统吉林省教育厅项目系统的全面工作,工作先进程度是2018年10月24日,本届教育部研究合作,对本次调查的工作成果进行了一系列改革。其中的一项“工作评价”,给出了初…

    科研百科 2024年11月20日
    0
  • 医学科研项目执行情况报告医学科研项目执行情况报告

    医学科研项目执行情况报告 随着现代医学的不断发展,医学科研项目成为了推动医学进步的重要力量。在医学科研项目中,研究人员通过实验研究来探索新的医学技术和方法,为临床实践提供了重要的参…

    科研百科 2024年9月13日
    22
  • 军民融合科研项目 军民融合科研项目是什么

    军民融合科研项目是指将军民科技领域中的先进技术和资源进行整合,通过军民深度融合的方式,推动科技创新和经济发展。近年来,军民融合项目得到了越来越多的关注和支持,已经成为推动科技进步和…

    科研百科 2024年4月1日
    133
  • 项目管理软件有哪些

    项目管理软件有哪些 随着信息技术的不断发展,项目管理软件已经成为项目管理中不可或缺的工具。以下是几种常见的项目管理软件: 1. Microsoft Project: 这是一款功能强…

    科研百科 2024年5月28日
    61
  • 南洋理工 系统项目管理

    南洋理工大学系统项目管理 南洋理工大学是一所世界知名的高等教育机构,其计算机科学专业一直处于世界领先地位。在系统项目管理方面,南洋理工大学也取得了显著的成就。本文将介绍南洋理工大学…

    科研百科 1天前
    0
  • 课题终止说明

    课题终止说明 随着科技的不断发展,我们的课题也变得越来越复杂和多样化。有时候,我们可能会感到我们的研究已经陷入了瓶颈,无法继续进展下去。这时候,课题终止可能是一个必要的决定。 课题…

    科研百科 2024年11月16日
    2
  • 中国农业银行网银 麒麟操作系统驱动

    中国农业银行网银麒麟操作系统驱动 中国农业银行是一家中国最大的银行之一,它拥有庞大的网上银行系统。这个系统需要使用麒麟操作系统来运行,而麒麟操作系统是清华大学开发的一个基于Linu…

    科研百科 2024年12月4日
    0
  • 工会经费管理制度

    工会经费管理制度 工会经费是工会组织用于维护和支持工会工作的经费。其管理制度应当科学合理,确保经费的使用效益和安全性。本文将对工会经费管理制度进行探讨和总结。 工会经费管理制度应当…

    科研百科 2024年9月12日
    19
  • 免费视频会议软件大全:12款好用又免费的视频会议软件,企业用户必备

    在全民抗击疫情的特殊时期,为了防止疫情扩散,减少人员流动与聚集,不受地理空间限制的远程办公软件在企业陆续复工以来,不断迎来流量高峰。 在此背景下,视频会议成为上千万家企业、数亿名员…

    科研百科 2023年3月25日
    230
  • 开足马力 新津数字经济产业园核心示范项目跑出“加速度”(新津智能制造产业园)

    来源:【红星新闻网】 红星新闻网(记者刘杰)11月17日报道近日,天府牧山数字新城数字经济产业园核心示范项目一标段的地下基础底板全面“封底”。走进项目施工现场,塔吊高耸,机械轰鸣,…

    科研百科 2022年12月13日
    134