摘要 : 知道什么是挨踢项目吧?什么!不知道?那IT项目知道了吧?为了不让客户踢、不让老板踢、项目组成员之间不互相踢,俺为大家分享一些减少被踢机会的心得体会。就算不能让项目成功,也至少不会死得那么惨吧!我将分 团队建设 篇、战略篇、 需求 篇、设
摘要:知道什么是挨踢项目吧?什么!不知道?那IT项目知道了吧?为了不让客户踢、不让老板踢、项目组成员之间不互相踢,俺为大家分享一些减少被踢机会的心得体会。就算不能让项目成功,也至少不会死得那么惨吧!我将分团队建设篇、战略篇、需求篇、设计篇、编码篇、测试篇、实施篇和计划篇为你分享。
什么叫挨踢项目?
IT项目,特别是软件开发项目,都属于“挨踢”项目的范畴。挨踢项目的几大特点:
1.需求不确定。
2.技术不确定。
3.工期限死。
4.预算限死
两大不确定和两大限死,你想不“挨踢”都难!
指挥战争可能是最复杂的项目管理?
做挨踢项目可能比较杯具,但最复杂、难度最高、代价最大的项目管理可能是战争的管理了。战争靠什么取胜呢?如果你是这场战争其中一方的统帅,你会如何指挥这样战争呢?你可能会说:你不是在扯淡吗?说挨踢项目管理,怎么跑到战争去了?让我们先看看战争的战略管理,然后再回到项目的战略管理吧。
白起的故事
白起你不会没有听说过吧?就是那个杀死几十万赵国俘虏的杀人狂魔。但我说的不是他杀俘虏的事情,而是白起被称为战神,一生没有打过败仗,他是如何做到的?因为他只选择打战略上能打赢的仗!
当时只有赵国有实力和秦国一战,双方几十万大军对峙在长平一带。秦军统帅是白起,赵军统帅是廉颇。白起对于此战的战略上的判断是这样的:两国实力、军力相当,如果全力出战,秦国能胜,但只能是惨胜,这样的后果只能是削弱了自己,反而让其他战国有机可乘。秦国的优势在于全国上下一心,特别是秦王和大臣们众志成城。而赵国虽然军力不错,但赵国内部权力斗争厉害,各派只为自己利益不顾国家利益。因此白起定下的战争策略是:对外称病不能担当统帅,隐藏自己做统帅的事实,以拖待变,寻找有利战机再出击。另一方面,秦国使出反间计,成功让赵国更换主帅,换了那个很出名的只会“纸上谈兵”的赵括。
赵括上任后,全军出击,结果中了白起埋伏,白起利用地形,用基本相等的数量的士兵困住了几十万赵军,不与之决战,消耗赵军的粮草,最后赵军被迫投降。后面就是白起杀死几十万降兵的事情了。白起成功地用比较少的代价,给赵国带来致命的打击。
白起杀死几十万降兵后,立马建议秦王马上挥军灭掉赵国。秦王认为此时出击必会促使六国合纵,这样秦国会招架不住;但白起认为,刚杀掉几十万降兵,其他五国还在震惊之中,没有这么快缓过气来,一时无法合纵,此时正是灭掉赵国的好时机!但秦王坚持自己的想法,白起只有退兵。后来秦王后悔了,想让白起率军灭掉赵国。这时白起认为:其他五国已经缓过气来了,此时攻击赵国,六国必会合纵。但秦王一意孤行,白起托病不统军,秦王另找人统帅,结果六国果然合纵,出现了“信陵君盗取帅印”促使魏国出兵的著名历史事件,秦军大败。秦王再次要求白起统帅,认为只要白起统帅必能获胜,但白起仍然推辞,最后秦王恼羞成怒,杀了白起。
白起在战略上的判断是相当准确的,可惜他的老板和他想法不一样,白起拒绝执行战略上注定失败的决策,虽然避免了自己打败仗,但得罪了老板,下场凄惨啊!咱们这些做项目的,如果遇到一个战略上有问题的项目,你是做还是不做呢?
庞涓的故事
说起庞涓,大家可能马上想到的是他如何害孙膑,然后孙膑又如何设计杀之报复。其实庞涓是一个战略上判断正确的人,只是被迫执行了战略上有问题的决策。
庞涓是魏国的大将,他对魏王建议的国策是:先西进灭掉秦国,解除后顾之忧后再图其他。秦国当时并不强大,多年与魏国争夺河西河东,“三十年河西三十年河东”的故事就是这样来的。但魏王认为:秦国很穷,但秦人很彪悍,灭掉秦国代价太大,没啥好处。魏王最想做的事情是灭掉赵国和韩国,所谓的“三晋合一”,魏、赵、韩原本同属晋国,后来他们将之瓜分掉。庞涓认为:灭掉赵国、韩国是不可行的,因为附近的战国,特别是齐国不会让魏国成功的,其他战国必会出兵。但魏王执意要先灭赵国,然后是韩国,让庞涓统帅。庞涓只能坚决执行老板的决策,率军猛攻赵国,就快攻克邯郸之时,齐国突然出兵突袭魏国的大梁,这就是“围魏救赵”的故事。庞涓只能回师救大梁,途中遇到伏击,损失惨重,但还不至于战死。
魏王仍然不甘心,再次要庞涓统帅灭韩国,故事再次上演,这次是“围魏救韩”。庞涓再次回师,孙膑上演了“逐日减灶”的典故,让庞涓判断失误,率大军进入死地,被齐军伏击致死。
庞涓同样在战略上的判断是基本正确的,但他的老板想法不是这样,庞涓作为老板的手下,他选择了坚决执行老板的决策,但仍然得不到好下场!
遇到一个战略上有问题的项目,你不做会死,做也会死,怎么办呢?
认识软件项目的战略管理和战术管理
上面两个故事,希望我能大概说清楚什么是战略。项目的战略大概就是指:能决定项目成败的宏观因素,如:甲乙双方在这个项目上的商业利益、双方领导的特点、项目的预算、目标、工期等,还有就是你所带领的团队是否有能力有条件完成这个项目等。
战略上有赢的可能,加上好的战术,项目才有机会成功。
战略上没赢的可能,无论用什么好的战术,项目都逃不过失败。
战略上有赢的大好条件,但你的战术很差,项目也会失败,你浪费了一个大好的项目!
希望我们能尽量选择战略上有机会赢的项目,万一运气不好,挑上了一个战略上没机会赢的项目,那么就要想办法不要死得那么惨。
下面的法则供你参考。
法则1:从战略高度出发
客户为什么要做这个项目?我们公司为什么承接这个项目?
合同的金额是多少?我们公司对这个项目的预算是多少?项目工期有多长?
你的项目团队有什么人?每个人的水平和潜力怎样?
有没有其他影响项目成功的重大风险?
以上问题应该尽早搞清楚,通常来说可以在公司的高层领导那里得到很多重要信息,但如果你无法接触高层,或者高层不鸟你,你用尽所有办法都难以获取以上的重要信息,那么你基本上可以判断:这个项目死定!
最怕遇到一些让你自己解决所有问题的领导,这些只能是无水平、不负责任的领导!除了合同金额一些涉及公司机密的内容可能不方便漏录外,其他信息是必须让项目经理知道的,而且有些事情是需要高层出马帮助项目组去搞定的。
遇到高层不鸟你的情况,法则1-4都没啥作用,你可以直接看法则5。
法则2:尽量提高你在客户面前的地位
通常情况下,我们需要门当户对地和客户接触,高层VS高层,基层VS基层。如果你是一位小小程序员,想和客户高层说话,这是大忌!
很不幸的是,项目经理能经常接触的客户中的最高领导,只能是对方的业务骨干,最多是部门经理,而项目经理以下的项目成员,身份更加是低微了。
为了让项目组将来的工作更加主动,要做好项目组成员的“包装”,例如让项目经理挂上副总、总监之类的头衔,尽量让项目成员的身份放大和提高。第一次和客户接触时,就要包装好你的高大形象。例如项目启动会上,以比较高的形象来展示项目组各成员。
法则3:让客户的高层重视项目
越是高层的客户,越抓得住项目的目标,越是基层的客户,越容易陷入细节,甚至提出很多匪夷所思的要求。如果客户的高层能向下属明确本项目的目标和范围,那么客户的中层基层就比较容易搞定了。
法则2做得好,就很有机会让项目经理可以直接接触到客户的高层,项目经理在掌握了项目的战略的情况下,了解了客户大致想法的情况下,就比较容易驱动客户高层做事情了。如果项目经理不好接触客户的高层,那么就要动用法则4,让你的高层去找客户的高层。
法则4:驱动你的高层做事情
项目中很多重大问题,方向性的问题,其实是需要我们的高层去处理的。例如让我们的高层与客户高层明确项目的目标与范围,推动客户配合需求调研工作,推动上线试运行,推动验收等。项目中出现重大问题,会影响项目成功时,都应该第一时间将问题反馈给我们的高层,让高层去处理或给出建议。
我不觉得你能解决所有问题才叫厉害,在项目组的层面确实有些问题是无法解决的,这些问题如果不及时让高层知道并让高层支援你,问题将会变得更加严重。
如果你的高层是那种什么事情都让你自己搞定的“无能”领导的话,那么本法则不适用,请看“法则5:输少当赢!”
法则5:输少当赢!
如果是项目战略上判断觉得无赢的可能,但你的高层领导认为可以赢,执意要求你执行他的决策,那么本法则可能会让你不会死得那么惨。
做一个战略上不可能赢的项目是很痛苦的,最佳选择是不做这个项目,但通常你没得选,你只能硬头皮上。你应该庆幸,不是让你做战争的统帅,你不会象白起或者庞涓那样会死得很惨,你最多是辞职不干!
万一赢头皮要做这样的项目,只能是“输少当赢”了。向你的高层随时报告进展,遇到什么问题全部抛给他,美名其曰:向您请教应该如何处理!遇到与领导有某些分歧,你可以适当地争论一下,然后假装被你的领导说服,你还要装作很受教的样子。你只能在很有限的空间内,尽量降低这个项目的损失,尽量降低你将来需要承受后果的严重程度。将一些问题及时抛给高层,或许会有机会帮助高层重新思考自己的想法,逐步修正他对这个项目的战略判断,这样的话会慢慢变得对你有利。
采用法则5时,是不得已的选择。如果想不做这个项目,恐怕只能选择辞职;为生活,只能暂时忍一忍,接手这个烫手山芋吧。
关键是心态要好,尽自己力就OK了,对得起自己,也对得起这个项目。挨领导的批可能是不可避免的了,当他唱歌吧!
法则5是没有办法的选择

