科学提高系统需求、系统架构、系统开发效能—2014年经验谈
经历软件架构和设计及开发有10来年了,到目前为止啊,真还没有看见一个高效的团队。
其中,一个关键的因素就是项目团队缺既懂技术又懂管理的高级别人才或者是有这样的人才,一般的企业不会用。
从我经验看,什么人才都不缺,缺的是一个企业的潮流文化和管理模式创新。
我也曾经或者经常骂那些懂又不懂技术的或懂又不懂管理的庸才,但最后也是没有办法,项目还是要进行。
当然,能够让你骂的这样的企业,一定也不是什么差企业,更不是说一个她是个简单的项目。
一个大公司或一个500强的企业,一般做的项目都具有代表性,这样的大企业一般有她的管理经验,有一个理由是:不会让一个新项目轻易的马上上线,因为这个项目不是一个独立的项目。
抛开这些事实的客观因素吧,从目前所有银行的系统来看,做的最好的就是招商银行,无论是pc还是手机app
在中国,可能是经验的不足(无论是管理还是技术经验),整体上,项目能够按时完成的比较少,这是事实。
但有个问题我们必须要看到,提高项目的效能,最主要的因素还是管理层面上的。
对一个大项目或颠覆性的应用而言,如果一个管理层面,没有基本的资深战略工程师、资深需求工程师、资深架构师、资深产品设计师、资深交互体验师、资深测试工程师、资深安全工程师、资深服务器工程师、资深网络工程师、资深硬件工程师、资深灾备工程师、资深跑堂工程师的协同和权责的话,我想任何一个项目都会被拖延。
可国内大部分企业完全不是这样的,更多参与者都是一些不懂的行政人员,甚至为了省成本......你懂得。
因此,什么样的企业,什么样的效能企业,直接可以看出这个企业的一切。
软件或互联网这个行业的工程师不同别的行业的工程师,他们是程序员,是构筑大厦的艺术家,事实上,世界任何一个伟大的互联网或软件公司,程序员都是产品的灵魂。
很多写书的人员,说什么敏捷开发啊什么的,也不想点名,只能说,这类人想通过些不现实的想法来赚那些不懂人的钱罢了。
一个大的系统,首先是需求的明确性,很多软件的延迟,大部分因素都是需求不明确造成。
需求的不确定性,带来了恶果就是架构上的缺陷,从而恶性循环下去...........
其实,需求不确定性也有她的客观因素,一是需求方提出的需求随意性或不合理性,二是需求方根本就不懂真正要的需求(不懂如何挖掘需求)。
但高明的需求工程师和战略工程师应清楚如何规避需求方的不确定性和不懂如何挖掘需求。如何规避需求方的需求差距,必要的手段是需求范围尽量的扩大,然而清理出基本的demo需求,在充分的论证下,才能交给架构师再规划和精准出开发需求。
因此,需求的确定性是任何项目最为核心的,在成本控制上和项目成功上居核心地位!
架构师和剩下的工程师其实就是构筑产品的具体实现的工程师,架构师主要是系统的骨架和规划上面考虑问题,然后网络,安全和产品及交互、测试、灾备师他们是产品设计和建议的支柱工程师。
有些项目的推迟或出问题,除了需求还有架构上的原因,成熟的架构师能够发现和挖掘潜在的风险,设计出比较健全的系统架构方案,然而架构师并非懂得一切,必须需要支柱工程师的建议和需求,从而充实整个产品的设计和规划(典型架构不行的企业有:兴业,民生,联通等,异常经常会出现在工作日)。
在具体项目实施上,团队结构中每位工程师都应是产品设计需求师,这样一来,就需要架构师和需求工程师的配合和引导,如果不这么做,造成的就是团队中的工程师做的东西肯定会走偏,在实际工作中,这类情况出现的机率是比较高的,因此架构师和需求工程师这个责任在管理层中要明确下来。
项目不分大小,团队也不分大小,只要那些懂的人真正的责权到位,那么项目效能就会正常下去,否则再谈什么都是狗屁。
项目工程师之外的都是跑堂工程师们的权责,维护和提高团队的高整体性和高适应性及高协同性。
禁止拷贝和转载,否则法律追求! ----------linux---深圳----罗 2014/9/13