软件项目避免浪费从需求开始

大野耐一在《丰田生产模式》一书中,描述“丰田生产”模式的根本目标时为了杜绝一切浪费,没有围绕杜绝浪费展开的生产力提升和管理改善是事倍功半的,徒劳的。这样的理念,拿到软件项目开发中同样适用,如果软件开发过程中的浪费能够全部避免,项目的效益和效率也就自然而然提高了。

仔细观察当前软件开发全过程,浪费之处随处可见,首当其冲的就是需求的浪费。以某通信设备公司为例,某产品线所有产品中重要特性未应用率(未激活特性/全部特性)高达22%,一般特性的为应用率更高。

需求是一切的起源,是目标,发生了问题直接导致整个项目的偏离甚至是失败。需求不明确、需求不正确时两个典型问题,将导致后续一系列的问题和浪费,包括:设计更改、代码重构、测试回归、重新发布,甚至是推倒重来,严重的将直接导致项目失败。目标出现了偏差和错误,再完美的产品也没有市场价值。

如何避免需求的浪费?

首先,要弄清楚软件开发的客观规律。软件开发具有定制型、灵活性的特点,是一个渐进明晰的过程。客户真正的需求不会一步到位,完整细致,而是一个逐步清晰、细化的过程,想一次就弄的非常清楚是不切实际的,往往费力很多却效果不好。

我们心中的美好期望是:
  • 客户知道自己想要的东西是什么?
  • 开发人员知道如何开发出客户想要的东西?
  • 而且在这个过程中,客户想要的东西不会发生变化。
但残酷的事实告诉我们:
  • 客户是逐步发现自己真实需求的。
  • 开发人员也是在与客户的不断交互过程中,逐步发现如何满足客户需求的。
  • 客户的需求是随时可能发生变化的。
面对如何残酷的实施,运用迭代和增量的思想进行需求开发是非常不错的选择。通过与客户合作,不断交付有价值的功能;通过与客户交互,不断响应客户需求的变化,不断向客户真正的需求靠近。因此,采用敏捷的需求开发方法,将更符合需求开发的实际过程。
  • 在项目初期,不追求形成完整细致的需求,只完成全部需求的框架,并对用户的需求进行优先级划分,针对其中需求明确且优先级较高的部分先行开发。
  • 通过小团队、短周期、锁定需求范围的快速开发,迅速完成相关需求并展示给用户,取得信任,记录用户的意见,同时,激发用户真正需求,对下一步开发的需求进行研讨。
  • 通过与用户以及开发人员的讨论,不断对高优先级需求进行细化,促进需求进一步明确。
迭代+增量的敏捷需求开发过程,融合了敏捷的思想,促进了客户与开发人员的合作与交互,融合了客户的实际需要与开发人员如何满足这种需求的想法,促进了真实目的的达成。该方法更能够提高客户对需求的满意度,促进项目成功。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值