发布时间:2020年07月14日
进行分布式开发,方法要实用才行!
采取实用的方法进行分布式开发
如今,已进入数字化时代,大多数企业已广泛使用相关技术来创造业务价值。从开发IT解决方案的角度来看,企业需要在尽可能短的时间内交付这些业务应用,从而迅速获得技术收益,保持自身在行业内的卓越地位。
要开发这些应用,必须有多个小组一起工作。开发过程一般包括最终产品的概念化、最小可行产品的构建,并最终通过迭代过程开发产品。为了降低开发成本,企业经常采用离岸外包的做法,并制定产品负责人来指导和协助团队监控开发情况。
因此,开发人员、产品负责人和其他合作伙伴必须组成一个团队,且能够跨越多个地理位置和时区进行协作。在这样的工作环境下,团队还需要在紧迫的时间内交付目标,IT企业就需要采用标准化的交付流程并搭建有效的平台,以助于加快开发速度。
开发平台的作用
平台对于协作开发的实现起着至关重要的作用,为应对开发中涉及的挑战提供了切实可行的方法:
- 支持高度协作的环境
产品负责人、业务系统分析师和用户界面/用户体验(UI/UX)设计师需要合作,详细讲述用户体验故事,并让最终产品以可视化的形式呈现。而将要开发和交付这些产品的开发人员和产品负责人很可能是各自在不同的地理位置工作。开发平台可以将这一思维过程有效地可视化,促进讨论(头脑风暴)和并记录结果。
在当前的形势下,此类平台将显得更为重要,因为现在团队成员即使在同一个城镇也可能会无法面对面一起工作,而开发平台则为团队提供了安全的协作环境。
- 预先构建界面,提供开发洞见
在分布式开发的过程中,往往存在软件开发、硬件开发和测试分散在三个不同的国家或地区进行的情况,而预先构建的界面可以有助于解决这一场景下涉及的管理挑战。
这样的界面能帮助团队跟踪不同地点团队成员的工作进度,并生成相关报告。例如,可以帮助项目经理监控团队在不同开发领域的开发进度,而规划经理则可以监控不同地点的规划整体进展。
有效的界面应提供以下信息:
* 规划的总体状况
* 具体项目的情况和进展
* 能够放大特定项目中的开发活动,查看冲刺级别信息
* 能够了解用户故事和依赖关系,以及对项目进度的影响
- 自动化基础架构配置
开发平台需要能够根据客户选择的云提供商的来拆分出开发环境。基础架构的自动化管理包括配置、补丁管理以及针对客户特定标准和产品要求的强化。 - 采用DevSecOps实践和工具
在应用的开发中使用工具可以产生高质量的成果,因为工具可以强制实施标准化的开发。采用DevSecOps工具有助于实现以下目标:
* 针对正在开发的应用制定有效、标准化的分支策略
* 将代码自动部署到预配置的环境
* 有效跟踪可交付成果并记录所报告的问题
* 游戏化设计,将竞争元素引入开发者社区
* 在开发过程的早期识别代码的质量问题
* 结合DAST、SAST、IAST中的最佳实践来进行安全编码
- 智能平台
对于跨地区分布和跨地区管理的项目,具有理解项目数据并及时做出管理决策的能力是至关重要的。这将有助于避免进度的延误和成本超支。
因此,开发平台的智能化非常关键,要有能力从多个接触点获取数据,以实现以下目标:
* 有效的工作分配
* 及时上报纠正措施相关信息
* 数据点的相关性,以洞悉事件相关性和可能的替代方法
* 使用从DevSecOps工具收集的数据点,识别项目风险
开发平台提供了一种解决分布式开发挑战并确保成功交付项目的实用方法,有助于确保项目按时完成,同时会满足应用在质量和稳定性方面的要求。这需要平台能够实现以下几点:支持利益相关方之间的协作;通过使用工具确保标准化;支持快速部署开发环境,并具有管理和监控这些环境的能力;通过采用工具、最佳实践和引入游戏化来提高生产力。