开发贴士和银弹

Publish date:

这周我想写一篇很短的博文,利用url链接推荐几篇写得很好的软件开发博文,并希望博友们能认真看看。两篇博文都反映 […]

这周我想写一篇很短的博文,利用url链接推荐几篇写得很好的软件开发博文,并希望博友们能认真看看。两篇博文都反映了软件开发方式的变化,其中一篇讨论了如何利用敏捷(Agile)模式来快速编写小块代码,另一篇探讨了在云环境下开发以及为云环境开发的“九个贴士”。

软件开发行业正悄然发生着变化,考虑到企业的不同要求,这种变化是必然的。开发速度要加快,市场形势要求经常改变新的前台环境。因此,越来越多的人开始考虑敏捷开发模式。Esther Derby就这个问题发布了一些非常有意思的文章,探讨了敏捷开发对企业的适用性,另有一篇博文以《仍然没有银弹》(Still No Silver Bullets)为题对敏捷开发的情况进行了总结。

我认为文章结尾处的一句话点出了关键:除非经理们也改变其工作方式,否则任何方法或者方法组合都无法改善结果。我见过许多真实例子,反映出转变根深蒂固的习惯是多么艰难,转变以多年经验为基础而且以前行之有效的工作方式更是困难重重。这并不奇怪,这是人类的正常反应。但这不一定就是对的。年轻程序员天生就愿意转向敏捷开发模式,但如果不让经验丰富的项目经理参与且不制定计划就让他们朝这个方向走,我们总觉得是不对的。其办法是让一些转型意愿较强的业务经理,从部分软件入手,进行敏捷开发实验。

目前,有些业务经理和年轻程序员很可能已经在利用外部资源(即云服务)进行这方面的实验。Bob Violino在InfoWorld上发布了一篇大作,其标题为《云开发:投身前需要了解的9个贴士》(Cloud Development: 9 gotchas to know before you jump in)。虽然文章有点长,但完全值得一看。了解这些实用建议,同时制定一个明确的计划,尝试以新的方式进行开发和部署以满足新的业务挑战,这样可以极大地提高成功的几率。

我查阅了大量资料,希望找到有关最佳做法、甚至敏捷开发贴士的好资源,以便在此提供给大家。但令我十分惊奇的是,多数内容是在2006年到2008年期间写的,因此,我十分怀疑这些内容是否适用于当今的问题,最重要的是,业务要求和部署方法已发生重大改变。好吧,我就假定基本方法不会变,因此可能会有些用处,就继续查找,结果令我惊喜万分,惠普就这个话题发布了许多文档,涉及面非常广泛。他们似乎对开发工具不是特别感兴趣(可能是我的偏见?),更感兴趣的是其产品如何获得出色的结果!

我写这篇短文的目的是鼓励开发部门制定一条明确的发展路径,在新的环境中,使用新的方法,根据新的要求进行试验性开发,最重要的是不干涉当前的管理模式和方法。学习体验和目标应充分考虑这样的情况,有些东西可能不起作用,即使是这些局部失利,也是一种学习成果。这正是经验丰富的经理和开发人员发挥作用的地方,他们可以查找症结所在,找出问题根源和解决办法。这样,老手和新手都有机会参与形成和总结新的最佳做法。

请记住,商学院传授的新产品上市法则正快速失去效用,这也是好事,为发现新的能手提供了可能。换言之,软件开发必须变革才能适应新的商业模式!