上策:不做这个项目,或说服领导放弃这个项目。
中策:在做这个项目的过程中,通过不断抛问题给领导,让领导重新思考修正想法。
下策:硬着头皮执行领导的决策,尽量少输。并且在一开始就将项目情况透明化,让领导随时知道项目进展和问题,这样至少有两个好处:1.领导有机会修正想法,从而向“中策”方向发展;2.将来发生问题时,领导就不会觉得“惊喜”了,项目组就不会死得那么惨。缺点就是:一开始就抛问题给领导,领导会不高兴的。你愿意选择一开始就让他不高兴?还是隐瞒问题,最后给一个“惊吓”给他呢?
不过话说回来,所谓我们认为领导对这个项目的战略分析是错的,这只是我们主观的看法。真是情况有可能是以下几种:
1.你是正确的,领导是错的。
2.你是错的,领导是正确。
3.你和领导都判断错了。
领导坚持他的判断,有些理由可能是不方便告诉你的,所以我们也不能断定自己的想法一定比领导的要好。
但这个项目最终是由你来完成的,如果你的想法与领导的想法从根本上是不一致的,做起这个项目来就会相当痛苦。
“挨踢项目求生法则(2)——战略篇”网络直播课程及回放:
我是作者张传波,对于这个题目我还开了一个网络直播课程(免费滴),如果你喜欢此文而且还看得不够过瘾的话,欢迎你继续学习这个网络直播课程。
直播及回放链接:(免费学习)
http://www.umlonline.org/school/thread-2582-1-1.html
作者:张传波
创新工场创业课堂讲师
《火球——UML大战需求分析》作者
www.umlonline.org 创办人

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL是一个开源的关系型数据库管理系统,适用于数据存储、管理、查询和安全。1.它支持多种操作系统,广泛应用于Web应用等领域。2.通过客户端-服务器架构和不同存储引擎,MySQL高效处理数据。3.基本用法包括创建数据库和表,插入、查询和更新数据。4.高级用法涉及复杂查询和存储过程。5.常见错误可通过EXPLAIN语句调试。6.性能优化包括合理使用索引和优化查询语句。

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

