当前位置: 首页 > 新闻动态 > 行业新闻 >
软件开发行业数字化管理
发布日期:2021-10-20 阅读次数:3061 信息来源: 森竹软件

        

       一、软件开发效率低源于行业数字化管理水平低


       布鲁克斯当年提出的软件开发的内在特性,主要包括“复杂度、一致性、可变性和不可见性”,直到今天依然是准确的。但他没有继续深入分析这些内在特性是如何影响到组织管理,组织又应该如何通过哪些措施来规避这些影响。

      从组织管理的角度来看,效率提升的本质是基于人类分工的基础上对规律、规则的流程化,和基于流程化基础上的自动化和信息化,以及基于大量数据积累的智能化,绝大多数行业都能比较容易实现流程化、自动化、信息化和智能化,进而通过数字化管理实现效率的巨大提升。

      目前软件开发行业数字化管理水平的现状怎样?先来看看各类开发工具的情况,可以简单分为管理类工具和生产类工具,管理类工具主要包括项目管理工具和知识库管理工具,生产类工具主要包括自动化测试工具、版本管理工具、集成部署工具和自动化文档工具等。从开发管理类工具来看,没有实现对核心业务流程产生的数据进行有效处理,更多依赖人工填报的数据处理,精细化管理没有基于原始真实的流程数据基础,只能起到辅助性作用。从生产类工具来看,自动化效果差,过多依赖专业人员的专业能力,在实践中形同鸡肋,作用不显。

      由于以上管理类工具使用效益不明显,不少开发团队还处于比较粗放的人工管理状态,部分团队还处在靠EXCEL管理的水平。另外,由于管理成本太高,加之敏捷开发等一些创新方法的催化,大多数开发团队甚至放弃了基于详细设计的精细化管理的努力,这些都违背了基本的管理学常识,自然问题多多。

      可以毫不客气地说,软件是各行各业的效能之母,但软件行业本身的数字化管理却处于灯下黑的状态,管理效能提升的空间巨大。 

       二、软件开发核心业务数字化面临的管理性困难

       实际上,任何行业只要完成了核心业务的数字化,就不可能存在软件开发行业普遍存在的“项目靠催、人员靠管、质量靠控”的人工管理状态,从业人员一定是围着信息系统转,大量的操作一定是处于自动化状态。为什么难以对软件开发的核心业务流程化、自动化和信息化?这是由于软件开发中存在诸多管理性困难,大体可以总结为以下三个方面:

       第一、任务不能完全分解。由此导致需要大量协作沟通,需要协作沟通的人员数量影响着开发成本,因为成本的主要组成部分是相互的沟通和交流,以及更正沟通不当所引起的不良结果。任务不能分解导致责任边界不清晰,考核难以落地,上升到组织层面,结果导致整个组织无法实现精细化的分工管理,组织的效率低下也就不难理解。

       第二、流程数据不能得到有效处理。对于一行一行代码这样的流程数据,单维度、绝对化的数据处理对其绩效无法有效衡量,单一的代码行数这样的数据是没有管理价值的,这导致管理运营中缺乏可以有效利用的流程数据。

       第三、系统性限制导致自动化生产困难。每个项目都有其自身的系统性,在这里称为系统性限制,使得自动化生产必须依赖专业化操作,比如自动化代码生成、自动化测试,都必须根据项目由专业人员处理,结果导致在软件开发的实践中自动化生产形同鸡肋。

       产生以上三个方面管理性困难的原因,主要是来源于软件开发内在特性的“复杂度”和“一致性”,如果能很好地解决了“复杂度”和“一致性”,“可变性”和“不可见性”也自然不成为问题。

        三、人工智能技术创新是消除管理性困难的希望所在

       上面三个方面的管理性困难,实际上都是软件开发“复杂度”和“一致性”的叠加导致人脑难以驾驭,多因素、强关联和大量数据直接造成的结果是很容易超出人脑的记忆能力和逻辑思考能力,造成工作效率低下,在多人合作的情况下带给组织的不利影响加剧。一般性的信息系统多是面临的基于时间、空间的线性流程和基于可知性、有限关联因素的逻辑处理,从一行一行代码来看,软件开发工作几乎没有基于时间、空间的线性流程,更要面对众多不可知的、大量关联因素的逻辑处理,一般性的信息系统自然无能为力。

       那就需要一种特别的信息系统,具备一种多维联动、动态自学习的信息处理能力,而不是简单的存储查找和线性流程化的信息处理能力。什么是多维联动、动态自学习的信息处理能力?简单说就是人工处理其中一个维度或者一个点的信息和事务,系统能动态自学习地自动化处理其它相关联的原来也需要人工处理的信息和事务,极大地降低对人脑处理“复杂度”、“一致性”的要求,这就需要人工智能在软件工程中的创新应用。

       针对上面三个方面的管理性困难,人工智能技术的创新应用将能有效消除其不利影响。针对任务不能完全分解,合适的人工智能技术创新能根据开发规范的要求,有效地减少人脑需要关注的过多的关联因素,使得细分任务边界清晰,便于管理考核;针对流程数据不能得到有效处理,合适的人工智能技术创新能有效地判断一行一行的代码是否符合规范要求,基于这个判断的基础上,代码开发工作产生的流程数据就可以作为绩效管理的基础;针对系统性限制导致自动化生产困难,合适的人工智能技术创新能发挥自学习能力的优势,能够根据项目的系统性要求,快速抽取并建立规范,以支持各类自动化生产。

       四、软件开发核心业务数字化的主要内容

       从管理分工的常识出发,要提高生产效率,需要先把软件开发工作分成两大类工作,即必须由人来完成的和可以由系统自动完成的,努力的方向就是尽量多地由系统来自动完成,减少人工开发。鉴于软件开发的内在特性,势必有相当部分的工作需要由人来完成,再把这部分由人来完成的工作分成两类,即核心创造和具体实施,核心创造即为项目的设计工作,在软件开发环节大概就是系统设计师的工作岗位,信息系统要为负责核心创造的人员提供数字化辅助支撑;对负责具体实施的人员进行精细化管理,并将这类工作更多地转变为不需要人的自动化完成。

      基于以上思考,软件开发核心业务数字化主要包括以下两方面内容:

      自动化生产方面,主要有“文档自动化生成、代码自动化生成、自动化测试和自动化部署等,降低人工所占的比例,脱离专业依赖,实现真正的自动化、无人化;

      精细化管理方面,主要有“详细设计数字化、任务可完全分解到小时级颗粒度和流程数据有效数字化”,支持对人工编写代码的精细化绩效管理。





洛阳森竹软件科技有限公司—洛阳软件开发|洛阳网站建设|洛阳小程序制作|洛阳APP开发|洛阳软件外包|洛阳商标代理|洛阳知识产权|洛阳商标注册|洛阳软著申请|洛阳版权登记|
声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。选择森竹服务,开发少走弯路——洛阳森竹软件科技www.lysenzhu.com
Powered by YXcms 2012-2014 yxms.net Inc.