软件开发中的3P和1A
这是过往的开发、管理经验和本次开发pspl和sea的经历的一个总结。
本次总结围绕开发管理进行,包括4个方面:项目project;过程process;产品product;架构architecture;
所以本次总结的名字就叫软件开发中的3P和1A。
提纲大概如下:
一.过往经历过的开发管理中的3P关系
从project起步,总结出process,升华出product,还没抽象出architecture。
二.这次开发采用的开发管理中的3P和1A的关系
规划出architecture,开发出product,总结出process,推广到project
三.process总结
四.architecture总结
一.过往经历过的开发管理中的3P关系
以前国内很多公司,都是接了单,然后再成立的,我所经历过的几家公司,也是这种情况。
所以公司的工作可以分为两部分:打单;做项目。工作从打单开始,到验收结束,周而复始,再无其他。
这是大家只有一个概念:project。
慢慢地,公司规模大了,项目也多了,却发现有的项目做得好,有的项目做的乱七八糟的。
怎么解决这个问题呢?这时候管理就提上议程,我们需要加强管理,上ISO9000、CMM。
ISO9000说的是流程标准化,CMM说的是过程能力成熟度。然后成立QA、SEPG之类的机构来组织总结process。
随着市场竞争越来越激烈,客户越来越成熟,在新的市场领域,以往仅凭关系+PowerPoint拿到单再来现做的好日子也慢慢过去了。
客户对着不同的现成品挑三拣四,所以,需要研发部门开发出新的product,给销售去打单,给工程部门实施。
product成为衔接市场、研发、销售、工程的一个纽带。
而在旧的市场领域,随着项目的增多,出现了非常混乱的版本关系,并且由此带来很多问题。
最典型的问题就是版本A因为具有典型性,成为基准版本,被后续项目广为使用,在B项目中实施,解决了某些bug,成为版本B,
而在C项目中,且还包含着这些bug,而版本C又被继承,从而呈现出一种复杂的bug传播现象,所有人都在痛苦地与之搏斗。
定义、维护基准版本成为一个重要的工作。
这样,product慢慢浮现出来,作为大家开始关注的一个对象,可是如何解决,还在摸索之中。
产品线和产品组是一个试验方向。
而说到architecture,则还没有概念,仅仅有些萌芽,如总结技术平台。
从project到process,再到product,这是一个非常自然的过程,是一个摸着石头过河,发现问题、解决问题的过程,
是承担着巨大的生存压力的公司的一个较优的选择,也是公司对软件开发认识逐步深刻的体现。但是,这样一个过程,也需要为转变
付出相当多的代价,背负相当多的历史债务。
(待续)
转载于:https://www.cnblogs.com/msse/archive/2006/01/17/318603.html
软件开发中的3P和1A相关推荐
- 软件开发中如何理解人机料法环
黑色部分是百度百科定义,红色部分是个人理解. 人机料法环 人机料法环是对全面质量管理理论中的五个影响产品质量的主要因素的简称.人,指制造产品的人员:机,制造产品所用的设备:料,指制造产品所使用的原材料 ...
- 彼之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践
作者:sherrywasp https://www.cnblogs.com/sherrywasp/p/9436623.html "描述一个事物,唯有一个名词定义它的概念,唯有一个动词揭露它的 ...
- 视频互动直播软件开发中的连麦问题分析
直播行业发展至今,我们经常会听到很多朋友谈论"互动直播".那么何谓互动直播呢?其实互动直播的核心在于通过连麦技术,让视频直播有一个超过文字的更深层次的互动交流. 在视频互动直播软件 ...
- 统治软件开发中的著名定律
文| https://www.timsommer.be/famous-laws-of-software-development/ 翻译| 码农翻身 和其他领域一样,在软件开发的世界中也有一些有趣而著名 ...
- 阿里研究员:缩短软件开发中的反馈弧
简介:开发者写好了某个功能的代码,想知道这个功能是不是实现了,代码还需不需要再改,这就是一种反馈.在软件开发中,尤其是联调时,缩短反馈弧有助于及时发现问题.采取对策,提高开发效率.那么什么样的反馈弧才 ...
- 软件开发重要性_在软件开发中考虑时间的重要性
软件开发重要性 by Crunch Tech 通过Crunch Tech 在软件开发中考虑时间的重要性 (The importance of time to think in Software Dev ...
- 测试自动化金字塔在软件开发中是如何使用的?
测试自动化金字塔,是一个指南,指导您进行什么类型的测试以及每种测试的数量.测试自动化金字塔有助于创建更高效的测试,并导致向客户发布更可靠的软件. 测试自动化金字塔的好处 测试自动化的大部分好处显而易见 ...
- 论软件开发中的可信赖的工作
中大型软件开发,免不了团队开发,团队开发就少不了分工合作.在团队开发中,当然每个人的能力都很重要,但是我认为可信赖的工作是团队开发的首要条件,也是团队开发存在的基本保证.没有可信赖的工作,就没有团队分 ...
- 软件开发中的完整测试所包括的环节UT、IT、ST、UAT
软件开发中的完成测试环境所包括的环节包括:UT.IT.ST.UAT UT = Unit Test 单元测试 IT = System Integration Test 集成测试ST = System T ...
最新文章
- ScribeFireBlog 发的一篇在Cnblogs的日志
- 从小白到精通python要多久-超适合小白的python新手教程
- spring boot整合JPA实现多条件查询并分页
- c++ 连续图片显示_计算整数的和并显示结果
- Vue3 Composition API(一)——setup、reactive、ref、readonly
- 在linux中,boot与uboot有什么区别?
- ASP.NET简化编辑界面 V2
- Nginx缓存配置以及nginx ngx_cache_purge模块的使用
- listary的使用教程
- 二进制、十进制、八进制、十六进制转换对照表
- 阿里字体小图标的使用
- 计算机锁屏如何取消密码,笔记本电脑怎么取消锁屏密码
- (附源码)基于PHP下的大学生校园交流论坛的设计与实现 毕业设计101634
- Raft 共识算法3-日志复制
- MySQL 从 5.7 到 8.0
- 当迅雷显示“文件路径超出系统限制”时怎么办
- fmdb和mysql的区别_FMDB介绍和使用
- MySQL 数据库死锁问题-Deadlock found when trying to get lock
- qc成果报告范例_QC小组活动成果报告编制技巧,进步青年都在看!
- MATLAB Signal Rrocessing(13)视频和音频
热门文章
- 红米路由器ac2100怎样设置ipv6_【路由刷机】红米小米 AC2100 Windows下刷Padavan固件小小白教程、升级固件...
- java view刷新_java – 如何调用onCreateView方法或刷新我的片段?
- 安卓实现微信朋友圈查看图片功能
- editplus怎么在键盘输入
- 【2. Nginx高级知识】
- python基础语法复习[二] 函数、类
- 为什么计算机模拟试题无法评分,科目一电脑模拟打分答题
- 系列之2-神经网络中反向传播与梯度下降的基本概念
- 字母异位词分组 两种解法 (Python)
- Fiddler+Proxifier进行PC端微信小程序抓包