InnoDB的锁机制包括共享锁、排他锁、意向锁、记录锁、间隙锁和下一个键锁。1.共享锁允许事务读取数据而不阻止其他事务读取。2.排他锁阻止其他事务读取和修改数据。3.意向锁优化锁效率。4.记录锁锁定索引记录。5.间隙锁锁定索引记录间隙。6.下一个键锁是记录锁和间隙锁的组合,确保数据一致性。

MySQL查询性能不佳的原因主要包括没有使用索引、查询优化器选择错误的执行计划、表设计不合理、数据量过大和锁竞争。 1.没有索引导致查询缓慢,添加索引后可显着提升性能。 2.使用EXPLAIN命令可以分析查询计划,找出优化器错误。 3.重构表结构和优化JOIN条件可改善表设计问题。 4.数据量大时,采用分区和分表策略。 5.高并发环境下,优化事务和锁策略可减少锁竞争。

在数据库优化中,应根据查询需求选择索引策略:1.当查询涉及多个列且条件顺序固定时,使用复合索引;2.当查询涉及多个列但条件顺序不固定时,使用多个单列索引。复合索引适用于优化多列查询,单列索引则适合单列查询。

要优化MySQL慢查询,需使用slowquerylog和performance_schema:1.启用slowquerylog并设置阈值,记录慢查询;2.利用performance_schema分析查询执行细节,找出性能瓶颈并优化。

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver CS6
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。