软件规模化生产

    前几天和几个同事讨论软件规模化生产的问题,觉得颇有意思。现在提出和大家共同讨论一下,目前我们熟知软件行业在全球进行了N年,但一直没有实现规模化生产,像制造行业或其它行业经过10-20年时间,能够形成流水线式的操作。我个人觉得可能与如下因素有关:

  1、软件生产,软件的生产除了我们头脑风暴然后就是电脑,不存在其它原材料;

  2、正是由于人的因素,软件行业在近期内无法实现规模化生产,行业的人员流动问题;

  3、软件的开发模式,国内目前大型软件均为精英团队开发;

  4、软件的个性化问题,无论是同行业的软件还是不同行业的软件与公司的业务联系的太紧密,不能实现通用化;

  5、软件开发学术重于实践,我们不难看到某个成果在学术上已经很成熟了但至少要推后5-10年才能进入运行阶段;

  6、软件开发技术的不断更新,为了不断提高开发效率与简易性,技术不断更新。以至于相关人员大部时间除了学习还是学习;

  7、国内软件研发与外包的比例问题;

  8、软件开发周期问题,我们经常跟进一个项目需要2-3年或更长的时间;

  9、没有完整的标准;

  等问题!

     当然这行年软件行业的发展也在慢慢的规范化,我初步设想的是软件要实现软件的规模化生产我们需要以行业作为分类,因为我们知道,我们开发软件都是根据需求来的,而同一个行业的需求应该是最相近的,比如我们以烟草行业为例,我们成立专门的烟草流水线(不会管开发工种或语言的问题),也就是我们通常所说的业务。我以此作为分类,对为不同行业形成不同的流水线(项目充足的前提下,如果我们开发成本足够低,质量高,周期短,项目应该不是问题)。配以软件工人,软件工人不需撑握过多的技术或业务,只需要对该行业的业务比较了解。这样不一来不仅可以降低我们的开发成要,人力成本等,也可以提高我们的开发效率。因为我们可以各司其职。我们将业务与需求的分析转移到专们的部门去,开发部只需要做开发,需求分析什么都不用管。将各自的责任分开,责任最小化,明确化。各行业按各行业的开发规范进行约束,行业与行业之类彼此独立!

  当然上面只是一种设想,首先我们需要解决的是开发人精英化到平民化。国内的开发项目,特别是大型目项大部是精英化团队,而且此人员我个认为是没有发挥到精英的作用。因为的人对业务是精英可能不是技术的好手,是技术的好的不一定是业务的精英。所以我们应该尽化将精英化的团队转变为专业化的团队,行业化的团队。

  其次IT行为人员流动的问题,我个人觉得之所以IT行业的人员流动会到20-25%之间,正是因 为软件开发的源材料的问题,其它软件开的重要原材料就是人,人不是机器,而公司过多的把人员机器化,不能对员工做到人性化,还是把制造业的经验搬到IT行业中,这样是不现实的。机器是死的人是活的。应该过多考虑人的因素。虽然很多开发模式提出的人的重要性,但基本上治标不治本。我们应该考虑心理学在IT行业中的运行。

    再次软件开发周期问题,我们的软件开发周期真的需要那么长时间吗?我个人认为得打个问号。我们经常很到五年前的需求,五年后还在开发。周期长这个问题也是软件不能规模化的重要因素。如果我们能做到软件流水线化。我相信很多问题都可以解决。与此类似的软件学术化,很多重要的理论经常在学术界讨论数年,还不如将其投到实践中去检验。

  当然以上只是我个人观点,欢迎大家讨论!

  

posted on 2012-01-29 21:26  Mr.HiFiy  阅读(2899)  评论(27编辑  收藏  举报