软件从敏捷到超精益开发的10步

来源:CIOAge.com   作者:黄永兵
2010/8/25 9:51:47
软件开发的创新从来没有停止过,许多新出现的开发方法很多地方都比敏捷方法还优秀,我们暂且统称为精益开发或超精益开发模型。

6、忘掉可扩展性

当我希望快速发布一个版本,看市场的反应如何时,忘掉可扩展性是我最喜欢的一件事,扩展性是业务人员最喜欢谈的一个概念,但真正了解这个时髦词语背后概念的人都知道它是这么一回事,简简单单三个字却包含了很多技术和很大的工作量。首先,需要产品的某些部件可以进行扩展,其次,在创新阶段,许多功能添加进来后可能很快又被移除,这是创新的正常过程,没有什么东西是一步成功的,价值在于快速开发,为小部分人提供样品测试,确定这些功能是否值得保留。精益项目的特点就是快速迭代,快速确定哪些功能需要保留和扩展,那些不被看好的功能就应该迅速停止开发并移除,这样可以提高创新的速度。

7、对好的想法说“不”

根据定义,精益项目需要精益的资源,而本文涉及的是超精益项目,这意味着在任何给定时间只能构建有限的功能,决策过程需要清晰地确定哪些功能是需要的。一个常见的困难是,要在无数的好想法中间确定哪些可以继续做下去,哪些应该停下来,这意味着比以往说“不”的时间更多,一个原则是尽快将产品推向市场,那些违背这个原则的想法都应该先否定,因此需要对好的想法说“不”的魄力。

8、没有笨重的语言

我知道现在肯定没有人用C++来创建一个Web项目,大部分人都在使用Java,Java对企业来说的确很有吸引力,但它对精益项目来说可能显得有点笨重。很多新项目现在都转向了PHP、Ruby或其它一些拥有快速原型优势的语言,一个成功的例子就是Twitter,它就是从用Ruby On Rails做的原型逐渐发展起来的,它将快速迭代开发模型展现得淋漓尽致,对于Twitter团队,迭代的成果就是Twitter。

9、速度高于质量

这是另一个有争议的观点,因为从长远来看总是以质量取胜的居多。但在产品开发初期,哪些功能会成功是不知道的,因此唯有快速将产品推向市场,并收集用户的反馈,然后再把重点放在提高产品质量上,如果发现没有人使用这种产品,那么必须承认这是一个廉价且快速的失败,但我们应该从失败中学到东西,避免重复失败,并迅速释放出更好的产品。拥抱精益和超精益项目的团队喜欢“失败”这个单词,因为他们将它看作是成功的前奏,每一次失败的成本很少,并可以从失败中汲取大量的教训,然后在很短时间内发布更好的产品,从而将上一次的失败掩盖掉,因此以小的失败换来大的成功是非常值得的。

10、用户体验高于用户界面

在过去的15年中,我们看到了网络的成长和成熟,经历了网络泡沫和后泡沫时代,每个时代总会看到很多外观简单,甚至有点丑陋的产品,但给人们带来的价值却很大,尽管它们看起来很丑,但所做的事情却让人欣赏,如著名的Google搜索引擎,Twitter和Craigslist,它们一个共同的特点就是界面简单,但功能强大。我之所以提出这个观点是因为,许多人觉得产品既应该好看,功能又应该很强大,但很多时候是不能两全其美的,核心功能必须强大,然后是易用性,最后才是美观。在开发新产品时,有很多创新的想法需要去实现,因此精益和超精益开发团队可以使用快速原型和迭代不断改进,并最终取得完胜。

共2页: [1]2 下一页
责编:赵新娜
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
畅享
首页
返回
顶部
×
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918