精益敏捷外包开发--- 信息传递篇

前言:

本文主要是在讲述精益敏捷外包开发, 为何应舍弃 “过重的文档”, 而应改采 ”视觉化的看板”, 方能有效的整合来自不同企业,位于不同办公区的软件外包人员, 而能共同高效的完成高质量的交付?

本文:

企业的 IT 部门, 将产品的系统, 外包给不同企业, 位于不同办公区的开发与测试人员时, 所面临的一个最大的难题之一便是: 版本交付的质量与效率, 往往无法满足企业内, 业务部门的期望与要求?

之所以会形成这一致命的问题, 其主要的原因便是来自于 “过重的文档”?

企业的 IT 部门与外包人员之间, 或许因各自的立场不同, 或许因外包人员对企业 IT 部门的业务或系统的不熟悉, 而使得企业 IT 部门的需求分析/ 设计人员, 需将一数十页甚至上百页的需求/ 设计规格书, 交与外包的开发与测试人员后, 外包的开发与测试人员, 才会开始进行相关的开发与测试工作?

而这一看似必要且理所当然, 应该由企业 IT 部门的需求分析/ 设计人员, 所交付的需求/ 设计规格书, 往往却是造成企业 IT 部门, 在版本交付效率与质量上, 大幅滑落的最主要原因之一?  其根本的原因便是在于:

1.  数十页甚至上百页的需求/设计规格书,
将造成许多无谓的等待时间:

企业 IT 部门的需求分析/ 设计人员, 编写需求/ 设计规格书时, 往往需耗费 1-3 个月的时间; 有的版本甚至还耗费更久的时间?

而在这段长达一个月甚或数个月的时间, 外包的开发与测试人员也就只有“等待”?

然而, 这段 “等待”, 是绝无可能获得企业内业务部门的理解与谅解的? 版本交付的日期, 并不会因有这段的 “等待”, 而获得延期?

也就是说, 外包人员的开发与测试的时间反而会因为这段的 “等待”, 而被 “压缩”; 举例: 本来在整个版本中, 应有 3 个月的时间进行开发与测试, 却被压缩成只剩下两周?

当外包人员的开发与测试的时间被压缩时, 外包人员将别无选择, 只能把手头上的工作先交付出去, 至于 “质量”…..被逮到了再解决唄?

   2.  数十页甚至上百页的需求/设计规格书,
其实可读性与指导性是很差的:

从许许多多的项目中已获得验证, 数十页甚至上百页的需求/ 设计规格书, 只会使不熟悉企业 IT 部门业务或系统的外包人员, 更加的不理解需求, 更加的宛如坠入到五里云雾中?

   3.  数十页甚至上百页的需求/设计规格书,
往往会使外包人员被动,过于保护自己:

外包人员只针对需求/ 设计规格书的内容, 来进行开发与测试, 而不愿意再进一步主动的去思考, 该做些什么? 以能真正的满足使用者的要求?

当外包人员已丧失了主动思考的意愿与能力时, 版本交付效率与质量的低落, 便是可以预期的?

所以, 我们应从另一个角度来看待产品软件外包…..

    “当面对来自不同企业,位于不同办公区的软件外包开发与测试人员时,首要且最重要的工作,
便是建立起一高效的信息传递机制;而不是文档?”

这一高效的信息传递机制, 需能满足以下的条件:

    1.     
简单:

在任何的工作环境下, 均可轻易的被建置起来使用?

将复杂, 艰涩难懂的理论隐藏, 封装起来? 而使任何人均可轻易的直接上手?

    2.      可视化:

可视化的呈现, 产品软件开发周期内的信息; 包括: 需求分析, 架构设计, 测试用例等的信息?

    3.      团队协作:

可使企业 IT 部门与来自不同企业, 位于不同办公区的外包人员充分且直接的协作?

我便是以 “看板”的型式,在精益敏捷外包开发中, 建构一高效的信息传递机制?

我所设计的以特性为纬度的 “看板”, 包括:

1.  
需求看板: 
使企业 IT 部门与外包团队, 可视觉化的识别特性的基本场景, 扩展场景, 异常场景与质量属性?

   2.   架构看板: 将设计Rest Oriented Architecture (ROA) 所需的架构实体类型与架构设计流程, 融入至看板中? 而使企业 IT 部门与外包团队, 可更轻易且直接的协作, 共同设计出特性所需的 Web API?

3.  测试用例看板: 将使特性测试结果产生差异的纬度与各纬度上使测试结果产生差异的变化点, 融入至看板中? 而使企业 IT 部门与外包团队, 可共同且客观的识别特性所需的 测试用例?

 结论:

需求看板, 架构看板, 测试用例看板, 已在许多各类型的项目中, 真正使企业 IT 部门与外包团队, 高效的传递信息? 而使项目中的待确认事项, 风险, 最佳的设计与测试方案, 均可及早的被识别出来? 因而, 使项目开发的效率与质量大幅的提升?

后续的文章, 将会再进一步的详细介绍需求看板, 架构看板与测试用例看板?

