软件项目管理:用于高度复杂和不断变化的项目的独特技能

在本文中,您将找到学习软件项目管理实践和工具如何优化发布周期并帮助将最先进的软件快速推向市场的最有用的提示。

包括在这个页面中,您将找到关于软件开发项目生命周期的六个阶段,细节项目经理的职责与SDLC一致,以及来自软件项目管理专家的提示和最佳实践

什么是软件项目管理?

开发尖端软件并不容易,需要一个可控制的环境来管理时间、资源、人员和成本,以确保按时、按预算交付。欧宝体育app官方888这个词软件项目管理指软件开发项目的计划、调度和组织。

项目管理但现代项目管理诞生于20世纪初,当时亨利·甘特开发了甘特图。今天,项目管理实践发生在所有规模和所有行业的组织中,包括制造、信息技术(IT)、营销、金融和建筑。您可以找到项目管理方法的简明历史在这里。

约翰·图基他在1958年引入了“软件”这个术语。最初,公司将软件打包作为购买或租赁计算机的一部分。然而,1969年,IBM开始将他们的软件作为独立产品出售,从而建立了一个专门从事软件的行业。ob欧宝娱乐app手机下载随着行业的发展,软件制造商需要控制和发布软件工具的形式化实践。已经流行的项目管理实践非常适合管理软件项目的生命周期。

为什么软件项目管理很重要?

项目经理有一个很大的责任——涉及到的远远不止是避免逾期、超支的软件项目。软件项目管理确保项目与业务目标保持一致,实现高质量的结果,并向所有涉众交付真正的价值。

软件开发伴随着多种风险和挑战——频繁的技术变更、不成熟的技术、草率的开发实践以及人员和管理人员的更替,等等。创建软件也带来了其他潜在的挑战,例如通过涉众政治和与最终用户、开发人员和其他人进行清晰的沟通。如果不能解决这些问题,可能会导致定义不清的系统需求和其他问题。

软件项目管理通过激励最终用户和涉众参与、管理风险和创建透明沟通的环境,帮助项目经理克服这些复杂性。所有这些功能都可以帮助您设定现实的项目目标,更准确地估计资源需求,报告项目状态,并处理商业压力。软件项目管理提供战略一致性、领导能力、计划、实用性、质量保证和经过验证的过程来对抗混乱和复杂性。

软件项目有哪些类型?

软件项目可以根据许多因素分为几个类别,包括软件的预期用途、开发软件的公司的类型和最终用户的类型。下面是一些最常见的软件项目类型:

  • 现有软件供应商或初创公司开发的新软件工具
  • 现有软件解决方案的更新、补丁修复和版本发布
  • 移动应用程序
  • 自制的、内部的支持软件解决方案

软件开发项目生命周期的6个阶段

项目管理的五个阶段由项目管理协会(PMI)制定,旨在使项目管理实践标准化。项目生命周期的每个步骤都表示完成项目所必需的活动。

软件开发生命周期(SDLC)是一个独特的软件项目管理生命周期过程,旨在设计、开发和测试软件工具的质量。(注意有几个SDLC模型敏捷由于其灵活性和快节奏,目前在行业中占主导地位。)

