Lean 软件开发

Lean (敏捷)是一个我认为没法很好直译的词,它想表达的基本意思是:以最低的成本,最高的效率,最高的质量,及时快速的响应和满足客户的需求。这个词核心想表达的就是:及时快速的响应和满足客户的需求。Lean 还有另外一层含义:所适用的范围是Lean的,也就是相对简单和规模小的任务或者项目,或者能合理划分为小项目集,且依赖关系不是很强的大项目。

每一个行业在成熟度不是很高的时候,或者进入门槛比较高的时候,是无法有效的实现Lean的,比如核能、航空。只有在一个行业发展到Early Majority阶段的时候,Lean才适合比较广泛的使用,比如汽车行业、家电行业、制造业。当然,Lean也适合早期的Innovation 阶段,比如说市场拓展、销售、新产品研发。

很庆幸,从事IT行业以来,IT行业正是逐步像Early Majority阶段过渡的时期,让我能够对这两种模式都有一些理解和应用。相对来说,行业早期阶段,为了能够有效的保证交付质量,detailed-planning 模式或者成为project based是比较合适的;进入到行业成熟阶段,Lean styled 更能适应市场需求,更有竞争力。

当前的IT行业分为两种:Internal and external。先说External,大多数为服务交付为主,这一类采用lean受到最大的一个约束条件是项目(任务)范围的界定和服务模式。如果采用通用的总承包模式,承包方的风险会很大,难以控制,因为客户的需求范围不会特别明确,变化系数和范围比较大。如果采用按需付费模式,当前甲方的企业管理模式支持程度和乙方能够提供服务能力如何定位和定价尚无成熟的模式。当前类似的问题在很多外包类项目或者人员使用中就碰到了这类问题,劳动力输出方能够提供的服务和买方期望差距比较大。对于lean 这种团队模式提供服务的,这方面的矛盾更加突出。另外,Lean 模式核心的一个要素是能够实现良好的沟通,这对于企业服务类模式也是一个比较大的挑战。

对于Internal类的项目,尤其是互联网类的企业,总体来说,比较适合Lean模式。

1、需求分析(产品设计),可以根据业务发展和公司战略,确认产品核心功能以及功能优先级,逐步完善。同时,互联网企业强调同客户的互动和反馈来进一步更新和收集需求以及产品创意。

2、对于成熟的企业,可以参考Scrum或者XP方法,直接采用。

 

下面主要说说对于非成熟类的企业或者初步尝试使用敏捷软件开发类企业在敏捷软件开发需要注意的问题:

1、优先在软件工程的前两个阶段采用敏捷:需求、设计和开发

2、对于测试和结果验证,结合User story(用例图和流程图)来验证,周期一般控制在2天,即第二天验证前一天交付的内容,这样站式会议一般顺延到下午。或者根据项目特性调整会议周期。

3、逐步完善bug管理、测试自动化、部署自动化、发布自动化工作。

4、如果有严格时间限制的,优先采用XP方法,如果没有采用Scrum方法。

 

从Lean的核心思想和在TPS应用的最佳实践来说,Scrum是最符合lean思想的,但是感觉在实际工程中采用XP方法的效果相对来说更好些。

 

转载于:https://www.cnblogs.com/itermm/p/4651742.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值