项目管理系列文章——关于软件工程在软件整个生命周期的位置

简介:
关于软件工程在软件整个生命周期的位置
众所周知软件工程虽然是研发人员的全部活动,但却只是软件整个生命周期的一部分。
了解软件工程在整个生命周期的位置和软件整个生命周期的全貌,对于项目经理和研发人员来说不无裨益。
无论pm也好研发人员也好常常会问:销售不过是耍耍嘴皮子,做做关系,凭什么能拿到那么多的提成,而研发人员在项目中累死累活却只拿死工资。
售前的作用又体现在哪里呢?销售、售前、PM、研发人员在项目中的关系是什么呢?
让我们首先回到项目的起点去回顾一下项目是如何产生的。
项目开展流程(发起方/甲方)
在整个项目中,发起方/甲方从开始成立到最终实现一般需经历以下几个过程
项目立项——>项目招标——>签订合同——>项目开发——>项目验收——>项目付款
项目开展流程(发起方/甲方)——立项流程 
业务部门发起
    根据工作情况进行研究提出问题
    根据问题进行调研提出解决方案
公司领导审批
    分管领导了解情况并批复意见上报总裁
    总裁根据公司业务规划批复意见并立项
业务部门实施
    依据批复意见确定解决方案
    根据解决方案提出招标建议
行政部门招标
    依照招标建议向供应商发出应标邀请函
    安排招标时间确定招标工作安排并正式启动招标
项目开展流程(发起方/甲方)——招标流程    
应标方
    接到标书应标并探索需求、展现解决方案
发起方
    召集相关部门议标、评标、确定胜出供应商
发起方
    宣布招标结果,进行商务谈判
双方
    签订合同,项目正式进入开发阶段
    
项目开展流程(应标方/乙方) 
整个项目中,应标方从开始竞标到最终完成一般需经历以下几个过程
项目应标——>竞标胜出——>签订合同——>项目开发——>项目验收——>项目回款
项目开展流程(应标方/乙方)——项目应标和竞标胜出 
市场销售人员的准备工作
收集客户资料
    了解客户基本信息、对项目的需求、现有问题和期望实现的目标
    了解项目各相关部门、人员的构成和相互的关系以及在项目中的作用
    了解项目各负责部门、人员的工作范围、性格特点等个人信息
    了解竞争对手在客户内的合作情况、销售方法和与我们产品的优劣
分析组织结构
    从客户职能方面分析项目相关的部门对的项目需求,不同需求应采取不同应对策略
    从客户级别方面分析与项目相关的部门、人员的级别:决策层、管理层、操作层;不同级别的客户对项目的不同话语权
    从客户角色方面分析客户在项目中担当的角色:发起者、决策者、设计者、评估者、使用者;不同角色对项目的需求不同
达成目标
    增进与项目密切相关客户之间的关系,获取客户最新动态
    挖掘、分析客户对项目的需求,制定解决方案
    分析竞争对手产品优劣势及与客户的关系,知己知彼
项目开展流程(后期阶段) 
应标方中标后,发起方、应标方的两个重要流程结束,项目流程进入后期阶段
签订合同——>项目开发——>项目验收——>双方各自项目付款/回款
当然不同的项目可能流程也不一样,但从这里我们可以粗略看出整个项目的生命周期。
1、建立客户关系 (销售/公司高层)
2、挖掘需求 (销售/售前)
3、前期调研 (销售/售前/PM)
4、客户发招标书 (销售/售前/PM)
5、应标 (销售/售前/PM)
6、获标 (销售/售前/PM)
7、项目启动会 (销售/售前/PM)
8、需求调研 (销售/售前/PM)
9、系统设计 (PM/研发人员)
10、系统构造 (研发人员)
11、系统测试 (研发人员)
12、系统部署 (PM/研发人员)
13、系统培训 (销售/售前/PM)
14、系统验收 (销售/售前/PM)
15、系统维护 (研发人员)
16、维护客户关系 (销售/售前/公司高层)
17、探索新需求 (销售/售前)
项目的成功在于: 
1、公司管理层、销售人员在长期拜访过程中建立的卓有成效、良好的合作关系、个人关系。
2、销售人员、售前人员、PM在应标期所作的前期需求调研以及公司管理层、销售人员对客户方对项目的预期把握。
3、PM的管理、技术、业务能力。
4、研发人员所付出的努力和辛勤工作。
5、销售人员、售前人员、PM在项目实施过程中的通力配合。
项目角色的分工: 
1、公司管理层主要负责项目的人力资源分配、项目成本预算、通过高层互访构筑一个良好的外部环境。
2、驻地销售人员从客户关系、挖掘需求、前期调研、项目过程中发挥着至关重要的作用。
3、售前人员则对系统前期需求调研、解决方案、需求调研发挥着不可替代的作用
4、PM从前期需求调研起一直到整个项目验收发挥着管理、督导作用
认识自己的不足: 
1、软件工程只是软件整个生命周期的一部分,PM和研发人员并非项目的全部。
2、所有各个环节的工作都是不可替代的,每个角色都在极大范围发挥着自己的作用
3、沟通能力(内外、上下)是研发人员需要面临的最大课题
 



