IT方面的问题,电话面试时对方问我开发程序使用过什么Methodology

我有5年以上的金融公司的IT工作经验,因为IT部人很少,所以很多方面都要做。会做一些程序开发、系统应用支持、数据分析、报表制作等。大项目的程序开发有专门的300人左右的研发中心做,我做的是小项目或者大系统的部分功能优化更新。一般一个人做完整个系统或功能。用的编程语言有C#,PL/SQL,T-SQL,SQL等。不过从来没涉及到什么系统开发的方法论(Methodology)。一般都是自己完成需求分析、架构设计、编程、测试、投产。

最近电话面试了2家公司,都问我用过什么Methodology。用的是Agile还是Waterfall?有谁知道如何开发才算得上是用过这2种Methodology吗?它们有什么特点,有什么区别呢?

这种methodology一般是团队用的比较多。一般agile,国内叫做敏捷开发。顾名思义,就是快速开发。对于结果不太明确的,可以先用最省事,最快速的方法开发一个模型出来,然后给模型做performance review,找出不足。然后在针对不足重头开发。优点是快速,顾客或者老板可以比较快的看到结果,给出意见。
waterfall是比较保守的开发方法,从需求分析,构架设计,接口设计,模块划分,编程语言选择,编码,测试,发布。一步步来。优点是,构思缜密,前后一致。缺点是,开发周期长,后面的工作需要前面的结果。
现在一般来说,敏捷开发用的比较多,尤其是第一次开发,一般都用敏捷。一个人做也可以用。
如果产品比较成熟,是二次改进的,也可以用瀑布。这样,每一个阶段结束都可以请专家会审,避免错误和不必要的返工。

据我了解,现在用waterpool的公司不多了。大部分都是agile,一般是scrum(具体流程可以google),每个公司follow scrum的程度不一样,但是大部分都会有stand up meeting every morning。
楼主的情况我觉得可以往scrum上靠一靠,把自己的工作流程稍微编一点。
个人觉得面试问methodology这种东西没有太大用处,大部分人入职一个月,所有的流程就都清楚了。不过应付面试还是了解一些比较好。

我也觉得方法论没什么用,我们公司的人一向来都是想到要什么功能就催我赶紧做,最好2天就搞出来一个完整的系统。我觉得我自己做的比Agile还要快,不过从来没空去研究这是什么方法论。但是面试的人好像对具体干了什么不太问,就是问一些程式化的问题,只要match到他们提问的一些key word就行。

我再看看scrum的定义吧。谢谢。