这取决于你使用的方法(例如,敏捷、传统瀑布(迭代、v形、螺旋、大爆炸或混合方法),软件开发的各个阶段——也称为软件项目管理阶段或步骤——您所遵循的可能是线性的、重叠的、重复的,或者对它们有不同程度的关注。您可能会在不同的阶段发现不同的命名约定,但以下六个步骤是主要软件开发阶段最常见的命名:

  1. 起始/计划
  2. 需求
  3. 设计
  4. 构建
  5. 测试
  6. 实现

什么是软件计划过程?

计划是SDLC的第一个阶段,包括为成功的软件开发项目奠定基础的若干活动。以下是软件项目的计划活动和阶段:

  • 定义项目主动性:项目计划将作为指导项目的软件规划路线图。在这份工作中,你应该做到以下几点:
    • 概述项目目标。
    • 创建一个基线。
    • 设定预算。
    • 创建最后期限。
    • 识别利益相关者。
  • 分解工作:
    • 主持一个包括整个项目团队的头脑风暴会议。
    • 对过去的项目进行分析。
    • 确定所有的任务,并将它们分解为子任务。
    • 创建一个所有活动的列表,并将它们分配给个人或小组。
    • 估计时间。
  • 创建资源计划:
    • 识别资源。欧宝体育app官方888
    • 评估资源约束。
    • 考虑外包的选择。
    • 分配资源。欧宝体育app官方888
  • 执行风险管理:
    • 识别潜在的风险和影响。
    • 进行定性和定量的风险分析。
    • 建立应急计划。
  • 选择任务管理和沟通平台:
    • 确定所需的功能。
    • 评估产品。ob欧宝娱乐app手机下载
    • 选择一个解决方案。

项目计划模板可以帮助您开始规划您的策略。模板可以是简单的,也可以是复杂的,但是它应该允许协作和实时调整。点击在这里下载顶级项目规划模板。

谁参与软件项目管理?

软件项目管理的职责——以及项目结果——涉及到组织中许多人和团队。软件项目经理通常负责项目的管理,开发人员、工程师、IT、质量保证(QA)、来自不同业务部门的员工、承包商和领导也参与到过程的不同阶段。

此外,客户和客户都参与SDLC用户验收测试(UAT),这是测试过程的最后阶段。在这个阶段,用户(通常是客户和客户)用真实的测试用例对软件进行测试,以确保开发完成。

软件项目经理工作职责

像其他类型的项目经理一样,软件项目经理是具有多种职责的项目领导,包括项目计划、领导、活动监视、时间管理、预算、沟通、风险分析、资源管理和变更管理。但是,软件项目经理的主要责任是确保团队遵守SDLC。

如果我们观察SDLC的各个阶段,我们可以更好地想象软件项目经理所戴的许多帽子。

  • 起始/计划:
    • 定义项目范围。
    • 从所有的利益相关者那里收集反馈和支持。
    • 根据项目时间、进度和项目总时间的估计,创建一个主项目计划。以下是管理人员进行上述估计时使用的两种主要方法:
      • 分解技术:这些方法使用重要项目活动的分解来估计规模、工作量和相关成本。
      • 实证估计技术:这些方法使用专家或专家小组的有根据的猜测。这些技术以以前的软件开发项目为基础进行决策并加以应用行代码(LOC)或功能点公式中的(FP)。COCOMO和Putnam是两种经验技术。
    • 将工作划分为子任务,并将相似的任务联系起来。
    • 通过创建资源请求,根据可用性分配职责。
    • 建立变更控制、质量控制、沟通和风险管理计划。
    • 主持一个项目启动会议。
    • 估算项目成本,包括软件、硬件、工具、许可证、人力资源、差旅费用、通信需求、培训工具和额外的项目支持。欧宝体育app官方888
  • 要求:
    • 创建一个业务需求文档。
    • 制定实施计划。
  • 设计:
    • 积极参与软件设计文档。
  • 构建:
    • 执行项目的主动开发部分。
    • 监视活动和里程碑。
    • 与所有涉众共享状态报告。
    • 衡量过程中的进展和表现。
  • 测试:
    • 随时了解用户验收测试结果。
    • 确保团队做出适当的更新。
    • 关闭项目活动。
  • 实现:
    • 确保所有任务都已完成。
    • 评估项目性能。
    • 执行下面的步骤。

风险分析和管理将贯穿整个SDLC。项目经理必须具备监视、识别、分类和管理可能发生的风险的技能和洞察力。如果出现问题,他们必须能够管理变更(即,识别、验证、分析、控制和执行变更),以减少或消除风险。

基于前面提到的软件项目经理的职责,一个合格的候选人必须拥有出色的多任务处理能力,这并不奇怪。良好的沟通和领导能力,以及敏锐的技术头脑,以及密切关注细节和在不断变化中保持条理的能力也是至关重要的。

软件项目管理度量

每个项目都遵循基于业务目标的独特度量标准。换句话说,所有指标都应该回答与业务相关的问题。下面是四个有用的软件项目管理指标:

  1. 满意度:涉众对项目的满意度如何?类似于净推荐值,这个项目后调查包含一个用数值尺度计算总体满意度的问题。
  2. 交付:这是指团队按时完成项目的百分比。
  3. 成本:这是指团队在预算范围内完成的项目的百分比。
  4. 缺陷:这指的是团队在项目期间识别和修复的缺陷数量与用户在实现后报告的错误数量的对比。

软件项目管理的好处

对于一些组织来说,项目管理可能是一项巨大的开支,但是当软件项目涉及众多涉众、任务和团队时——并且结果影响客户——收益很容易超过风险。项目经理可以通过简化操作来减少总体开支。项目经理有权保证项目按时并控制在预算之内,但更重要的是,他们可以在内部涉众和客户之间建立一种关系,改善对项目的沟通和可见性。此外,它们可以减少对组织产生负面影响的风险,并将负担软件开发团队的问题的数量最小化。

影响软件项目管理的挑战

软件项目管理有很多好处,但是可能会出现一些潜在的问题。这些挑战在试图采用千篇一律的方法的组织中通常是突出的,而不是在应用项目管理方法之前单独考虑每个软件项目。从一个一个评估每个项目开始,以适应独特的需求。

例如,对于小型软件开发团队来说,一些项目管理解决方案过于昂贵。如果你购买了一个不必要的昂贵的解决方案,你的投资可能会获得很少的回报。软件项目管理解决方案不必昂贵;电子表格和基本的解决方案可以以最低的费用获得。而且,有些软件项目甚至可能不需要广泛的项目管理解决方案。事实上,在一个简单的项目中,实现一个复杂的解决方案可能弊大于利。在投资软件项目管理解决方案之前,一定要考虑您的团队将要管理的软件项目的类型。

软件项目经理的提示和最佳实践

我们已经讨论了软件开发生命周期和软件项目经理的典型职责,但是有哪些最佳实践有助于项目成功呢?项目经理可以做以下几件事来与团队建立信任并建立高质量的关系:

  • 理解并表达公司的需求和目标。
  • 收集团队的反馈。
  • 把计划分解成每天的任务。
  • 坚持这个计划(或者只在必要的时候做出改变)。
  • 分享成功来激励和鼓励团队。

艾伦·朱克,项目管理导师,咨询顾问,创始负责人项目管理要点认识到目前项目经理所面临的沟通挑战,并提出了这样的建议:“项目经理花了近90%的时间与团队成员和涉众沟通。项目管理协会对这一主题进行了广泛的研究,并支持这一统计数据。虽然最有效的沟通形式是面对面的,但今天的许多项目团队都包括远程成员。使用在线项目管理工具缩小沟通质量差距有助于建立关系和有效合作。”

谢尔盖Brovkin

谢尔盖Brovkin拥有MBA学位,PMP认证,精益和六西格玛领导者。他呼应了优秀沟通的必要性:“沟通至关重要。从第一天开始就安排项目会议,确保会议富有成效,每个人都参加。ob欧宝娱乐app手机下载确保你完全理解项目的战略方向和目的,并能够清楚地解释清楚。”

除了拥有人性化的元素,软件项目经理还必须具有技术敏锐度,能够将开发与非开发任务区分开来,理解软件工具服务的用户数量和类型,并洞察定价模型和部署方法。

什么软件最适合项目管理?

找到合适的项目管理软件是很棘手的。如前所述,您必须分析您将要管理的项目类型、它们的复杂性和细节的复杂性、您的团队规模以及您的预算,以帮助您确定项目成功的最佳解决方案。软件的特性和部署方法(内部部署还是云部署)是必要的考虑因素。看看提供的工具甘特图PERT图资源直方图,关键路径分析功能。为了帮助您选择正确的项目管理软件,请阅读“关于项目管理软件的一切。”

在软件项目管理工具中寻找的特性

项目经理的工作量很快就会变得不堪重负。正如在SDLC和项目经理职责的讨论中提到的,项目经理有各种各样的责任。但是,有数百种软件项目管理工具可以提供帮助;它们的范围从单个系统到中型和高端系统。要确定最适合您的工具,首先要确定您的组织规模、将要进行的软件项目的类型以及将要使用的开发方法。下面,您将发现支持SDLC每个阶段的计划、执行和控制的特性。

  • 项目评估
  • 范围定义、验证和控制
  • 项目调度/日历
  • 资源管理
  • 风险管理计划与控制
  • 具有优先级和类别的任务管理
  • 子任务
  • 预算管理及预测
  • 时间和费用管理
  • 项目监控
  • 团队协作和沟通(在线讨论和聊天、视频和电子邮件通知)
  • 看板、甘特图和PERT图
  • 里程碑跟踪
  • 文档管理和文件存储
  • 分析、报告、关键性能指标(kpi)、仪表板、目标和关键结果(OKRs),包括完成成本分析
  • 权限和用户角色
  • 工作流流程
  • 项目组合管理
  • 账单和发票
  • iOS和Android的移动应用程序
  • 易于使用,拖放配置和开箱即用的模板
  • 联系人管理
  • 变更管理
  • 配置管理
  • 发布管理
  • 人工智能(AI)
  • ob欧宝娱乐app手机下载产品路线图
  • 积压/故事
  • 颠覆
  • 缺陷跟踪
  • 用于通信、UAT和批准的客户端门户

软件项目管理的未来

新兴技术正在彻底改变科技产业的方方面面。人工智能、自然语言处理(NLP)和机器学习已经在改变消费者的交互方式,机器人处理项目管理活动只是时间问题。员工的期望也在发生变化。员工现在寻求灵活、远程的工作环境,同时为了工作目的使用个人设备(例如,自带设备[BYOD])。在许多行业,远程办公已经成为常态。

项目经理们面临着与远程员工沟通的挑战,同时也不得不担心机器人会抢走他们的工作。在未来几年里,项目经理将体验到数字化转型的影响,这将使目前导致项目延误的问题最小化。智能工具可以承担一些项目管理任务,让人工项目经理专注于更具战略性的活动。此外,改善与日益分散的劳动力之间沟通的技术将成为标准。在不久的将来,公司将完全采用和实施支持现代工人的技术和实践。然后,我们将继续进行下一次技术革命。

用Smartsheet改进软件开发项目的项目管理

从简单的任务管理和项目计划到复杂的资源和投资组合管理,Smartsheet帮助您改善协作,提高工作速度——使您完成更多工作。

Smartsheet平台可以方便地在任何地方计划、捕获、管理和报告工作,帮助您的团队更有效地完成更多工作。报告关键指标,并在工作发生时通过滚动报告、仪表板和自动工作流来获得实时可视性,以保持团队的联系和消息灵通。

当团队清楚要完成的工作时,没有人知道在同样的时间内他们能多完成多少。今天就可以免费试用Smartsheet。

发现一个更好的方法来简化工作流程和消除竖井。

免费试用Smartsheet 获得一个免费的Smartsheet演示