“认为CMM就能保证软件的质量,这是中国软件企业的误区。”第八届北京科博会期间,UML语言之父伊万·雅各布森博士接受记者采访时表示,软件过程模型CMM并不是保证软件质量的同义词,也并非获得软件外包订单的先决条件。
一个软件开发项目就是在规定的成本和时间条件下完成满足用户需求的软件产品的项目。也可以说项目的三个特性是:成本、进度和质量,其中“质量”表现为客户对产品的满意程度。当关于这些参数的预计值被确定时,项目通常就开始实施了。
信息化项目是知识密集型的项目,如何通过科学合理的项目管理使开发方和用户方在认识上能得到统一,在步调上能一致显得格外重要,本文通过分析信息化工程管理中的一些管理要素的分析,对项目管理谈些体会和认识。
从目前中国软件业的发展来看,CMM一直是一个非常热门的话题,为了增加自己的综合竞争力,迎接加入WTO后来自全球软件企业的挑战,国内软件企业都把通过CMM认证作为企业中长期的目标,国内的媒体也给予了极大的关注,短短的几个月内,关于CMM的培训和企业论坛遍及全国,关于CMM的报道也频频见于报端!
连续数年软件产业的高速增长,信息技术在社会经济各领域的广度与深度应用,都不断地给国人以强烈的信号:做大软件企业的良好愿望、做强软件产业的美丽愿景,是如此胶着地引领着IT业快速向前发展。但在动辄千亿计的软件产业销售数据中,客观现实是,目前还未出现一家销售额能过百亿的企业。中国软件业走到今天,究竟该做怎样的思考,中国软件企业到底有什么、缺什么、要什么、做什么、怎么做?
IT治理日益被视为解决很多IT困惑的秘方,最主要的原因也许是,大多数IT领导已经感觉到了IT布署和投资“无政府主义”这一烫手的“火炉”,因而从内部产生了变革的需要。
CMM当初引入国内时,确实掀起了一阵热潮,有人甚至把它当成印度软件业超过中国软件业的一个重要因素,于是有很多人就对CMM投入很大的热情与关注。不管是初次接触CMM的企业还是对CMM稍微有一定程度了解的企业都想知道CMM到底能起到什么作用?
太多的代码,只注重实现功能。国内绝大多数的程序员都以为实现了就成功了。在开始敲键盘之前,有多少人想过即将被创建的代码会有多少的可维护性?是准备创建用完就扔的代码,还是需要不断升级、改进的代码?如果是需要长期被维护、改进的代码,在最初的时候,如果只是注重实现,而忽略整体框架的设计,那么最终等待程序员的只是无数的bug和灾难。
托尔斯泰说过,“幸福的家庭都相似,不幸的家庭各有各的不幸”,但IT项目刚好相反——成功的项目可能各有各的原因,但“失控”的项目,却总是有些相似的问题。
所谓的“软件失控项目”,是指在创建系统所需的软件时遇到困难,从而导致大大超出可控制范围的项目。“项目失控”暗示着项目变得无法管理,从而无法达到最初的目标,甚至无法接近目标——这里所指的目标,包括进度目标、成本目标以及满足功能性和非功能性需求的目标。
在DDJ上看到这篇文章Software Manager Basics ,简单明了地提出了管理者应该问自己的30个问题。把这些问题换个方式,变成程序员应该问自己的问题。其实,管理者和开发者,都在关注同样的问题,只是立场不同。就象一个鸡蛋,每个人从不同的角度看,形状都不一样。
随着产业的发展和竞争的加剧,计算机软件开发的规模和复杂度日益加大,时间要求愈来愈严格,软件企业逐渐从“软件作坊”向“软件工厂”转变,这引起了人们对软件开发理念、开发团队管理方式、人员角色定位等一系列问题的重新认识。种种问题之中,项目经理的角色定位是讨论的热点。项目经理的工作目标是什么?项目经理应该对谁负责?项目经理在工作中应当获得怎样的授权?什么样的人适合做项目经理?这些问题的回答“仁者见仁、智者见智”。在此,笔者总结了一些看法,和大家一起交流。
正如在项目管理成熟度模型中所介绍的,项目管理实施中的持续改进是其中至关重要的一环。那么,组织应该从哪里开始入手开始改进呢?现在,已经有了一些成熟的方法可供借鉴。下面我们就来介绍持续改进领域的九个方面...
在工作中,不少领导者都可能遇到过与自己顶牛的部属。面对这些部属,如果处理欠当,很容易使双方的关系搞僵,甚至产生和激化矛盾,影响工作。但如果领导者讲究策略,善于运用先“观”、后“引”、再“牵”的艺术,则很容易使那些爱与自己顶牛的部属“驯服”,并且进一步赢得他们的信任和支持。
微型项目是指绝大部分工作由一个人员负责的项目,这个核心成员负责项目的系统分析、构架、及绝大部分的编码工作。项目的持续时间一般不会超过一个月。项目的参与人员除了核心的程序员外还可能一部分辅助人员,包括第二程序员(负责一部分编码工作)、美工(负责界面设计)等。