软件开发过程中常见风险和应对策略

简介: 软件开发过程中常见风险和应对策略

大家好,我是阿萨。今天给大家罗列一下之前阿萨经历过的项目风险。

  • 需求变更
  • 进度紧张
  • 预算风险和技术风险
  • 质量风险
  • 人力资源风险
  • 工具风险


一、需求变更


开发最害怕需求变更,尤其是推倒重来的那种。它某些程度上是一种资源的浪费。需求变更其实就意味着之前的工作都白做了,有些变更是之前需求分析不到位导致的。有的变更是开发发现实现成本巨大,不得不变更的。有的变更是后期发现场景遗漏或者重大缺陷无法避免的。

遇到这种情况该怎么办?

1.前期用户故事和需求分析要多了解背景知识。业务分析再透彻一些。避免场景遗漏情况以及沟通不到位的情况发生。

2. 开发预研的时候可以先原型先行,避免出现严重缺陷,无法避免。

3.开发反串讲环节和开发转测试验收环节必须覆盖主流程的happy path

4. UX先行,先让UX把原型和客户确定好,避免后期返工情况。


二、进度紧张


估计工时的时候,大多数情况大家都说自己肯定能很好的完成。大部分情况下都会有延迟交付。可能是突发事件影响,比如hotfix,重要成员请假等情况。缺陷修复花费时间比预计要多。

遇到这类情况,如何避免?

1. 估计工时时,需要考虑各种意外情况。比如节假日附近,大家请假的情况。

2. 产品质量差导致的修复缺陷时间长。其实可以让每个开发把修复缺陷时间加上。

3.排计划,预留出突发状况的情况。


三、预算紧张和技术风险


预算紧张一定会影响采购,那么服务器或者开发工具如果不能按照预期时间到位。就会出现阻塞性情况。所以前期一定要考虑采购计划。包括采购服务器和开发工具等情况。

另外所使用技术遇到无法解决问题导致客户场景无法实现的。也是常见风险。

解决措施:

1. 技术风险,在前期技术可行性分析和研究的时候,就需要考虑是否存在特殊场景无法实现,来避免此类问题。

2. 项目采购计划,在项目初期也要合理安排好。针对特殊情况下,提前预留部分预算。项目初期技术可行性研究和测试策略制定时针对硬件以及软件的需求需要及时上报。


四、质量风险


没有人愿意用质量差的产品,任何人都不例外。但是大部分情况下交付产品都会遇到客户评价质量无法达标的情况。

该如何规避?

1.项目初期,确定好所有质量标准。和客户明确需要达成的质量目标和要求。

2. 建立质量门禁,确保流水线所有步骤的质量门禁都可以达标。

3. 测试左移和测试右移需要在制定测试策略的时候就明确并执行起来。确保全面质量管理和质量内建尽快做起来。


五、人力资源风险


项目规划了10个人,实际到位5个人。项目交付日期还不能变。这种项目风险极高。

项目进行中,骨干离职。比如那个底层工程师离职导致登月计划受影响的热搜。

如何避免呢?

1.人员轮岗。尤其是关键岗位人员。一定要过一段时间轮换一段时间岗位。

2. 项目计划阶段,人力资源和项目交付日期一定要把好关。避免出现,人力资源不到位情况。


六、工具风险


也可以理解为日常工作的软件和硬件风险。比如开发一款苹果手机应用,开发和测试没有云测试平台,没有苹果机。开发和测试了个寂寞。

工欲善其事,必先利其器。连工具都没准备好。咋干活?

这种只能找领导申请资源啦。

希望大家的项目都顺风顺水,尽量避免此类现象出现。

相关文章
|
弹性计算 Linux Shell
阿里云ECS完美升级gcc版本基于CentOS8
阿里云ECS完美升级gcc版本基于CentOS8
2805 0
|
编译器 C语言 C++
右值引用,完美转发,NRVO 和RVO优化(简单易懂详细)
右值引用,完美转发,NRVO 和RVO优化(简单易懂详细)
1610 0
|
小程序 容器 JavaScript
探索uni-app:构建跨平台应用的神奇工具
探索uni-app:构建跨平台应用的神奇工具
|
传感器 数据采集 存储
项目实战:嵌入式系统应用开发
项目实战:嵌入式系统应用开发
|
数据采集 JSON API
.NET 3.5 中 HttpWebRequest 的核心用法及应用
【9月更文挑战第7天】在.NET 3.5环境下,HttpWebRequest 类是处理HTTP请求的一个核心组件,它封装了HTTP协议的细节,使得开发者可以方便地发送HTTP请求并接收响应。本文将详细介绍HttpWebRequest的核心用法及其实战应用。
803 6
|
Linux 网络安全
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
581 1
|
消息中间件 设计模式 监控
如何优雅地实现接口统一调用?
【2月更文挑战第6天】
1158 3
|
前端开发 Java
SpringSecurity6从入门到实战之默认登录页面的生成
本文介绍了SpringSecurity在SpringBoot项目中如何自动生成默认登录页面的过程。当访问如`/hello`的受保护路由时,请求会经过多个过滤器。在AuthorizationFilter中,未认证的请求会被拦截并抛出AccessDeniedException。接着,ExceptionTranslationFilter捕获此异常并启动身份验证,调用LoginUrlAuthenticationEntryPoint的commence方法,重定向到/login。DefaultLoginPageGeneratingFilter拦截/login请求,生成并返回默认的登录页面。
|
Kubernetes API 微服务
「架构风格」SOA(面向服务)和微服务
**SOA与微服务对比摘要**: - **SOA**:企业级,服务粒度大,重用性强,常通过ESB通信,服务部署集中,技术栈统一。 - **微服务**:服务粒度小,单一职责,轻量级协议如REST,独立部署,技术多样性,去中心化治理。 - **区别**:服务大小、独立性、通信协议、部署方式和技术栈不同,微服务更强调敏捷和独立性。 - **示例**:Python Flask简单示例展示了服务创建,SOA服务间通过HTTP请求通信,微服务每个服务独立运行。 - **权衡**:涉及服务发现、负载均衡、容错和安全,常用技术如Docker、Kubernetes和API网关。
1401 0
|
Java 程序员 API
【深入探究 Qt 线程】一文详细解析Qt线程的内部原理与实现策略
【深入探究 Qt 线程】一文详细解析Qt线程的内部原理与实现策略
1329 0

热门文章

最新文章