My Avatar

Having fun

爱爬山,爱做饭,爱打球,还爱编程

如何快速进入一个项目

2020年12月30日 星期三, 发表于 东莞,中国

如果你对本文有任何的建议或者疑问, 可以在 这里提issues

如题,由于之前部门工作关系,经常需要快速进入一个项目或重构或问题攻关(有时候是公关。。。),在此总结一下自己每次进入项目的方法和经验。

进入新项目的道与术

进入一个新的项目的时候,首要搞清楚自己面对的问题是什么(但是这里往往很难,有可能业务部门都很难说清楚自己问题是什么),其次要搞清楚自己在项目中主要和哪些人打交道。

立场 – 屁股决定脑袋

要学会问为什么,但是重要的是要去理解项目背后的意图,有时候一个项目往往是先有蛋再有鸡,这种时候要做的是和产品站在同一个立场进行思考,做项目的时候要找到自己的立场,外部教练可以不计成本地推翻原有的一切,追寻最好的解决方案,而我们往往要找到这个最优解在部门现实情况中落地的最优解。难上加难,却不得不做。

态度 – 易者易为,难者难为

在一个项目中,每一个人都有自己的一块蛋糕,当然每个人都想要守住自己的蛋糕,这个是完全没有问题的,所以新进入一个项目中首先要找到自己的发力点,态度一定要积极,此时切莫眼高手低,把手上的能找到的事情做好,再慢慢寻找新的机会。

理清问题域与解决方案域

在领域建模中有一种战略设计方法论叫分清问题域和解决方案域,而这个方法论的关键在于让大家在分析问题时不要陷入问题解决方案,而要先抓住问题主旨。举个例子桌子腿断了站不稳是个问题,但是可以通过垫东西来解决也可以通过重新买一个桌子来解决。这个方法同样适用于一般问题的分析,在进入一个新的项目时,要先分析清楚自己面临的问题是什么,而不要盲目地去干活。

业务专家

如果业务专家能够现身说法那是一种幸运,如果没有那是一种常态。

在我司大家都很忙,业务专家往往是一个产品的轴心,进到一个新项目后和业务专家的交流机会大概会有个0到两次。交流的时候要关注历史,业务专家一般都能把这个产品的前世今生给讲个明明白白,但他们可能不太清楚现在实现的具体细节,所以在和业务专家交流的时候不用过分关注实现细节,要把重心放在理解系统设计上,可以多关注系统上下文的设计以及API。

产品文档

产品文档可能是我们最全面了解产品现状的途径,通过产品文档可以得到以下信息:

了解这些能够快速帮助你了解产品的业务背景和一些产品的专业术语对其,一般来说花个几个小时就可以搞定。另外通过产品文档我们可以尝试亲手搭建环境,搭环境是比较直观和全面地了解一个产品的手段,但是也比较耗时。

产品架构设计文档

一般来说,产品都会有类似于逻辑架构设计说明书的文档,这个可以帮助你快速了解产品的逻辑架构。通过架构设计文档可以了解到各个子系统的主要功能和职责,以及各个子系统的大概交互方式。

阅读代码

前期准备
阅读代码方式

总结

以上是我进入一个新项目进行需求开发的处理方法,过去也和Thoughtworks长期做技术咨询类的专家一起合作并做过相关的交流,也了解了一些他们的方法和手段。

总的来说,要掌握一个新技术,最快捷的方法就是搞清楚它为什么出现,然后找到问题的核心点,花时间去理解最关键的地方(虽然这里只是一句话飘过,但是这里可能代表了无数掉头发的通宵日子)。要学会抽象和抽丝剥茧,不要把精力分散在周边。

经验有限,如果有说的不对的地方,欢迎随时交流。