|
作者:人月神话 联盟会员:项目管理者联盟 转载
1.天赋和技能
才能是天赋和后天技能的结合.软件开发需要开发者不断的学习和积累,提高自身知识技能。更需要有一种先天的职业洞察力和对软件开发职业的敏锐度。软件开发中自我学习能力很重要,但学习能力强弱则体现到个体的悟性。这种天赋和悟性有助你充分的发挥你的潜力和开发技能。疯子不都是天才,但他们都很执著和狂热,开发者需要时刻保持着这份狂热。
2.沟通和协作
软件开发是一种高层次的脑力劳动,需要实现现实事物到抽象事物的转换。软件开发的过程就是开发者不断认识现实,不断寻找解决方案,不断创建解决方案的过程。沟通已经不再局限在完成当前工作的交流和协作,更多的是开发者间思维和思想的交流。对于新组建的团队或新老员工间沟通会异常艰苦或复杂,而对于配合多年的开发者间的沟通往往仅仅是一个眼神和手势。开发团队只有真正建立了自己的团队语言,才能够真正感受到沟通的愉悦。
建立大量文档的方式不适应已经建立团队语言的配合默契的团队,文档也很难体现出开发者对某个开发工作的深层次理解和经验的分享。沟通是双向的经验,心得和开发者间情感的交流,而不是像文档一样单项的信息传递。
3.团队和发展
团队建设和发展对提高整体项目绩效是至关重要的。在团队中开发者相互学习和共同成长。信任和友善对团队共同发展的重要因素,当你要和他人共同来完成一个目标的时候,你必须高度信任你的搭档而并肩战斗。在这个过程中你虚心接受他人的经验和意见,同时又无私的分享自己的知识和经验。
4.学习和创新
当你觉得你的工作完全是一种毫无疑义的体力劳动的时候,你应该考虑你的工作是否应该由系统来自动完成了。天才在面对着一些毫无意义的重复劳动时候都是懒人。他知道他们的时间宝贵,应该用来去探索未知的世界和寻求突破。软件开发的每个过程和阶段都体现着创新,体现着模式的匹配,解决方案选择和全新的解决方案,创新的过程就是我们知识积累得到质的提高的过程,知识的积累不是简单的量的积累而是知识层次结构的螺旋上升
5.个体和过程
过程不应该简单的理解为必须通过文档或模型固化下来才叫过程。大家约定俗成的分析解决问题的方法也是过程。个人和过程在软件开发中都起到重要的作用。重视个人而忽略了过程的团队将很难提升整体绩效,而忽略了个体的过程也注定失败。软件开发中的人不是机器,他们需要独立的去分析和思考,以解决问题。但团队要共同作战和协作,必须要有一套适合团队自身的成员认同的开发模式。
|
|