软件工程的任课老师给我们推荐了这篇文章:
Why Software Development Methodologies Suck?
事实上,对于刚刚开始学习软件工程的我而言,这篇文章中很多的专业术语我都无法理解,首先站在一个初学者的观点(起码自己觉得自己还是个初学者),在我们还没有进入软件开发的内部世界的时候,面对软件开发就像仰望一座大山,未曾攀登变有了些许胆怯(是否能学好?是不是非常难?为什么感觉学了蛮久还是云里雾里?),于是乎我们又接触到了软件开发方法,一系列理论,理论上能帮助我们更加高效便捷的走进软件开发的世界,就好像在这座大山上突然出现了一条看不到终点的通天路,我们于是乎兴高采烈满怀希望的拾阶而上,或许我们会不再关系周围的风景,一个劲沿着方法论这个阶梯向上冲,或许我们在一段时间之后会感觉确实走了蛮远,感觉方法论不错,但是我们仍到不了终点,我们不曾观察我们周围的环境,而方法论这个阶梯越往上越难爬,或许是路开始模糊,或许是路开始越来越崎岖,当我们泪如雨下发现难以前行的时候,方法论这个阶梯或许就到头了,但是我们没到山顶,甚至我们自己在哪里都不清楚,我们想找一个其他的路继续向上爬,但是我们找不到,这座大山或许真正正确的攀登方式就是一手一脚的向上爬,直到我们渐渐熟悉了我们走过的每个地方,我们可以从容爬上去,也可以从容退下来。而我们沿着方法论一路不顾风景的走来,或许看起来我们登上了一个很远的位置,但是我们回顾下面,我们不敢,因为是那么陌生,我们抬头向上,却是难以继续行走,或许这个时候我们会感到软件开发方法论让我感觉糟糕。(个人看法)
阅读文章的收获:
1.要找到合适技能的开发者就是个很难解决的问题。在IT专业招聘人才是一门艺术,并没有专业的要求和雇佣范式。
2.IT专业人员很难掌握引导产品和服务走向成功所需的能力
3.建立一个学习能力和适应能力都很好的组织是最重要的事情,开发团队即使并没有采用先进的方法论,一样可以成功。从另一个角度说,过程和工件能辅助,但不能保证开发人员、项目经理和客户的良好交流。
4.软件开发过程中要尽可能聚焦于使反馈时间间隔缩短以及提升反馈效率(但是不容易做到),