超精益软件开发境界的10大必须

软件开发的都知道瀑布软件开发模型吧,也都知道它已经成为软件工程教科书上一个小节的内容吧,仅此而已,因为它已成为历史,现在已经没有人愿意说自己采用的是瀑布式软件开发模型,取而代之的是敏捷开发模型,这个是大家现在挂在口头上的常用语吧,其实你有所不知的是敏捷开发模型早在10年前就开始被广泛采用了,但软件开发的创新从来没有停止过,敏捷开发现在也已经OUT了,许多新出现的开发方法很多地方都比敏捷方法还优秀,我们暂且统称为精益软件开发或超精益软件开发模型吧,下面我们就来看看一个公司如何做到超精益软件开发的境界。

1、忘掉可扩展性

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

2、选择商品化的技术

不管你在哪个国家,总还有一个国家的工程师薪水比你低,作为软件工程师,这是一件让我们很心寒的事情,但事实就是这样,真的很残酷。软件开发工作越来越商品化,借助第三方库和API,使软件开发不再是一件复杂的事情,需要实现的业务逻辑变得越来越简单,Web领域也正在经历一场运动,人们开始重视简单的业务模式和内容质量,而不是技术,因为软件开发已经进化到只需要调用现成的库或API就可以组装成功能强大的系统,开发人员自己写的代码会越来越少,其实这样也会提高软件的质量,组装式开发比一个字母一个字母敲代码稳当多了。

3、选择没有技术风险的想法

虽然我的话听上去象是没有技术风险,但如果你想在复杂的领域创新那还是有的,如语义网络、云计算、搜索或其它高级的或资源昂贵的计算机科学领域,如果正好身处这些领域,你一定能体会到有很多的技术风险,虽然这些新兴技术领域常常会让人很兴奋,但遗憾的是,除了技术风险很高外,市场风险也很大,因此整体风险就翻了一番。在选择创新的领域时,大多数人会选择风险低和更简单的领域,选择高风险和难度高领域的人一般都是技术狂人,一旦成功,他们可能就会获得“xx之父”的美名。

4、关注技术风险和市场风险

另一个与技术商品化并行存在的现象是缺少关注所谓的技术风险,在上世纪90年代,很难招到优秀的程序员,因此那个时代开发出来的软件都很让人害怕,也让不少公司吃了苦头,项目不是被迫推迟就是被迫取消的情况时有发生,虽然现在情况有所好转,但一样让人不那么放心,项目被延迟,成本超出预算,要进行大规模用户测试时软件还没有准备好的现象仍然频频发生,但一般来说,所有问题都是可以解决的。

5、对好的想法说“不”

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

6、累积技术债务,快速将产品推向市场

这一点并不适合每一个人,如果你在做企业软件开发,你一定要避免累积技术债务,因为它会使你组织中的其他人花时间来处理你构建的软件,如果你开发的是金融或医疗信息系统时,那你一定要小心谨慎。另一方面,如果你开始做的不是很关键的系统,你可以跳过许多最佳实践需要考虑的事项,可以认为是偷工减料的做法,这样做可以更快速地将产品送交测试和推向市场,可以探一下市场风险究竟有多大。

7、仅当被黑了才重视软件安全

软件安全是累积技术债务的鲜活实例,加强软件安全的技术有很多种,如果你在一家对软件安全要求很严格的企业里,这一点并不适合你,另一方面,如果可以,放弃最软件安全的做法,只着眼于简单有效的做法,如输入验证,这样也有助于减少错误。除此之外,你可能想远离会话劫持或复杂的服务器软件安全配置,或通过被黑尔发现软件安全漏洞,是的,我拥护被黑后在加强软件安全保护,但只有不会造成很大损失时才推荐这样做,大多数黑客攻击都没有恶意,而是希望帮助你发现软件安全漏洞,这样你就不用猜测哪里有软件安全漏洞,可以专注于核心产品的开发。

8、速度高于质量

这是另一个有争议的观点,因为从长远来看总是以质量取胜的居多。但在产品开发初期,哪些功

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301