专注于快乐的事情

开发方法论总结

引言

当编程开发的年限到了羞于向外人道的时候,这期间出现了很多编程思维和方法论。
将自己选择和应该遵循的记录下来。

职业观-成为专家

我们并不是因为专业技术成为专家,而是因为“向上帝发誓,以此为职业”——把顾客作为出发点而成为专家。
语出 大前研一《专业精神》

产品观-工匠精神

把自己的手艺当成是与这个世界呼吸吐纳的入口,不论这手艺是什么。
从60%提高到99%,和从99%提高到99.99%是一个概念。--工匠精神

架构设计

架构师,首要的是理清楚需求。游离与技术和业务之间。
业务架构需要考虑的内容:主要两点业务流程业务规则
弄清楚业务流程,要搞清楚它的未来,过去,以及现在? 哪些是人工完成,哪些是系统完成?如果是人工的,可能就是本次项目需要完成的,即项目范围。
确定项目范围后,就需要进一步了解相关的业务规则。

除了功能性需求,还需要考虑非功能性需求(性能/扩展型)
根据需求,进行技术设计,采取基于风险的架构设计。参考《恰如其分的软件架构》

如果是自己公司的项目,考虑到成本和未来的扩展性。可以采用也可扩展性作为架构设计的核心。
如果有足够的话语权,成为大架构师,将人员的扩展和公司的业务的扩张作为架构设计的元素。

项目管理

项目就是在已经确定好的时间内必须解决的问题。
可以采取基于风险的驱动的按时交付或者基于成本的按时交付。

在任何情况下都应该明白,组织是人的集合,过程是人在处理。如果人的因素出现问题,那么过程就可能出现问题。

项目管理的三重约束——质量、时间和成本,换个说法,就是好、快、省。
通常的说法是:好、快、省中只能选两个。就是说,三者之中你只能决定两个,第三个是个变量。
还有一个约束是范围与规模。前面三个决定范围的大小。如果需求范围能够确定下来,那就可以调节其他2个变量(一般降低性能质量是无法接受)。
如果成本也确定了,那就只能要么缩减规模,要么延长时间。

评论系统未开启,无法评论!