本文转自baoqiangwang51CTO博客,原文链接:http://blog.51cto.com/baoqiangwang/312966 ,如需转载请自行联系原作者
相关文章
|
物联网 Java Linux
Linux安装与配置Eclipse Paho库:实现MQTT通信
Eclipse Paho是一个开源的MQTT(Message Queuing Telemetry Transport)实现,提供了多种编程语言的客户端库,包括C、C++、Java、Python等。在Linux系统中,通过安装和配置Eclipse Paho库,我们可以方便地实现MQTT通信功能。本文将详细介绍在Linux系统中安装和配置Eclipse Paho库的步骤,以便于开发者在物联网项目中使用MQTT协议进行通信。
2648 0
|
2月前
|
人工智能 安全 网络安全
科技云报到:2026网络安全六大新趋势:AI重构攻防,信任成为新防线
2026年,网络安全迈入“数字信任”时代。AI驱动下,AI Agent身份认证、API攻击泛滥、智能体基础设施风险等新威胁涌现,推动安全从被动防御转向主动信任重构。融合AI的主动防护、数据治理与合规体系,将成为企业构建可信数字生态的核心竞争力。(238字)
354 0
|
6月前
|
算法
回溯算法的基本思想
本节介绍回溯算法,通过图1中从A到K的路径查找示例,说明其与穷举法的异同。回溯算法通过“回退”机制高效试探各种路径,适用于决策、优化和枚举问题。
188 0
|
2月前
|
存储 Ubuntu Linux
掌握Linux环境变量(从零开始配置用户环境变量的完整指南)
本文来源:https://www.vps5.cn/通俗讲解Linux环境变量的作用与配置方法,重点介绍PATH、HOME等常用变量,教你如何通过~/.bashrc文件永久设置用户环境变量,并避免常见错误,适合Linux新手快速上手。
|
关系型数据库 MySQL
MySQL深入浅出: order by if()与order by in()之条件排序
MySQL深入浅出: order by if()与order by in()之条件排序
584 0
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
872 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
人工智能 算法 自动驾驶
人工智能的伦理挑战与社会责任
【8月更文挑战第10天】随着人工智能技术的飞速发展,其在社会各领域的应用日益广泛。然而,AI技术在带来便利的同时,也引发了一系列伦理问题和社会责任问题。本文将探讨AI技术可能带来的伦理挑战,以及作为技术开发者、应用者和监管者的我们应如何承担起相应的社会责任,确保AI技术的健康发展,服务于人类的福祉。
|
数据可视化 搜索推荐
GUI图形用户界面
【10月更文挑战第8天】
|
虚拟化
minos 2.5 中断虚拟化——vGIC
这一节开始讲述真正的中断虚拟化,首先来看硬件方面的虚拟化。前文 minos 2.3 中断虚拟化——GICv2 管理 主要讲述 GICv2 的 Distributor 和 CPU Interface,在 Hypervisor 存在的情况下,它们都是为 Hypervisor 服务的。现在有了 vm,vm 里面的内核也需要操作 GIC,怎么办?我们模拟一个 GIC 设备给 vm 使用。
373 5
minos 2.5 中断虚拟化——vGIC
|
监控 Linux Shell
但凡我早点知道这个Linux批量ping的脚本,也不至于现在还单身!
但凡我早点知道这个Linux批量ping的脚本,也不至于现在还单身!
494 1