今天要说的是一项程序员重要的软技能:分解项目能力!
对于我们每个人来说,将一个任务分解为若干子任务的能力应该都要具备,这样才能更好地完成一个任务。因此,程序员的任务分解能力,具有一定的通用性。
很多程序员的能力其实并不弱,基本上都有独立完成一个项目的能力。但是面对大项目而言,很多人确实望而却步,在一些模块问题上仍会磕磕碰碰出现很多问题。
那么如何分解一个项目呢?
我们做软件项目分析,首要要与客户做好需求分析,充分理解客户的需求意图,才能事半功倍。系统分析师最为重要的一个工作就是将客户需求分解为若干个子模块,把客户的需求整理为用软件表达出来让客户容易理解的能力,因为在实际项目中,一些客户也许无法表达自己需要的软件功能。
在需求分析之后,我们应有若干个子模块。如果直接把若干个子模块直接分配给程序员去完成,还是容易造成项目拖延,因为对于一个程序员来说,一个模块中还包含若干个增删改查、数据处理、界面优化等工作。所以,在这一步要做的就是继续分解子模块。
如何才是最理想的分解状态呢?
当然是把功能分解为一行行的代码,所谓伪代码既是如此。
程序员在开发模块功能时,应该将该模块的增删改查功能分别作为一个个子模块各个击破。比如,你需要根据软件功能先做数据库设计,然后做软件界面设计,最后完成代码逻辑。
分解任务,或者说分解项目,是辅助项目进度的最好手段 。通过分解这个步骤不仅可以预测到未来可能发生的问题,而且可以预计项目开发的时间,从而把控好项目的开发进度。
我们每个人都有自己的梦想,一个有梦想的年轻人未来才有希望!我们或许常常对自己的梦想望而却步,真正的问题还是在于梦想太大,要达成这个结果的过程不太清晰。可能一个目标分解以后会有几百个子任务,但是我们却可以有信心对这些子任务各个击破,因为只有清晰的任务才能促使我们行动!
最后,再做一次灵魂拷问,你的梦想是什么?