我的软件过程,一年再读
我的软件过程
我的专业是机械电子工程,所以在学校学习的专业课程以机械专业为主,电子和计算机专业为辅,不过我的个人兴趣大部分都投在了计算机上。我大学学的第一门计算机语言是Fortran77,据说是最适合科学计算的语言。当时的印象是语法要求非常严,编写代码很多时间是在数每行开头的7个空格(应该是7个占位符,没有特别标记就使用7个空格),当时没有全屏幕编辑器,开始使用dos edit line的命令行编辑工具(刚才试了一下Windows 命令行,在Win7的控制台,输入>edlin还是可以用的,不得不佩服微软的兼容性)。
后来学习控制论,优化,制图等课程又学习了Basic,Lisp,C ,相比这些语言,Basic的感觉是最轻松的,“可以专心想自己想做的事情”,现在的.Net设计思想也和当年的Basic一致,应该是盖茨先生的功劳吧,把复杂度都留在了微软。
我正式做软件工作是在工作一年多以后(1998年),因为工作变动,遇到了平生的第二个贵人M总,看中我在机电专业的成绩和毕业的优秀论文。因为公司已有成熟的走纸控制技术,所以我被安排在图像识别软件的研发团队。我遇到的第一个任务就是图像字节转换,切分,显示技术,并要实现在图片上高效的人机交互编辑修改。
当时真的有点头大,除了吃饭基本上都扑在键盘上了,好几次都在键盘上看到了初升的太阳,再后来,在机房旁边的休息室里安了床。时隔半年,我们研发的高速扫描图像识别系统参加了国家统计局2000年人口普查评审,国家教育部考试电子化阅卷系统评审,都取得了出色的成绩(项目应标,成败有太多“其它”的原因,这个大家都懂得^+^)。翌年并获得了省科技成果二等奖。
那半年,我不仅仅出色完成了我承担的任务,还成为了团队的核心,专家撤走以后,我成了团队的经理(现在想,应该是TeamLeader角色),6人虽然不算多,但是我的Team Members 都是C++技术强人。也因为我的投入精通了图像识别中“黑点白点”的奥秘,在以后六年中基本都是围绕着黑点白点的技术和哗哗哗走纸的高速扫描仪度过的。我们成功实现了将A3幅面200DPI的图像预处理、识别、切分、拼接等系列处理操作从3秒优化到了0.3秒,实现至强CPU使用的极致优化。
我一直习惯写日记,个人日记从高中开始一直到现在。从开始软件开发,我习惯了写技术日志,每天遇到的问题,处理的方法,后来的提升思路,以后改进和避免的提醒。这样。半年记录了一大本。“思而不学则罔,学而不思则殆”论语能背的不多,这句一直是我的座右铭,本子厚了,新鲜的知识只是最后的几页,前面将会忘记,所以我决定重来一遍!
我将本子记录的知识点重新从本子敲入电脑,将过程都重演了一遍。再后来,我将电脑中的问题解决方案再调试验证并写入本子上。就这样,那几年经常重复这个过程。现在感觉,这些习惯让我的知识很扎实,为后来的各种新的知识领域进入打下了较好的基础。
有一次“出长差”,为了教育系统的一个项目在宾馆呆了三个月,我搬了19寸的玻璃显示器和重重的机箱前往,每天项目的工作完成后晚上就整理我的技术日志,对于直接的解决方案再深入研究,对SDK,MSDN逐字研究,查找翻尽了相关的技术链接。同房间的广西师大队友有点奇怪地问,你怎么把本子上的东西又敲入电脑?我笑然:“为了记住”。
现在,习惯有些改变,除了随身的本子,笔记本电脑成了必备之物,知识点收集和回顾成了每周、每月定期的习惯。
一年多的现在,看到了一本《个人软件过程》的书,感觉这些国外的高人们确实有些高超的思路,能将习惯统计分析成更科学的数据。这些习惯和数据能给人科学的指导,改进个人习惯,提高团队的效率。
一直感觉个人软件过程,应该是个人的事。除非有成熟强大的统计分析跟踪工具,否则海量的记录数据将成为大量的数据垃圾,如果没有人回头看一眼将毫无用处。推行一项规范是很难的事情,不论其出发点的好坏,都会受到人思想的抵制,其结果也就成了应付了事。
2011-08-20 18:20
翻阅再读,这篇短文写了有一年多了。记得当时为了组织推广,有人宣称对自己的5岁的小孩要求是:学好外语,学好《个人软件过程》,这个有点政治意味的口号。到现在,一年以后,部门的PSP(个人软件过程)已经不再提起,那些为了应付检查而集体智慧开发的“智能表格”也就不再会有人打开,留下的巨量个人行为数据,还会有人去挖掘?
为了管理而管理的组织消耗,真的应该再思考、总结、避免。