写点什么

软件工程任务排期方法

用户头像
steve_lee
关注
发布于: 2021 年 03 月 14 日
软件工程任务排期方法

《python 高性能编程》作者之一,Ian Ozsvald 建议在用 cProfile 等工具开始分析之前对代码各部分的运行速度进行假设,并且将有问题的代码打印出来加以标注。这样,在通过 cProfile 进行时间分析后,就会用精准的数字发现自己错误的点在哪里,发现错误不是目的,目的是通过这样的训练,能够提升自己后续对该语言编程的直觉,产生更高效率的代码。

我的想法是,我们也可以将该方法运用到软件工程中的工时分析当中。工作中总是有这种情况,合作团队或者上级需要提供一个工期预估,从而来进行资源和进度的协同。此时,精确的预估很重要,太久了,未必能争取到资源,领导也未必接受。太早了,搞得三军俱疲,需要加班且临时赶工的代码,质量难以保障,修复这些临时赶工代码的时间可能要更久,如果在涉及。万一交付不了,就更加尴尬。

能否借用 cProfile 的方式来进行自己工期预估能力的优化呢,我想是可以的。我们可以将任务进行拆解,粒度随着自己能力提升会越来越大,并对每个模块进行一个时间预估,保留充足的 buffer 时间,保证即便翻车影响也不太致命。关键的是,要在开发过程中对真正的耗时进行记录(软件工程的 cProfile),在项目结束后进行复盘,找到最耗时的任务,看看自己的预估有多不靠谱,是哪里出了问题,什么没有考虑到,是某个下属或者自己某些方面能力不足,还是任务本身难度过大。随着经验积累,应该能够有更好的预估能力,任务排期也会更合理,不用因为自己能力不够,导致下属天天 996。同时,也避免被团队的老油条唬住,事情推进不下去。对于自己队伍的能力也有充分的了解,安排战斗还是培养人才,都有了更好的标的。


用户头像

steve_lee

关注

还未添加个人签名 2018.03.09 加入

还未添加个人简介

评论

发布
暂无评论
软件工程任务排期方法