时间: 2024-08-26 07:05:33

精益敏捷外包开发--- 信息传递篇的相关文章

精益敏捷外包开发--- 思维篇

前言: 本篇主要是在讲述精益敏捷外包开发, 其背后的主要思维? 本文: 许多企业的 IT 部门, 因为人力成本的考量, 同时也为了能拥有更多与更有弹性的人力资源, 而将软件开发与软件测试的工作外包? 然而, 企业的IT 部门在面对来自不同公司的外包人员时, 却往往面临因公司的内部文化上的差异, 而形成许多不必要的沟通, 甚至是不信任? 最终, 往往导致企业的IT 部门, 虽拥有成千上百的软件开发与软件测试的外包人员, 却还是无法高效率的交付高质量的产品? "精益敏捷外包开发" 便是要以

敏捷软件开发之原则篇

1.我们最优化先要做的是通过尽早的.持续的交付有减脂的软件来使客户满意. 2.即使到了开发的后期,也欢迎改变需求.敏捷过程利用变化来为客户创造竞争优势. 3.经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好. 4.在整个项目开发期间,业务人员和开发人员必须天天都在一起工作. 5.围绕被激励起来的个人构建项目.给他们踢空所需的环境和支持,并且信任他们能够完成工作. 6.在团队内部,最距有效果并且富有效率的传递信息的方法,就是面对面的交谈. 7.工作的软件是首要的进度

09.精益敏捷项目管理——敏捷软件开发中QA角色

00.当从鳄鱼嘴里侥幸逃脱时,你很难机器你的初衷其实只是想排出沼泽中的积水. 01.精益--敏捷软件开发中质量保证(Quality Assurance,QA)的角色展开,涵盖了许多关键问题 *测试人员的作用是防止缺陷,而不是发现缺陷 *开始做开发周期计划时如何发挥验收测试的作用,以做到在最大限度上减少浪费 *在早起不容易去做测试时做些什么 02.质量保证和质量控制 a.质量康芝是确保产品或服务被设计和生产出来,满足或超越客户需求的做法 b.质量保证是指由计划的.系统的生产过程,为产品符合预期目的

精益看板管理和敏捷软件开发 (转)

最近看了InfoQ上关于精益看板在软件开发上的一些实践和应用的文章,敏捷软件开发借鉴了很多TPS精益生产的思想,虽然没有完全提到看板的概念,但是看板在敏捷软件开发实践中是很有必要进行的.具体InfoQ的一些文章请参考: 将看板应用于软件开发:从敏捷到精益http://www.infoq.com/cn/articles/hiranabe-lean-agile-kanban 用“看板图”实现敏捷项目的可视化http://www.infoq.com/cn/articles/agile-kanban-b

iOS开发笔记--敏捷开发之Scrum扫盲篇

敏捷开发之Scrum扫盲篇 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要 目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资料的讲述方式让初学者不太容易理解:所以我决定写一篇扫盲性的博文,同时试着也与园内的 朋友一起分享交流一下,希望对初学者有帮助.  什么是敏捷开发? 敏捷开发(Agile Development

Vue组件信息传递和Vue项目开发

一.全局组件 <body> <!-- 两个全局vue实例可以不用注册全局组件,就可以使用 --> <div id="app"> <global-tag></global-tag> </div> <div id="main"> <global-tag></global-tag> </div> </body> <script src=

敏捷软件开发简述

前言:由于我读了邹欣老师的<构建之法:现代软件工程(第二版)>,因此对敏捷软件开发有了比较大的兴趣.于是我在网上找了一些论文,比如Requirements Engineering and Agile Software Development.A decade of agile methodologies: Towards explaining agile software development.在读了这些论文之后,对敏捷软件开发有了大致的了解.这篇博文主要是简单介绍敏捷软件开发,重点集中在主

敏捷软件开发之环境准备

最近换工作了,进入一个小团队,很惊讶,除了一个bug报告表之外,竟然没有使用任何敏捷项目管理软件.于是乎,我跟大伙介绍了JIRA的基本情况,用法等等,小伙伴迫不及待的就下载了一个试用版,然后习惯性的到处谷歌和度娘尝试破解,折腾了一个多小时,还没有搞定.呵呵. 无意中去JIRA的官网上翻了翻价格,才知道对小团队来说,价格很便宜,1-10人的用户,每年的服务费才10美元!为了这区区62块钱,还犯得着让两名高级工程师浪费一个多小时去破解吗?破解得到的软件质量不能保证不说,还犯下一个不尊重知识产权的恶名

小议敏捷软件开发与传统软件工程

敏捷软件开发与传统软件工程 一.前言 随着社会和科技的不断发展,信息产业己经和人们的生活息息相关,成为不可或缺的一部分.软件工程作为信息产业的核心部分发生了翻天覆地的变化.传统的软件工程思想己经越来越不适应快速变化的信息社会,为此一种新软件工程思想-----敏捷软件开发进入了我们的视野. 二.软件工程 (一)概述 Software engineering is the application of engineering to the design, development, implement