在这个网络信息爆炸的年代,IT充斥到社会发展的方方面面,大小企业层出不断,市场竞争越演愈烈,IT企业如何在如此残酷的环境中稳中求胜呢?竞争最直接的杠杆就是打出价格策略,所以项目利润可向而知……诸如此类的问题,已经困挠着企业的发展。如何压缩内部成本成为企业团队建设的重点,如何打造一个底成本、高回报开发团队是企业未来几年发展的重点。“企业的核心竞争力就是团队”;同样软件工程也伴随着IT行业的发展而不断的改进,诸如敏捷开发、结对编程、持续交付等新的一些名词涌入,让我们应接不暇。到底何种方式才是符合企业团队发展的模式呢?本文围绕这一中心展开论述,结合几年来自己的一些项目经验积累,对于一个IT部门的团队建设有如下的见解。
首先要我个人认为需要如下一些基础原则达成共识:
独裁原则:“一个和尚挑水喝,两个和尚没水喝”的故事我想大家都知道,所以在一个IT部门中,必须有一位是作为独裁而存在的,这个人一般被赋予【部门经理】的头衔,与其让几个庸才做领导不如让一个人能力强的人搞独裁。
分权原则:一个人能力在强精力也是有限的,这是一个矛盾体,所以必须学会分权、放权。所以用人不疑就是指这一条。貌似与第一条矛盾,其实不然,如果分权之后决策就需要按照决策者去执行,而不是按照个人意志强加干预。
量化原则:一切用数据说话,量化一切可以量化的指标。
为才是举:没有苦劳,只有功劳。让合适人做合适的事。
文化建设:程序员是一个特殊的工种,不能按照常规制度去对待,需要用一种合理宽松的气氛去管理。奖惩分明:不再多言。
上述极大原则的前提是在不违背公司原则的前提之下所定制的。原则的导向要与公司发展的大策略相匹配。在合理的时期,使用合理的原则。
部门内部是一个整体,但是从职责角度又可分为如下几大部分,当然,这是一种理想的情况,可以按照一些实际情况进行角色合并,下文会有详述。请先看比较分工明确的职能划分框架图:
通过上图,明确而清晰的了解到一个IT部门按照职能的一个理想划分情况,如此划分有何优点在于:职责明确、便于人才培养、适合敏捷开发、提高开发效率。
上述职责划分,其实大致符合软件工程的流程。其实一般的公司很难做到如此分工细致的组织架构。所以可以按照项目实际情况进行职能裁剪,例如架构组可以同时承担DBA与需求组的职能。开发组可以承担测试组的职能。项目经理与QA小组进行合并。所以经过合并可以简化为如下结构:
在这里我特别需要强调的是UI小组,因为这一小组是常被忽略的一个小组,特别是一些业务性强的软件项目。作为本人一直强调“用户体验”这一重要的概念。无数次的成功案例证明,用户体验对于一个项目而言是何其重要。所以必须让专业的团队去设计交互界面。伴随HTML5的出现,针对网路体验全面开花,所以必须用专业的人去做专业的事情,才能突出产品的特点。说到底,无论如何架构,首先要做到的就是大家的思想统一,之后一个团队具有统一的目标,才能做到战无不胜。这个是部门建设的重点,思想的统一很重要。
上述是我对IT部门架构的一点看法,如有转载请注明原创!如有不足支持 还请各位指正。(HaoXiaoJie)