您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
人、技术、过程、工具、质量
——“以人为本”的工程哲学
 
俎涛 ,火龙果软件工程技术中心
   次浏览      
 2020-2-24
 

现状

计算机相关的领域技术日新月异、充满了机会,我们经常收到企业领导、研发主管、工程师的各种需求,很大一部分希望改变当前混沌的工程现状,让自己的信息化工程、系统工程、软件工程更靠谱些!而当前可用参考和采用的各种方法论、技术、过程、工具太多了,选择哪个合适呢,或者怎么组合为适合自己的呢?

复杂问题的解决需要“化繁为简”。我们应该首先找到一个基本的视角维度,把多个维度的问题都映射到这个基本维度上,然后基于基本维度、把各个维度的问题逐一解决。那么,什么是工程的基本的维度呢?下面逐一列出工程的各种可能维度:

市场、产品、项目、进度、成本、质量、人、技术、过程、工具

 

 

大家可以思考一下:哪个重要呢?

  • 有的同学会说是市场,没有市场什么都白搭;
  • 有的同学认为是产品,因为产品才是交付给客户的最终成果;
  • 有的同学选择过程,因为什么样的过程就会导致什么样的结果;
  • 有的同学说是项目,因为项目一下就聚焦了三个要素(进度、成本、质量);
  • 有的同学说技术,因为技术决定产品的含金量和门槛;
  • 有的同学会说是质量,因为有质量的产品对用户才有意义;
  • 有的同学会说是工具,因为工具决定了我们的能力和效率;
  • 这很像盲人摸象,大家都从自己的角度说,都有自己的道理,那么到底什么是基本维度呢?

     

    工程哲学:以人为本

    我的看法是:人是工程的基本!因为:

  • 市场是人的需求形成的;
  • 产品是给人做的;
  • 项目是人做的;
  • 人能掌握的技术才有实用性;
  • 人能执行的过程才能落地;
  • 人能使用的工具才是好工具。
  •  

     

    所以工程的价值观可以是"以人为本", 有5个基本原则:

  • 看人行:看看工程师和用户的真实的工作情况;
  • 听人言:倾听工程人员和用户来自一线的反馈;
  • 知人难:真实的感受他们的难处;
  • 做人事:给他们推荐具有可执行性的流程和任务;
  • 说人话:用大家能够听懂的语言交流。
  • 为了好记,姑且把这个叫做"五人原则"。

    工程问题的解决,离不开对工程环境的培育。工程环境何尝不是一种"社会":以大多数人的幸福为目标、生产力和生产关系互相作用,推动社会不断进步。社会很复杂、需要一个简单的基础,那就是"诚信"。诚信所带来的人与人之间的真实交流与信任,是工程秩序和工程效率的基础,我们的努力才有共同的意义。 为了好记,需要起个通俗的名字,就把这个叫做:"以人为本"的工程哲学吧。

     工程哲学:以人为本
    工程价值观:以人为本

    工程基本原则:
  • 看人行:看看工程师和用户的真实的工作情况;
  • 听人言:倾听工程人员和用户来自一线的反馈;
  • 知人难:真实的感受他们的难处;
  • 做人事:给他们推荐具有可执行性的流程和任务;
  • 说人话:用大家能够听懂的语言交流。

    工程基础:诚信


  • 确定了“以人为本”的工程哲学,我们不想止步于只是强调人的思想、感知、沟通、协作。而是希望用知识、技术、工具把人武装起来,这样才能实现真正的工程能力。所以在这里:

  • 我们将把工程中的各种人员,抽象为比较常见的几个角色
  • 然后从这些角色的视角,组织工程的各种资源和要素:方法、过程、技术、工具
  • 以便产生期待的结果:产品、质量
  • 赢得:客户和市场
  •  

    如何进行能力建模呢

    既然人是工程的根本,那我们就可以基于工程技术人员的视角,进行能力建模。让大家知道自己的工作对应到什么角色、应该具有什么能力,然后把这些能力落地到:过程、技术、工具,这样就可以实现真正的能力提升。各个角色的能力建模的目标是为了实现工程全周期的团队能力,所以能力建模应该基于工作流程,提炼各个角色负责的工作,然后把工作分解为能力四要素:知识、技能、经验、素养。如下图所示:

     

    如何培养能力?

    人的工作能力进一步分解为四个维度后,相应的培养也就围绕四个维度进行:

  • 知识:主要靠学习。
  • 技能:需要通过工作场景来训练。
  • 经验:需要实际的工作经历积累,尤其是失败的积累。
  • 素养:需要思维方式和工作态度的培养,需要一个长期坚持、不断重复、形成习惯。

  •  

    如何评价能力?

    评价人的能力的角度有很多,从工程实践来说,我们关心是“人员具有完成工作任务的能力”,所以人的能力应该从完成工作任务的角度来评价。任务这个词听起来有些虚,要落地到完成任务所需要掌握的知识、技能、经验、素养的评价:

  • 知识评测:知识具有显性的特点,可以采用试卷的的方式进行评测。
  • 技能评测:技能具有隐形的特点,可以采用案例实践的方式进行评测。
  • 经验评价:对于经验的评价,应该基于工作的真实史记录。
  • 素养评价:对于素养的评价,需要长期的记录、观察,并结合一些特定困难的考验。

  •  

    从工作的角度来看,技能的评价是重点,可以落地到具体的工具和工件。这样的评价更加客观和真实:

  • 工作中使用的工具是否熟练?(例如这些都算工具:开发语言C/C++、开发工具 VisualStudio.net )
  • 工作输出的工件是否质量合格?(例如:需求模型和文档、设计模型和文档、开发出来的程序、测试发现的bug)
  • 系统工程和软件工程的过程到人员的映射

    为了让混沌的工程清晰可见,我们建议工程实践者采用MBSE的工程方法,也就是基于模型来描述各个阶段的交付物内容(例如 需求模型、设计模型、测试模型),这样便于更加清晰地了解工作内容、进而有助于问题的识别和改进。我们将建设2个工程层次的人员能力体系:

  • 系统工程:以设备监控为主要目标的系统,具有嵌入式、实时性、安全性要求高的特点。
  • 软件工程:以企业信息化或者软件为主要目标的系统,具有业务复杂、数据多、功能多的特点。
  • 如下是过程到人员视角的映射图:

    1. 首先是系统工程的过程到角色的映射图:

     

     

     角色  工作  工件
     需求分析师  需求调研
     业务分析
     需求分析
     业务需求文档
     业务需求模型

     产品经理  产品需求分析
     产品规划
     需求分析
     产品需求文档
     产品原型

     系统工程师  系统需求分析
     系统设计
     系统需求模型/文档
     系统设计模型/文档
     软件工程师  软件需求分析
     软件设计
     软件开发
     软件测试
     系统需求模型/文档
     系统设计模型/文档
     程序文件
     软件测试用例、bug记录、测试报告
     集成工程师  组件配置
     软件构建
     集成测试
     集成模型
     集成测试用例与脚本
     测试报告
     测试工程师  系统功能测试
     系统性能测试
     系统可靠性测试
     测试用例
     Bug记录
     测试报告
     项目经理  项目计划
     资源分配与协调
     项目跟踪与监控
     项目验收管理
     项目计划
     资源目录
     跟踪看板
     验收报告
     质量经理  制定质量标准
     过程定义与管理
     交付物评审
     编写质量报告
     质量标准
     过程框架
     交付物模板与评审记录
     质量报告

     

    2. 软件工程的过程到人员视角的映射图:

    软件工程的过程跟系统工程基本类似,只是系统架构师变为了系统工程师,系统工程师和软件工程师的工作内容有些变化。

     

     角色  工作  工件
     需求分析师  需求调研
     业务分析
     需求分析
     业务需求文档
     业务需求模型

     产品经理  产品需求分析
     产品规划
     需求分析
     产品需求文档
     产品原型

     系统架构师  业务架构设计
     数据架构设计
     应用架构设计
     技术架构设计
     架构文档
     架构模型


     软件工程师  数据结构设计
     程序设计
     程序开发
     单元测试
     数据模型
     程序模型
     程序文件
     单元测试用与代码
     集成工程师  组件配置
     软件构建
     集成测试
     集成模型
     集成测试用例与脚本
     测试报告
     测试工程师  系统功能测试
     系统性能测试
     系统可靠性测试
     测试用例
     Bug记录
     测试报告
     项目经理  项目计划
     资源分配与协调
     项目跟踪与监控
     项目验收管理
     项目计划
     资源目录
     跟踪看板
     验收报告
     质量经理  制定质量标准
     过程定义与管理
     交付物评审
     编写质量报告
     质量标准
     过程框架
     交付物模板与评审记录
     质量报告

     

    我们能够帮助大家什么

    在将近20年的一线实践和企业服务过程中,火龙果已经积累了如下工程资产:

  • 工作指南:一个工程全周期的过程指南,各个角色的工作指南
  • 文档模板:需求文档、设计文档、开发文档、测试文档...
  • 模型框架:需求模型、设计模型、代码模型、测试模型...
  • 工件范例:
  • 文档范例
  • 模型范例
  • 代码范例
  • 测试范例
  •  

    在人员的能力体系建设方面,我们已经帮助多家企业建立了:

  • 能力模型:需求分析师、产品经理、架构师、开发工程师、测试工程师。
  • 培养课程:知识课程、技能课程、实践训练课程。
  • 评测题库:知识考题、训练任务、素养评测题库。
  • 工程整体视角的过程指南
  • 各个角色的工作流程指南;
  • 各种工件的模板,包括模型框架、文档模板、代码规范、测试规范;
  • 各种工作原则。
  •  

    另外,火龙果还研发了能力管理系统iPerson,提供能力建设的系统级支持:

  • 对能力建模:角色、任务、知识、技能、经验、素养。
  • 基于能力模型:定义学习目录和评测题库。
  • 支持在线学习和在线评测。
  • 可视化、图形化的能力模型,是能力管理的基础,这将极大地提高工程技术人员的能力认知、进而驱动能力的培养和评价。

     

    后续,我们将推出人员能力视角的工程指南,面向各个角色建立:能力模型、培养课程、能力评测题库,帮助企业建立“以人为本”的工程能力。同时落地到具体的工具和技术,让纷繁复杂的方法、技术和工具真的能够为人所用、创造更大的价值。

     

     

    后记

    希望您读了此文后有所受益。

    如果您有经验乐于分享,欢迎投稿给我们。

    如果您对我们的培训、咨询和工具感兴趣:

  • 课程:基于UML和EA进行分析设计
  • 课程:MBSE(基于模型的系统工程)  
  • 课程:基于模型的需求管理)方法与实践
  • 课程:基于SysML和EA进行系统设计与建模  
  • 课程:企业架构建模
  • 课程:系统架构建模方法与案例
  • 课程:领域驱动的建模与设计
  • 课程:基于模型的设计
  • 课程:业务建模与业务分析
  • 建模工具:EA
  • 基于模型的需求管理工具:iSpace
  • 咨询方案:MBSE(基于模型的系统工程)
  • 咨询方案:基于UML的模型驱动的开发
  • 欢迎联系我们: 俎涛 Zutao@uml.net.cn

     

       
    次浏览       
     
    相关文章

    UML概览
    UML图解:用例图(Use case diagram )
    UML图解:活动图(activity diagram )
    UML图解:类图(class diagram )
    UML图解:对象图(object diagram)
    UML图解:顺序图( sequence diagram )
     
    相关文档

    模型跟踪:跟踪图、矩阵、关系(建模工具EA)
    自定义表格(Custom Table)在EA中的使用
    元素的详情浏览控制
    UAF 1.2规范解读(DMM 和 UAFML )
    EA中支持的各种图表
    EA中的界面原型建模
     
    相关课程

    UML与面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于SysML和EA进行系统设计与建模
    基于模型的需求管理
    业务建模 & 领域驱动设计