《嵌入式项目总结》前言
一、为什么要写《嵌入式项目总结》
读书的时候看过禅宗的一段公案,关于六祖慧能的。
一日,五祖唤诸门人总来:“吾向汝说,世人生死事大,汝等终日只求福田,不求出离生死苦海,自性若迷,福何可救?汝等各去自看智慧,取自本心般若之性,各作一偈,来呈吾看。若悟大意,付汝衣法,为第六代祖。”
众人只等神秀作偈,神秀偷偷在墙上书一偈曰:
“身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。”
五祖令门人炷香礼敬,尽诵此偈。但亲告神秀曰:“汝作此偈,未见本性,只到门外,未入门内。如此见解,觅无上菩提,了不可得。”
惠能虽不识字,一闻此偈,便知未见本性。托人亦书一偈曰:
“菩提本无树,明镜亦非台,本来无一物,何处惹尘埃。”
一众皆惊。
年少读到这个故事的时候,总是羡慕六祖慧能的大智慧,觉得神秀大师境界不高。但是等到了毕业,等到了工作当中,我才觉得年少无知,自己根本不了解佛法,不了解他们的境界。
从我现在的感受来说,以我出发,从心出发,能看到哪里就看到哪里,不要不懂强装懂。
那我现在是什么高度呢?我站得不高,看不出这两种境界的差别,但是可以看到我努力的目标就是神秀所说的“时时勤拂拭”,多做练习。在安姐的文章《尾声:成长不是顿悟,而是练习》中,她也表达了类似的观点:
答案无非是两个,第一是找到那些合适你的道,尤其是合适你当前的道。这个道,既是道路,也是道理。第二就是练习。
那么在职场当中,在技术的道路上面,我会不断去做我的选择,同样的,我要去做我的练习。在这个练习过程中,就很有必要把自己的想法记录下来,形成自己的知识库,然后不断去更新去完善。
这就是我写《嵌入式项目总结》的原因,我会把从2011年至今的经历、思考都写在这个文档里面,与大家进行分享。
二、《嵌入式项目总结》包括哪些内容
这个总结可以从多个维度来写,之前的想法是:需求、软件、生产这三个方面来写。但是后来在整理过程中,我还是觉得这样的维度划分不合理。
从现在来看,我觉得可以从这四个方面先来谈:
软件模块化(包括技术广度和技术深度) + 项目管理 + 人员管理 + 从工程师的角度来看需求
作为一名合格的软件主管,应该要有这四方面的能力,同时要把这些能力量化,并且可以有资料输出,形成软件主管的知识库。
形成知识库之后,就可以对知识库进行不断的完善和更新,让自己做的项目更顺利。
下面我将从这四个方面做一个简要的说明
1.软件模块化
可以按照阶段划分成四个阶段,分别为评估、系统设计、模块开发、模块自测
【评估阶段】
(1)软件需求评估(竞品软件调研)
(2)软件模块初步划分
(3)软件复杂度评估
(4)软件对硬件、结构、ID的要求
(5)方案选型
【系统设计】
(1)解耦
(2)接口
(3)状态机
(4)模式切换
(5)进程间通信
(6)数据存储
(7)版本号管理
(8)调试功能设计
(9)数据传递的格式
【模块开发】
(1)Bootloader
(2)Kernel
(3)OTA
(4)配网模块
(5)默认值
(6)产测工具
(7)系统工具
【性能优化】
【模块自测】
(1)自测工具
2.项目管理
3.人员管理
4.需求
三、作为软件主管要达到的目标
邱岳在他的博客文章《产品经理最重要的能力》中提到:“产品经理最重要的能力不是某一项技能,而是【让正确的事情相继发生】”。
同理,在软件工程中,经常会遇到各种问题,包括但不限于:资源问题、人员问题以及不可预料的需求变更,这些问题都是导致项目延期的原因
1.限定时间
2.用证明的思路来做项目
3.如何让正确的事情相继发生
参考资料
1.邱岳的博客:「Hi 冒菜」
2.邱岳的文章《产品经理最重要的能力》