复杂问题简单化以及简单问题复杂化

    复杂问题简单化以及简单问题复杂化并不矛盾,而是在项目的不同阶段。


    在项目设计阶段,要考虑的是“简单问题复杂化”。说的通俗点,就是在给定需求的基础上尽量扩展,考虑更多的可能,做尽可能大的设计,来确保项目需求一旦发生变更,不会影响总体框架,仅仅是代理工作量的变化。


   在项目开发阶段,就要使用“复杂问题简单化”的原则。就是要将任何复杂的东西,拆解成为简单的模块、功能。这样的好处有几点:第一,可以很容易进行任务分解,减少沟通、纠错时间;第二,可以提高代码的可维护性,任何人进行维护时,都可以很容易的理解思路并进行更改;第三,降低开发人员素质要求,解决简单问题能力的人员素质要求要比解决复杂问题的人员素质要求低得多。


   一个好的项目管理人员,就应该在项目管理中应用这些,确保项目稳定、顺利推进。当然,过由不及,在每个阶段要综合考虑项目时间、成本等各类因素,把握一个度,达到项目整体效率的最优。


    相反的,两个工程弄反了,就是灾难了。项目设计阶段,复杂问题简单化,将复杂的问题仅进行简单考虑,不深入思索,就会导致基础不满足需求变更需要,不停的在改动基础的架构,技术人员的苦就没法说了;而在开发阶段,简单问题复杂化,导致没有单一简单的问题可以分解到较低水平的人员手中,或者分下去后一直完不成,导致水平高的忙死,水平低的闲死,严重工作量分配不均。

你可能感兴趣的:(复杂问题简单化以及简单问题复杂化)