2016年4月05
l在过去的几年里,我在行业中多次遇到以下场景:一个复杂的软件由一个开发团队编写。最初的完工期限已经过去,完成工作的压力很大。开发人员夜以继日地工作,但没有人真正知道这需要多长时间。每个人的压力水平都很高,一些工作人员的健康受到影响。管理层正试图解决如何限制损害——是否招募更多的程序员,让事情继续发展下去,或者甚至可能终止整个项目。不幸的是,在这个阶段很少有好的选择。让更多的开发人员参与进来实际上会减慢项目的进度,因为他们需要帮助“加快进度”。增加开发人员也产生了更多沟通的需求,因为他们的工作迟早会融合在一起。然而,增加更多的开发人员可以发挥作用的一个例子是,新的开发人员可以带来现有开发人员所缺乏的特定技能。我相信上述情况是可以避免的。为了理解如何,有必要思考软件开发工作的一些特征。估计的时间尺度每个新的软件项目都是独一无二的。很可能不可能将其可能的时间表与另一个项目进行比较。此外,软件的复杂性增加了估算合理时间表的难度。在估计时间尺度时应该谨慎,最好的时间尺度估计可能来自于曾经参与过许多时间关键项目的开发人员,最好是那些与您的新项目相似的项目。预先设计研究表明,在项目开始时花在软件设计上的时间是值得的。一旦工作开始,就进行设计更改是非常低效的,而且更改的时间越晚,情况就越糟糕。意想不到的变化也会使程序变得“混乱”和难以操作,这就是“软件衰退”现象开始出现的时候。在某些情况下,不充分的预先设计可能意味着程序在一开始就得到了错误的总体结构,这可能成为一个主要问题。在设计过程中要非常小心。低估所需要的复杂性是一个错误,就像没有发现可以使事情变得更简单的优雅的解决方案一样。设计过程还需要涉及所有“相关方”。他说,举例来说,如果开发人员在没有充分了解市场需求的情况下开始设计程序,那么他们将一无所获。有时会有压力要求在充分的设计工作完成之前就开始开发过程,这样终端用户就可以看到正在取得的进展。在可能的情况下,应通过强调“适当设计”的重要性来抵制这种压力。对于任何有一些计算机知识的人来说,编程是一个很容易进入的领域。即使经过一两周的学习,学习了一些基础知识,市场上的需求是如此之大,以至于代理机构可能热衷于签下一个刚出道的程序员,并将他或她提升到不同的组织。但实际上,编程是一项无情且复杂的任务。需要有高度分析的头脑,有解决复杂逻辑问题的天赋。在软件世界中有许多不同的资格,没有共同的标准。开发人员可能会质疑这些资格的价值,并决定不去理会它们。从积极的方面来看,在继续教育中学习的科目,如数学和科学科目(包括计算机科学和工程)可以粗略地衡量程序员处理复杂编程逻辑的能力。许多寻找程序员的不同方法都值得尝试,包括谷歌搜索、LinkedIn、机构和个人推荐。如果你对某个候选人有任何疑问,安排一段较短的试用期是值得的。预先设计在软件开发中是必不可少的,任命高质量的开发人员也是如此。最有效的开发人员应该有正确估计时间范围的经验,对语言有很好的把握,善于解决复杂的逻辑问题,还应该有良好的人际交往能力。Tim Fellows最近推出了一个新的服务“LabVIEW医生”服务。他能够实时帮助解决编码问题。要了解更多关于这项服务的信息,请访问:www.livewires-automation.co.uk online-labview-assistance.html
打印这一页|电子邮件这一页
这不是付费墙。这是一个Freewall。我们不想妨碍你来这里的目的,所以只需要几秒钟。
现在注册