扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
两年前,我买了辆新车。心想:买车之后,全家人多开心哪!可以上山下海到处玩了!但没想到,才交车第一次出门,就发现一个我不愿承认的事实:我竟然是个路痴!
原来,我当捷运族的时间太久,对于台北市道路的认识仅停留在忠孝仁爱那几条大马路;可是这几年下来,台北少了几座桥,却多了一堆快速道路,都是我没走过、不认识的路!所以我开着新车第一次上路,就花了一堆时间在找路、迷路、绕远路…
很多男人都无法忍受被人笑是路痴,包括我也是。于是,我就去败了台GPS回来。有GPS实在太方便了!只要输入我要去的地点,按下路径导航,它就会随时提醒我,哪里要转弯,哪里要上高架桥,真是太棒了,我又认识路了!
当然,用GPS还是会遇到麻烦。我那台GPS,就只有一般的路径导航,它不会告诉我,哪里有交通管制,哪里车多路难走,更不会告诉我哪个路段在哪个时间根本是个不该进入的灾区。
怎么办呢?只好问问同事,他们上班都怎么走?
也问问邻居:「回家除了╳╳路还可以怎么走?」
也问了出租车司机:「运匠先生,请问到○○有什么路比较好走呀?」
于是乎,靠着GPS以及一次次的练习,没多久,常去的地方像是公司、大卖场,我都摸清楚平常可以怎么走,遇到路况又可以怎么走,不用靠GPS我也能在台北存活了。
如果我们把做项目想做是自己开车出去走走,那么GPS路径导航就是我们的软件流程。GPS一面告诉你:你在什么位置,又一面告诉你:你该往哪儿去。软件流程也是这样,流程它就像GPS事先规划好的路线,告诉你可以怎么走,以确保你在软件开发的旅途上,不会迷了路。
「哟哪桑,既然软件流程是这么好的东西,那么我们把它订为标准,全部的人都要照着做,是不是专案的风险就可以降低了呢?」或许有人会问。
我无法保证,标准的软件开发流程是否必能降低风险,但我却可以告诉你,宣布一个流程做为共同标准就产生了另一个风险:不准走快捷方式的风险。
软件流程的确是个立意良善的好东西,它是教我们把软件开发工作做好的方法,而能够流传到今天的这些方法论,也都是经过许多软件业的先贤先烈们,抛头颅洒热血,用许多成功与失败的项目来证明,这些方法过去的成就。
不过,软件流程的问题也出在这儿。我们今天所见的各式方法论,都是些「一般来说」不让我们迷路的好方法,却未必能百分之百地切合我们的项目、我们所在的软件组织,尤其我们也都知道,每个项目都有其独特的地方,一套大师推荐的软件流程,或许NASA设计航天飞机时它成功过,也许IBM设计Mainframe操作系统时它成功过,我们拿来奉为圭臬,强迫大家使用,就一定合适、一定保证成功吗?
也许,专案还是做的完。虽说杀鸡焉用牛刀,但小鸡还是会死,只是死得很难看。标准流程最大的风险,还是让我们失去了思考新方法的机会;不思考新方法,也就不会找到更适合我们的方法 – 也就是我们自己的「快捷方式」。好比我若永远照着GPS的指示来走,每天晚上七点钟,我铁定会塞在建国高架上动弹不得。
「哟哪桑,所以你的意思,就是那些软件流程,不管是Waterfall、Spiral、又或者ISO、SW-CMM还是CMMI,那些规矩或公司政策,我们都一概不理,只走自己的『快捷方式』,是不是呢?」
总有天生不爱受约束的工程师会这样问我。但我的答案是:错!
快捷方式在字面上的意思,是比较快的路,但前提是,它绝对不会是让你到不了目的地的路。如果我们不熟悉自己的工作与现有的流程,就一昧地乱尝试想抄近路,付出的代价可能是项目的成本、产品的质量,自以为省下了眼前的时间,你的软件项目却可能永远到不了目的地。
因此,我想给所有不爱遵循流程的程序设计者们一个建议:先试着执行你组织中的软件流程以完成几项工作,在执行流程时别忘了问自己:
「为什么这流程要这样走?」
「这样走适合这个产品、这个项目吗?」
「如果我重新来过,怎么走可以让我做的更快更好呢?」
将这些想法付诸实现,把自己的软件流程愈修愈好,这才是优秀的软件开发者会做的事。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者