改进软件开发的6个技巧

软件开发的黑暗艺术,信息控制:为了使软件开发成功,必须从一开始就选择合适的程序员,并且必须一直坚持到测试阶段的结束,这是整个过程中最困难和持续时间最长的部分。

通过蒂姆研究员 10月17日
完成一个程序所花费的时间比大多数人预期的要长得多,如果没有与程序员一起做出明智的决定,它会花费更长的时间。下面是与程序员一起更聪明地工作的6个技巧。
即使在编程20年之后,我有时还是低估了开发自动化软件所需的时间和资源。为了使软件开发成功,必须从一开始就选择合适的程序员,并且必须一直坚持到测试阶段的结束,这是整个过程中最困难和持续时间最长的部分。自动化软件开发有点像打高尔夫球(尽管没有那么放松)。你一杆就能打到果岭的90%,但还要再打三杆才能把球打进洞里。
与高尔夫球的另一个相似之处是,它的能力范围很广。我有一次在高尔夫球比赛中得了最后一名;一个可能需要我打10杆的洞,一个顶级职业选手只需要3杆就能打完。有了软件,能力的范围就更广了。其中一个原因是,经验丰富的专业人士立即知道如何处理程序所需的大部分内容,而初学者则需要数周或数月才能弄清楚。此外,自动化编程是抽象的、无情的、高度详细的,并且经常涉及复杂的逻辑问题。不是每个人的大脑都能很好地应对这些特征。
2009年,我搬到了一个地方,那里很多上世纪90年代建造的房子都存在严重的结构问题。维修费用往往接近房产的价值,有些房产非常糟糕,不得不被拆除。甚至一些调查人员也没有发现问题。软件开发也是如此,因为软件开发是一种构建练习。如果结构很差,修复它可能会非常昂贵和痛苦。
一些公司依靠代理机构来寻找合适的程序员。根据我的经验,有一种倾向是以“标准费率”雇佣程序员。管理人员(不幸的是机构)发现编程是一种“黑暗艺术”,很难衡量单个程序员的能力。很多公司都在猜测,他们需要三个程序员用6个月的时间来完成一个项目。缺乏经验和水平较低的程序员对这种情况很满意,但较优秀的程序员会感到不高兴,并倾向于寻找其他方法来推动他们的职业生涯向前发展。因此,在一段时间内,程序员的数量会减少。但这种“坐以待毙”的心态还有其他主要的缺点。回到打高尔夫球的类比,程序员可以在项目开始时打几杆,但随后转移到其他地方的另一个合同。他似乎已经取得了很大的进展,但实际上还有很多工作要做。这样做的程序员从来不会在果岭上使用推杆——他们从来没有学习过如何完成一个项目。 Instead they leave to someone else the extremely difficult task of completing their program. It is hard for a programmer to come to grips with a part-completed program, and doubly difficult if it has been poorly written.
改进软件开发的6种方法
1.软件开发的最后阶段,连同测试阶段,比大多数人预期的要长得多。提前计划。
2.最好的程序员让它看起来很简单,但比其他人快几倍。这部分是由于经验,部分是因为他们内化了良好的编程实践。了解软件编程工具和最佳实践。
3.一个构造糟糕的程序对于每个参与者来说都是一场噩梦。确保程序有一个明确的框架。模块化结构有所帮助。
4.将程序员视为一种“资源”的普遍趋势是,标准的薪酬适合较差的程序员,但会驱使较优秀的程序员到其他地方寻找机会。考虑基于项目的薪酬。
5.对程序员来说,跟上别人的程序的速度是一项非常艰巨的任务,特别是如果它写得很糟糕的话。确保相关人员从一开始就参与其中。
6.如果您需要开发软件,那么您必须仔细选择正确的程序员,并确保他们在一开始就理解您想要什么。注意特点和范围。
我遇到过一些项目因为糟糕的软件开发而失败。可悲的是,我怀疑这种情况经常发生。有两件事非常重要:首先,仔细选择合适的程序员。如果你不确定他们的能力,用一个小任务来测试他们。其次,在一开始就仔细考虑你需要什么,最好让程序员参与讨论。他们的意见可能很有价值,也会帮助他们理解你想要什么。
- - - - - -Tim Fellows, LiveWires automation Ltd.董事;编辑:Anisa Samarxhiu,数字项目经理,CFE媒体,asamarxhiu(a)cfemedia.com。

在线额外的:

了解更多关于LiveWires Automation Ltd.的信息。https://www.livewires-automation.co.uk/


作者简介

Tim Fellows于1985年毕业于英国剑桥大学,获得物理学荣誉学位。随后,他进入仪器仪表制造部门,并于1994年开始在国家仪器公司的LabVIEW中编程。1996年,他开始全职NI LabVIEW编程,并于1999年成立了自己的编程和系统集成公司LiveWires Automation Ltd.。从那时起,他已经为广泛的行业和研究组织编写了100多个控制和监控程序(大部分是固定价格)。此外,他还多次完成或维护他人的程序。他还为美国国家仪器公司教授LabVIEW课程。www.ni.com

相关文章链接如下