dram.me

复杂性和自然性

软件工程本身有很大的复杂性,有两点需要把握:不要拒斥复杂,而是要拥抱它。刻意回避复杂反而会容易导向简单粗暴的方案;另一点是,复杂的问题很多时候是不可能全然掌握的,关键是要思考如何在没有全盘掌握的前提下推进事物的发展。这是这几天读赫希曼传记的感想。

而另一方面,软件工程有其自然性。软件工程考量中,往往常会忽略掉人这一重要的易变因素。包括开发、测试,市场人员,以及用户等等,他们在整个产品周期都是在不断成长的。就如同农作物生长一样,软件的生命过程有其自然的规律性,需要遵循之。但并不是完全要放任,需要给以适当的梳理和引导,就如同作物需要打理、施肥一样。