关于人月神话之程序规模
然后,结合图8.1讲人月神话。20万条机器指令规模的程序,需要投入10个人月。60万条机器指令的程序,需要投入60+个人月。若是某个高手,能将60万条机器指令规模的程序分解为三个模块,每个模块20万条机器指令规模,则节约了多少人力?当然,这个会算的,节约了60-10*3=30个人月。
再问,如果20万规模的程序,人力成本约10万,则60万规模的程序,人力成本几何?不分解,则为60万;分解后,在30万到60万之间。这就是高手的作用。这样的高手,称为“系统架构师”。做软件的,应该立志当架构师。架构师做这样一个分解,理论上值30万。因为,不但人力成本可以降下来30万,而且系统的风险也降下来一大截,也是效益。
退一步说,如果没有这样的高手,也可以试着去这样做。比如说,分得不怎么清爽,分出的三个模块都达到30万条机器指令的规模。即使这样,也能取得60-15*3=15个人月的节约。哪怕不能节约,也等于有15个人月可以用来学习、做尝试,在尝试中长进。再比如说,虽然分出的三个模块控制在20万条机器指令的规模,但做出来后,发现搞错了,要返工重做,也是有机会的。因为,10*3*2<=60!如果当时不分解,一旦搞错,则完全没有机会翻盘的。也就是说,无论如何,要做分解。