软件开发的努力与成果

原文地址 https://dzone.com/articles/ef...

你肯定听说过一种说法,就是程序员都喜欢偷懒,时不时的就摸鱼,一天就两三个小时在干活。

看看工厂里面,那些在流水线上组装电视的工人。如果有人停下来几分钟不做事,这意味着什么?意味着这段时间的产量就减少了,意味着每台电视的成本增加了。

但如果软件公司的管理者也以这种方式去看待开发人员的工作,那就大错特错了。你不能把开发人员比作是流水线工人,开发人员更像是手艺人。一门手艺活要做好,不但要时间,更要经验。越是缺少经验,要把活做好就要花更多时间,反之亦然。比如雕塑,创作一个精美的雕塑需要花费巨大的精力和时间,而且世上没有两个手工雕塑是一模一样的,同样的也没有两个程序员会写出一模一样的东西出来。

所以管理人员对开发者生产力的评估,应该着眼于结果。只要开发者的产出是符合质量要求的,那么耗时一天还是一个小时不重要。当然我们也要考虑时间方面的成本,但时间管理的职责是在经理而不是开发人员身上。开发人员的职责是在安排好的时间内完成任务或解决问题,经理的职责才是评估成本,保证开发人员能“人尽其用”。

有一次我去面试项目负责人岗位,面试官问我作为项目负责人有哪些工作。我说我负责制定开发流程、组建相应的工作环境、进行适当的培训以便让大家做事情更顺手。我觉得面试官肯定充分理解了我说的内容,但是有一点他不爽,因为照我说的话,当我开头忙完之后,就会有一段时间比较闲,因为流程制定好了,工作环境也稳定了,我要做的就只有维护大家的工作流程而已。按他的话说,“等流程制定完了之后,你每天大部分时间就无所事事了。”这样他就觉得不爽,哪怕我可以让团队的开发效率比他当前的团队高四倍(他之所以招项目负责人是因为他有个项目就快要搞不定了)。

所以,你要是把努力看得比成果更重要,那就有问题了。管理者倾向于喜欢那些晚上加班、周末加班、不给儿子过生日、老妈住院都不去看望、五年以上都没休过假的人,而不喜欢按时上下班,但工作效率和产出质量都比前者高得多的人。

生产率才是关键。对于牛逼的开发人员,你要学会如何评估其真正的生产率,也就是看完成任务花了多少时间、出了多少 BUG、被 QA 打回多少次、被用户反馈问题多少次等等,而不是看每天坐在那里是忙着还是闲着。

雇佣缺乏经验的开发者才是真的高成本。他们就算拼了命地干活,生产率也不高,因为更容易出错,做出来的跟用户期望的不一致等等,这些问题带来的成本是没法靠加班来抵消的。

当然另一方面,不能说牛逼的开发人员就可以违反纪律为所欲为。关键是要把生产率而不是努力程度作为评估的原则。一个好的管理者能让牛逼的开发人员尽可能的多做事,Aaron Dignan 的《Game Frame》提到了一些如何这么做的策略,建议阅读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
尊敬的评委老师、亲爱的导老师,大家好! 首先,我感谢评委老师和导老师对我的关注和支持,感谢他们在我成长中给予的导和帮助。在这里,我将简要地介绍我的转正答辩,包括项目背景、项目内容、项目成果和个人收获。 一、项目背景 我所在的公司是一家专注于软件开发的企业,主要为客户提供定制化软件开发服务。由于客户需求的多样性和变化性,公司需要不断地提高自己的技术水平和研发能力,以满足客户的需求。因此,我所参与的项目就是公司内部的一个技术研发项目,旨在提高公司的软件开发能力和效率。 二、项目内容 本次项目的研发内容是一个基于云计算的软件开发平台。该平台为软件开发人员提供了一个集成化的开发环境,包括代码编辑器、调试工具、版本控制系统、自动化测试工具等。通过该平台,软件开发人员可以更方便、更快速地开发出高质量的软件产品。 具体的项目内容包括: 1. 前端开发:主要负责平台的前端界面设计和开发,包括页面布局、交互设计、响应式设计等。 2. 后端开发:主要负责平台的后端逻辑开发,包括数据存储、API 接口设计、权限管理等。 3. 数据库设计:主要负责平台的数据库设计和管理,包括数据表设计、数据关系建立、数据备份等。 4. 测试工具开发:主要负责平台的自动化测试工具开发,包括测试用例设计、测试脚本编写、测试报告生成等。 三、项目成果 在本次项目中,我主要负责了前端开发和测试工具开发两个方面。 在前端开发方面,我根据平台的功能需求,设计了界面布局和交互流程,并实现了前端的代码编写和调试工具。我采用了 React 技术栈,使用了 Redux 进行状态管理和 axios 进行数据请求。在界面设计方面,我注重了用户体验和响应式设计,使得平台可以在不同设备上良好地展示和使用。 在测试工具开发方面,我主要负责了测试用例的设计和测试脚本的编写。我采用了 Selenium 技术,编写了自动化测试脚本,并使用了 Jenkins 进行持续集成。通过测试工具的使用,我们可以更快速地发现和解决软件中的问题,提高了软件的质量和效率。 除此之外,我还积极参与了团队的讨论和协作,与其他开发人员共同推动了项目的进展和成果。 四、个人收获 通过本次项目的参与和实践,我获得了以下几点收获: 1. 技术水平的提升:在本次项目中,我学习了 React 技术栈和 Selenium 技术,并将其应用于实践中。通过不断的练习和实践,我不仅掌握了这些新技术的使用方法,也加深了对软件开发的理解和认识。 2. 团队协作的能力:在本次项目中,我积极参与了团队的讨论和协作,与其他开发人员共同推动了项目的进展和成果。通过与他人合作,我学会了如何有效地沟通、协调和合作,提高了自己的团队协作能力。 3. 项目管理的能力:在本次项目中,我学会了如何有效地管理项目,包括需求分析、任务分配、进度跟踪和成果验收等。通过项目管理的实践,我提高了自己的项目管理能力,也了解了企业中项目管理的重要性和难点。 总结 通过本次软件开发的转正答辩,我向大家介绍了我参与的项目背景、项目内容、项目成果和个人收获。通过这次项目的实践,我不仅提高了自己的技术水平和团队协作能力,也了解了企业中软件开发和项目管理的实际情况和难点。在未来的工作中,我将继续努力,不断提高自己的技术和管理能力,为企业的发展和客户的需求做出更大的贡献。谢谢大家!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值