修炼2 这个任务,估计一下工作量,需要多少天?
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章讲述了作者作为程序员在加入项目后的经历。最初,Francois赋予了作者学习Java的机会,尽管作者的Java知识几乎为零。尽管感到不安,作者还是接受了项目,摆脱了公司鄙视链的底端。项目实际上是北约陆军的OTAN战地指挥系统,涉及高风险和技术要求。
在项目中,作者首次面临“估计任务完成时间”的挑战,由于缺乏经验而不知如何回答。项目经理的不断追问和缺乏指导导致作者选择了一个不切实际的四天完成期限。实际上,任务花费了四周时间才完成一部分。
作者描述了完成任务过程中的辛苦,包括加班、熬夜和面对持续的压力。在一个偶然的晚上,Francois发现作者独自加班并表示关心,尽管他知道这只是客套话,但作者还是感到感动。
项目进展缓慢,导致项目经理焦虑,最终另一位经验丰富的程序员接手帮忙。经验丰富的程序员通过重新拆分任务,使项目得以快速完成。这次经历教会了作者如何处理任务和时间估计的重要性,以及如何更有效地工作。
随着时间的推移,作者学会了理解需求、合理地分配任务并拒绝接受过大的任务块。此外,作者在技术上也有所成长,并能够参与到高级讨论中。作者总结了从一个新手程序员变成一个被赞扬的程序员的心路历程,以及如何通过经验学到的教训来改善工作方法和生活。
文章最后总结了软件工程项目的不确定性和动态性,指出任务时间估算的困难。作者建议关注客户的核心价值和目标,与业务方共同讨论最优方案。文章还提到敏捷开发的概念,强调对变化的适应和价值的关注比时间估计更重要。
想要了解更多内容?