技术层面和管理层面都可以。
谢谢邀请。
提问的人其实问了2个问题,一个是针对普通程序员的,一个是针对管理级程序员的。
针对普通程序员:
-
提高理解业务与需求的能力;
-
提高沟通效率;
-
提高思考与分析问题的能力;
-
可以迅速定位,迅速BEBUG,找到关键问题;
-
熟悉自己的代码编辑器;
-
合理高效的使用针对代码处理的快捷键;
-
快速盲打,非常熟悉键盘;
-
能合理高效利用现有资源;
-
拥有良好的编程习惯与风格;
-
学会适当偷懒,让程序帮自己节省固定模式的体力活;
-
善于帮自己开发一些小工具,小脚本,小函数等节省时间,提高效率;
-
学会跟踪自己的时间消耗;
-
对编程语言与技巧有深入研究;
-
针对不合理的需求,学会说不;
针对管理级程序员:
-
能够深层次思考;
-
能够从根本上解决问题,争取药到病除;
-
能够从整体流程与架构设计上去把关;
-
对业务理解非常深刻与透彻;
-
能透过现象看本质,仅看一眼大概就能分析出问题出在哪里;
-
能够快速重构与优化代码;
-
善于总结与反思;
-
对代码的熟练程度,能做到举一反三;
-
能对所管理的小伙伴编程风格与约定进行规范化的管理;
-
能提前洞悉政策与趋势,提前准备;
-
能正确理解老板意图,执行力高;
-
针对需求,做到有效管控;
-
提升项目管理的技能;
综上所述,如果能做到上述的点,软件开发与交付效率可能会相对 高一些。
(结束)
项目管理四要素:工作范围,时间,成本,质量。
想减少时间,有办法:压缩需求,增加成本,降低质量。
具体办法举例:
压缩需求。砍掉不必要的功能,简化流程等。
增加成本。全部换成开发经验丰富的,多招些人并行开发,加班,奖励等。
降低质量。降低技术要求,降低用户体验,不考虑效率,允许非致命性错误等。
软件项目管理是一门艺术,永远没有足够的资源,管理就是在不断的寻求平衡。
从技术角度看,软件开发涵盖的过程,包括概要设计,详细设计,编码,单体测试,集成测试,系统测试等过程。这些过程都可利用的高效的工具,如设计上画流程图,熟练使用工具可提高效率。编码上使用IDE环境进行编码,调试。在测试上也有很多半自动化工具提高效率。当然如果有可重用的模块那是最好的了,如果允许使用开源代码的话,很多是可直接拿来使用的
。