总结
TASK | REQUEST |
---|---|
作业课程 | 系统分析与设计 |
作业要求 | 总结 |
作业目标 | 对项目及课程进行总结 |
以前的问题
博客:https://www.cnblogs.com/ruihuang/p/11477312.html
问题一:对于初级软件工程师和高级软件工程师在技术技能上的差距,仅仅只是对具体技术掌握的熟悉程度吗?
新的思考:高级软件工程师懂得市场分析、技术执行分析、价值分析估算项目的风险等,能够依靠逻辑,设计出高效地算法,更好的解决问题。
问题二:领航员和驾驶员的角色是不断轮换的,技术水平较差的领航员是否能够解决技术更好的驾驶员的技术问题?是否反而降低了工作效率?
新的思考:结对编程的确牺牲了工作效率,但换来的是产品质量,从而使测试更加顺利。
问题三:在作者的叙述下秘密团队模式几乎是一个完美的团队模式:“超高的效率”,“完成不可能的任务”。秘密团队模式有缺点吗?什么样的团队适合秘密团队模式呢?
新的思考:秘密团队模式只适用于项目遇到了瓶颈、无法突破的情况下,针对的是单个问题。对于整个项目,秘密团队模式只会让团队盲人摸象。
问题四:在大型团队的项目中,是否可以沿用敏捷开发的思想,将部门再细分,每个小部门解决部分需求?从而让复杂项目也能采用敏捷开发?
新的思考:可以,这便是部门的作用。不知道怎么会有这样的提问,大概是没有问题问了。
问题五:为什么好的创新不一定会赢?这难道不是一件好事?
新的思考:1、创新的产生过程是大脑的运动,而其实现过程是人的运作。脱离了现实的创新就是纸上谈兵。2、创新绝对是一件好事,从人的思维方面来说。
新的问题
无
掌握的技能
从这一学期的学习和实践来看,我掌握最多的便是团队合作这一技能,无论是个人作业里的结对编程、再到团队项目的项目开发、答辩,考验我最多的不是编码能力,而是如何在老师规定的条件和流程下、和组员一起完成目标,需要有良好的沟通、均衡的分工、相互配合以及相互信任。
总结
这一门课程的学习,大概是大学以来细节要求最多的一门课了,小到每篇博客的内容细节、开发项目时git commit次数都有所要求。但我认为这是一件好事,这门课的要求不是掌握某一种开发语言或是具体知识,而是认识软件工程的一系列方法,各种条条框框使我们跳出编码舒适圈,使用更加规范的流程来做项目开发,尽管会浪费一些时间,但最后得到的不仅仅是一个程序、一个网站,还有对于软件工程的更加立体的认识。