精华内容
下载资源
问答
  • 项目管理中的项目干系

    千次阅读 2018-05-02 14:11:50
    干系是指能影响项目决策、活动或成果的个人、群体或组织,以及会受到项目决策...项目过程中发生问题时,项目经理应找到正确的干系解决问题,特别是跟业务流程密切结合或利益关系错综复杂的项目时,找准干系...
    干系人是指能影响项目决策、活动或成果的个人、群体或组织,以及会受到项目决策、活动或成果影响的个人、群体或组织。干系人可能会主动影响项目,或他们的利益会因项目的实施或完成而受到积极或消极的影响

    项目干系人源于项目管理,通过对干系人进行归类与分析,充分了解不同干系人之间的需求与期望。

    项目过程中发生问题时,项目经理应找到正确的干系人解决问题,特别是做跟业务流程密切结合或利益关系错综复杂的项目时,找准干系人尤为重要。

    在进行产品设计时,干系人是需求的来源,所以产品经理能够对不同干系相关的需求进行重要度与优先级的管理。

    在项目管理中,干系人在提出权利与收益的同时,也应承担角色和义务。

    很多失败项目中,干系人参与不足导致项目失败,占据了很大比例。提高干系人的参与度有助于项目推动与达成预期目标;

    另外,明确干系人的期望与权利的同时必须明确干系人能为项目在什么阶段带来什么资源。

    1、无遗漏地识别出项目干系人

    项目干系人分析的第一步需要仔细识别出本项目的全部干系人。

    项目经理需要对项目干系人有一个全面的了解,在心中有一张完整的项目干系人结构图,以后无论是启动、计划还是执行、问题处理和收尾,都需要系统全局地思考问题。

    在识别出项目干系人之后,还需要分析干系人之间的关系和历史渊源,如果不做这进一步的分析,会在项目过程中遇到不小的麻烦。

    2、按重要性对干系人进行分析

    不同的项目干系人重要性不一样,在项目的不同阶段对项目目标达成的影响程度有很大差别。

    按照一般项目的干系人分类方法,项目的甲方干系人主要有如下几类:出资人、决策者、辅助决策者、采购者、业务负责人、业务人员、技术负责人、技术人员、使用者等,他们的不同身份因项目不同产生影响也不同。

    干系人为什么不支持我的项目?怎么办?

    项目任务分配后执行人没有按时交活而且越来越落后于工作计划,客户也开始不满!

    分配的任务完不成,执行人也消失了:不见声音、不见图像!

    项目经理说:我觉得我是唯一在乎项目的人
    a.说好的团队精神哪儿去了?
    b.团队成员把这个项目看得不再重要了?
    c.为什么似乎只有我在努力,其他人却不在乎?

    为什么干系人不配合项目工作?
    解决问题先了解原因,“项目利益相关方(干系人)不配合”。主要原因有以下几个方面:
    a.为什么这是他们应该做的
    b.不知道该如何做
    c.认为你的方法无效
    d.认为其他的事更重要
    e.认为这件事没有正面结果
    f.认为正在配合我们
    g.超出控制范围

    项目经理在想什么?
    作为项目经理,他们想的是这样:

    a.工作是分内的事,应该做。
    b.领导安排了,必须配合。
    c.写在计划或者落实到字面上的,应该按时完成。

    可是这么想也许并不对,改变思路才能出现转机。

    sep1.改变想法
    思考:是什么影响了他们完成任务?


    sep2:确定原因,制订计划
    有很多障碍需要消除,但很可能也有一些无法被清除(如干系人政治问题)。
    在这种情况下,如果你能够与干系人建立足够的融洽关系并支持他们

    sep3:兴趣引导
    干系人通常有大量的其他事情争夺他们的时间和注意力,我们的项目工作不在他们关注事项的高优先级。

    项目经理能做的是更好地理解他们的优先级和兴趣,什么在驱动干系人。通过经常与关键干系人的非正式沟通,找到兴趣加以引导



    (加微信:pexuepexue,小编邀请您进入全国产品经理交流群)
    群内每日分享学习资料、重磅报告、面试问题、招聘信息、免费课程
    更多精品文章查看:http://axure.pexue.com/PeiXue/Default.aspx




























    展开全文
  • 每个都会有缺点和不足,作为管理者,如果总改造属下员工,这是一种不切实际的做法,因为每个都是一个有思想的个体,只能...项目经理要想找到一个觉得真正“好用”的并不容易,如何对待程序员的缺点,是每一个项

    每个人都会有缺点和不足,作为管理者,如果总想改造属下员工,这是一种不切实际的做法,因为每个人都是一个有思想的个体,只能由内而外的改变。每个人都有其用武之地,项目经理与其费尽心力改造员工,还不如多想想如何利用现在的他。

    1.每个人只能由内而外的改变

    世界上没有完美的人,程序员也一样,也会存在这样那样的不足。项目经理要想找到一个觉得真正“好用”的人并不容易,如何对待程序员的缺点,是每一个项目经理都需要认真思考的问题。

    有些项目经理面对程序员的缺点时,会显得过于急躁,恨铁不成钢。有的程序员思维比较迟钝,什么问题都需要一次次反复沟通确认,项目经理批评他们:“你怎么理解能力怎么这么差!回去看看逻辑的书。”有的人做事慢手慢脚,怎么急也急不来,项目经理忍不住说:“怎么这么简单活也干不了,不就是….这么简单的事情吗”;有的人则什么事都要提出一堆质疑,项目经理要开骂了:“你怎么这么烦!好好想想吧,想过了再来问”。有的人与客户谈了半天,也说不出个所以然,项目经理急得直冒汗,强忍着怒火才没有当着客户的面发飙。

    项目经理着急可以理解,无非是希望通过批评的方式给员工施压,以给他们成长的动力。但最后却发现这样的方式无济于事。

    面对员工的缺点,很多管理者出于爱才、培养人才的目的,给予过多的提醒、教导、批评、甚至发脾气。其实一个人要改变自己都很困难,想要改变别人多半只是一种徒劳。

    联想一下父母对我们的教导。父母不厌其烦的教导我们各种知识、做人的道理,听多了以后就变成唠叨,对个人根本不能产生什么影响。这是因为别人的经验成不了自己的经验,一个人有经验必须要靠自己亲身经历去获得。当别人告诉你玫瑰花好美好香时,如果你没有亲见,你是不会有感觉的,只有你自己用眼睛看到它的鲜艳、用鼻子闻到它的芳香、用手触摸到它的湿润,你对玫瑰花的认识才能成为你自己的经验,内化为你自己的知识。

    大部分人只有自己亲身经历了挫折以后,才能真正的成长。每个人的成长就是一个不断犯错的过程,作为一个管理者,固然有提醒和教导的必要,但无需为此伤神。如果过于急躁,一心想快点把员工改造好,这只会让自己失去了耐心,进一步会导致员工也很厌烦,甚至故意避开项目经理,以免难堪。因此,项目经理必须要学会适当的容忍员工的错误,其实这样才是他们真正的给了他们成长的机会。

    再退一步讲,员工在公司其实只是打一份工,并不是来改造自己。项目经理没有义务也没有权利要求一个人改变,而只能是用好现在的他。合则继续,不合则分手,就这么简单。成长是一个人要获得发展的内在需求,而不是管理者的外在要求。

    美国作家弗格森有一句名言:“谁也无法说服他人改变。我们每个人都守着一扇只能从内开启的改变之门,不论动之以情或说之以理,我们都不能替别人开门。”项目经理不要再苦心孤诣的想要改变你的员工了,否则就可能像拔苗助长的故事中讲的那样,一番好意反倒害了别人。

    2.怎样培养员工

    每个人只能由内而外的改变,并不是意味着管理者对员工存在的问题完全置之不理,而是应该采用更加科学的方法来培养员工。

    (1)   像教育孩子一样培养员工

    中国父母教育孩子的传统方式有两个重要的误区:

    一是模具教育。中国父母教育小孩的一贯方式,就是规定一定要这样、一定要那样,或者这个不能干、那个不能干,父母给孩子划定了各种界限,就像模具一样,孩子只能按照这个模具的形状来生长。这只会让孩子的天性得不到发挥,最终会引起孩子的逆反心理。

    第二是填鸭式教育。父母让孩子上各种培训班,不分昼夜灌输各种科学文化知识,不管小孩能不能接受,更不问小孩是否感兴趣。这种把知识硬生生灌到肚子里的教育方式,小孩难免会出现“消化不良”,最后反倒可能会“身体虚弱”。

    这两个误区都是不尊重人的本性和人的成长规律的表现。国际上有一种被广泛认同的教育理念,叫做华德福教育。在这种理念中,每个小孩都像一棵小树苗,他具有自我成长的能力,父母应该做的,不应该是去拔树苗、剪树枝,而是为孩子营造良好的成长氛围,提供适合孩子成长的土壤。

    虽然讲的是孩子的教育,其实我们完全可以采用相同的理念来培养员工。在一个公司里面,管理者要让员工获得成长,其首要的任务不是机械的告诉员工你应该怎么样做,而是营造良好的团队氛围,打造适合员工成长的土壤,让员工自己成长。

    团队具有积极向上的氛围,更能激发员工活力,知识就好比土壤中的养分一样,可以在其中流动,每位员工可以接收到这种养份。而在一个死气沉沉的团队中,每个员工都是一个闭塞的能量体,知识被封闭其中,外面的难以进来,里面的也出不去。项目经理要做的主要工作,就是这将些封闭和能量体连接起来,让能量自由流动,这样每个人都能获得最大的成长。

    (2)   要区别对待员工的不足

    营造氛围固然重要,但对员工存在的不足,我们也不能视而不见。对于员工不同类型的问题,应该采取不同的措施。

     技能欠缺的问题

    公司出于人才梯队建设的考虑,必然会经常招聘经验比较欠缺的新员工,他们往往会被安排到项目中进行锻炼。即使是老员工,面对新业务,或者新技术,也同样会一时难以胜任。面对这种问题,项目经理应当主动面对, 加强对员工的培训和辅导,必要时可以定期举行内部技术交流,通过互相学习,不但技能获得较大的进步,而且团队的氛围更加活跃,员工更加主动,项目组更加具有凝聚力。

     性格与态度问题

    员工性格缺陷或态度消极,常常导致其做出不当的行为,这是令项目经理最痛苦的地方,也是项目经理想要改造员工的地方。但是俗话说,响鼓不用重槌敲,不响的鼓你敲破了也没用。与其严厉的说教、批评,还不如只进行适当的提点,给双方都留有余地,这样可能会更有效果。

    顾名思义,提点也就是提醒、点拨。一般情况下,提醒即可,对于重要的问题,则进行点拨,项目经理尽到自己的责任即可。项目经理确实有责任带领员工一起进步,但绝不是要改造他。

    对员工行为不当的原因,要进行针对性的分析,区分是外在的因素,还是其性格使然,也就是要看问题出在谁身上,根据实际情况想办法。例如,有些人喜欢和项目经理对着干,有可能是项目经理自身的原因,比如项目经理过于固执、自以为是,不顾及员工感受等。这种情况下项目经理要自我检讨,自我改变。还有可能是综合原因,例如员工待遇偏低,心里不爽,以跟项目经理消极对抗的形式发泄出来。这时项目经理需要对员工的能力和薪资进行分析、评估,设身处地考虑员工感受,帮助员工争取合理的利益。

     正确看待员工特点

    人有千百种,很多事情并没有对错之分。有些问题看似是员工的不足,其实换一个角度来看,它就是一个人的特点而已,要以平和心对待。例如员工不善言辞、理解力差,表面上看是缺点,实际上更是他的特点,这就好比软件的设计特性一样,不能算是Bug。一个人的特点是上帝的设计,不是项目经理可以改造的。

    3.每个人都有用武之地

    李白有一句诗:“天生我才必有用”,这不只是对我们每个人的鼓励,也是在提醒项目经理,要学会用人。

    一个优秀的管理者会因材施用。既然每个人都有用,那我们就应该顺应他的特点,发挥他的长处,何必非要盯着他不足的地方呢?

     相信大家都见过根雕。好的根雕作品应该是顺应树根的形状进行设计和雕琢,它们往往让人惊讶于大自然的神奇和艺术家的想象力。试想如果对树根进行刀砍斧斫,把它的棱棱角角都削平,搞得很光滑,你摸上去倒是很舒服,但这样反倒失去了其艺术性。

    我还曾经看到这样的介绍,画家在纸上随便倒一片墨,然后顺应墨迹对作品进构思,随兴作画,最后整个作品浑然一体,成为精美的艺术品。其实每个人就像被滴了一团墨的白纸,如果想要擦掉这一团墨,最后的结果就是,白纸被擦出一个无法弥补的大洞。

    可见,无论是看似歪瓜裂枣的树根,还是奇形怪状的墨滴,在一个艺术家的眼里,都有其独特的价值。

    人不也是这样的吗?每个人都有自己的特点,不管是什么样的人才,在善于驾驭的管理者那里,都可以人尽其才,为团队做出相应的贡献。这也是一种艺术。

    在项目中,也会有各种不同性格、不同特点的人。与其把精力花在怎样改善员工的不足,不如用其所长。无需改变他,同样可以把他们用好。

    管理专家余世维对于如何用人所长,曾举过一段非常精辟的例子:

    如果他非常喜欢钱,就让他去做销售;他做事很仔细,可以让他干设计工作;看东西只看地上的人,适合守仓库;吃饭都用计算器的人应该做会计;婆婆妈妈的人去搞客户服务;坐不住的人就让他去做外勤。这叫用人用长处。最糟糕的是把人都看成一样,不同的家庭、不同的学校培育出不同的人,每个地方有不同的文化、亚文化。作为主管,应该关注这些问题。我手下有个管理人员,他把权看得很重要,对钱没什么大的要求,我就把公司的印章交给他,每天在办公室“嘣嘣嘣”的盖章,而且把他的位置放在办公室的中间,让大家都看着他,让他有一种权力感,结果他非常高兴。

    受余世维的启发,在项目中我们同样可以做到因材施用,例如:

    ● 喜欢提意见的人,可以让也负责质量管理。

    ● 能说会道的人,可以让他负责与客户沟通;

    ● 沉默寡言者,一般心思缜密,可以负责技术性较强的工作;

    ● 对于脾气倔强的人,应该安排确定性的、没有争议的工作交给他;

    ● 慢手慢脚的人,应该安排缓冲时间比较多的工作,不能安排关键路径上的工作;

    ● 思维敏捷的人,可以安排紧急的任务给他。

    总之,项目经理应该顺应一个人的特点来安排工作,而不是强人所难,这样才能将团队的力量发挥到最大。

    展开全文
  • 我对项目负责需要完成的工作如下:做好通报工作:信息同步做好协调工作:资源协调做好管理工作:稳步落地责任义务权利:权责分清一、做好通报工作:信息同步要成为一个合格的项目负责,首先需要履行的职责是:...

    随着团队的发展壮大,越来越多的同学开始担当项目负责人的角色。那么,如何才能成为一个合格的项目负责人呢?

    根据自身多年工作经验的积累,我对项目负责人需要完成的工作如下:

    1. 做好通报工作:信息同步
    2. 做好协调工作:资源协调
    3. 做好管理工作:稳步落地
    4. 责任义务权利:权责分清

    一、做好通报工作:信息同步

    想要成为一个合格的项目负责人,首先需要履行的职责是:向自己的上级、团队、相关合作团队以及关注项目进展的人,及时同步项目的动态。

    为什么要做信息同步?

    首先,从风险角度来看,信息公开,可以帮助降低项目落地的时候失败的风险。

    信息公开,不同角色的人会通过不同的视角来看,目前项目的状态会有什么样的问题。比如:一个项目立项之初,如果事先沟通得不充分,可能会发生:排期预估乐观、人力资源申请存在不到位、技术方案考虑不周等。通过信息公开,不同角色的人可以看到项目状态,如果遇到一些风险,可以主动提出,在事发之前就做好准备工作,可以大大降低事情落地的风险。

    其次,方便其它有依赖或有交集项目上同步信息。

    比如是一个产品功能的开发项目,一般一个产品要新增加一个功能,会同时有产品、市场、运营等同事同步自己的工作,比如:3-8日要发布一个功能,那么运营同学可能会提前预约3-10号的发布会,来专门推广这个功能。如果项目一旦出现延期、质量问题、功能缩减等,那么需要其他成员同步调整自己的计划,避免因为信息不同步,导致乌龙。

    做基础服务的项目,也可能会同步有业务方进行依赖,比如:新增一个Feature或者修复一个Bug,可能都会对业务方有影响,如果需要对方调整,则信息同步是很好的方式的一个提醒。

    再次,里程碑事件是最好的“证据”。

    团队协作里面,很难免会遇到“扯皮”的事情发生,不管是因为职业素养问题,还是因为某个人“记错了”,我们尽量去避免这类问题的发生。那么,信息同步就是一个很好的方式。不要扯皮,看邮件。

    再再次,让你的上级“知道”。

    是不是经常听说:你做了很牛逼的事情,结果老大不知道,还以为你一天无所事事,最终郁闷地错失了升级加薪的机会?换个角度考虑,你的老大可能同时跟进N个项目,对很多项目的细节并不清晰,老大如何知道你做得牛逼?

    当然,这是从我们自己的角度来看这个事情。让老大知道项目进展,可以帮助你获取他的更高层级的协助。比如:我们会在通报里面,描述工作的计划和方案,有的时候这个计划和方案在老大看来,有更好的解决方案(比如:通过资源解决问题,某某团队已经做过了,我们直接拿过来用;或者,某个方案有更好的方式),那么这个时候,他会从资源、“过来人”的角色来帮助我们更好实现项目落地。这也是让老大知道的意义。

    综上,作为一个项目负责人,如何信息通报做得不够好,那么我们认为这个负责人是不合格的。

    什么情况需要通报?

    一般情况下,我们会有几种场景下做通报:

    1. 项目进展,达到某个里程碑阶段
    2. 项目进度,出现变化(故障、异常)
    3. 项目的一些结论性质的内容
    4. 定期的项目进展通报

    1、项目里程碑通报

    常见的里程碑事件,有:项目立项、方案沟通与评审、阶段性的进度通报、项目提测、项目部署、项目结束等。

    通报的内容以“项目达成某个点”为主,比如:

    【立项】**项目立项通报、【上线】**项目部署完成/小流量部署完成。

    一般情况下,有些里程碑事件可以省略,比如:某些封闭项目、大家都知道的立项环节等。

    2、项目进展出现变化通报

    常见的有:项目延期、需求变更、方案或资源变更等。在我们项目中,经常出现周期上的变更(延期)。偶尔会出现人力资源的调整,比如之前由于某某离职、晋升等造成变化。

    比如:【变更】**项目成员变更通报

    3、项目的一些结论性质的内容

    项目的进行过程中,经常会有小范围的沟通、讨论,往往这些沟通和讨论都会达成一些共识和下一步的计划。那么,这种情况也需要进行通报,比如:会议纪要。一般这类通报包含以下几方面内容:

    1. 参与人(都谁参与了)
    2. 时间(什么时间讨论的)
    3. 主题,讨论了什么问题
    4. 结论,达成了什么结论
    5. 后续计划,接下来怎么安排的(由谁什么时间、负责完成什么事情)

    4、定期的项目进展通报

    这个比较好理解了,比如:项目周报、日报、季报等。定期的给出项目的进展、下一步计划、遇到的问题或需求的资源等。

    同步方式

    常见的情况下,我们使用:邮件(最常见)、即时通信工具(微信)、WIKI(Slack、Confluence等)、Tower(TB)等。这里我们仅讨论:邮件和即时通信工具(也可以用Slack代替)。

    一些重要的结论,后续可查的,走邮件;比如:沟通纪要、双方的结论等;

    一些及时性强的、临时的,走即时通信。

    二者的区别在与:是否需要保留记录,是否及时。其实二者并不冲突,可以同时使用(即:既发了邮件,也发消息)

    使用邮件

    一般,标题能够突出结论或者主题,比如:

      【纪要】**沟通纪要

      【评审】**项目技术方案评审邀请

    标题直接与主题相关,方便接受邮件的同事快速判断这封邮件是否需要看下去。

    邮件内容,一般三段式:

    1. 结论先行(方便阅读邮件的人第一时间Get到点,至于过程看不看,根据结论判断)
    2. 补充描述(比如:结论是怎么得出的;
      1. 结论的产生很多是跟背景相关的(也可以叫:场景),缺乏场景的情况下讨论结论是没有意义的
      2. 除了故障是怎么分析、怎么得出的)
    3. 下一步计划(接下来怎么办,比如:如果是故障,则接下来安排怎么排查和处理,给出时间点和责任人;如果是结论通报,要么省略,要么可以说一下:反思的过程)

    上面的结构可以满足大部分发邮件的需要了。

    使用微信(其他通信一样)

    微信的内容随意性比较大,需要遵守的是:一句话说明白。结论先行、补充描述即可。

    同步对象

    你的邮件、内容发给谁,你可得想好了。

    原则上讲:你的内容希望谁看到,那么发给谁。另外一种定义是:项目相干方,及与项目相关的人。

    这里,常见的候选人是:

    1. 你的上级(导师、项目的直属负责人)
    2. 执行项目的团队
    3. 你的业务方(谁的工作依赖你的项目)
    4. 某些特别的人(自已意会)

    总结

    综上,能够合理地做好项目通报,是项目负责人的基本能力。(当然,技术能力才是基本能力...)

    二、做好协调工作:资源协调

    项目往往会出现:人员变更、依赖工具、有时间限制,当任意一个因素出现瓶颈的时候,就需要来做资源协调了。

    项目管理四因素

    在一个项目中,我们考量:时间、成本、功能、质量四因素,几乎任意一个项目都可以由这四个因素来描述。

    这里面,成本包含了:人、某些资源、工具、场地等。

    这四者的关系可以总结为:

    时间=功能*质量/成本。

    图示:对角线为互斥:此消彼长;相邻为互助,相互促进。

    那么,所谓协调,就是在这个四个里面做取舍。

    处理功能

    所谓功能,也可以理解为需求。

    处理好需求(我们经常叫:控制好需求),是顺利落地项目的第一步。道理很简单,功能越少,难度越小。一般来讲,我们会根据时间来卡功能,敏捷里面也叫:TimeBoxing。在某些场景下,我们会直接进入研发,看看在某个TB下,我们尽可能地多地实现功能,实现多少算多少。

    正常情况下,都是通过时间窗来卡功能的,因为一般上线的日子提前订了,那么这个时候就看能做多少了。当然也有根据功能来计划发布时间的,这个完全根据实际的情况来定。

    处理功能,需要有优先级的概念,尽量将功能拉平成为一个线性维度的数据,而不是一个矩阵(二维关系)或者网状(多维关系)的数据。线性维度的数据更好地进行分析。

    什么是矩阵数据、多维度数据?

    我们在制定需求时,如果需求之间没有依赖关系,相互独立的,那么会认为需求的信息是线性的。在某些情况下会出现:A需求依赖B需求的情况,那么这个时候需求的信息就不是线性的了,这种情况下,如果依赖的情况比较复杂,甚至会出现:A依赖B、B依赖C、C依赖A的环形依赖情况,那么这种需求就属于整理得不好的。在经常的情况下,我们会将多维需求拉平成为线性需求,方便我们进行管理和开发。

    最常见的情况是:我们将简单依赖通过合并、拆解等方法,彻底解开关系依赖,实现线性数据。这也能够解决常见的场景。

    如果需求本身数量也多,情况比较复杂,那么这个时候就需要一轮结构化处理了(后面有机会专门来聊这个话题)

    总之,需求这里一定要可控,在自己能够处理的范围来处理。

    遵守时间

    时间也即周期,我们完成一件事情所需要的时间。在很多情况下,我们拿到一个需求,会进行排期(计划时间,什么时间完成、什么时候进入测试、什么时候发布)。

    在指定时间的情况下,就不说了。

    在需要给时间的情况下,比如:这么多功能、你的团队需要多久能做完,潜台词是:功能确定、人员确定(成本)、质量保证下线,那么需要多长时间。这种情况下,一般我们会进行功能、人来进行任务划分,划分后,根据经验来给出时间。最常见的,就是:排期。

    排期

    排期一般分两种情况:阶段性周期(里程碑)和任务计划。

    “完成技术调研需要1-2周”属于阶段性周期,而“用户登录API开发需要16h“属于任务计划,二者的区别是:

    1. 周期长短不同,阶段性周期粒度长一些,计划的粒度会小一些
    2. 阶段性的周期可以是一个范围,不确定的;计划就需要确切的值

    了解一个项目的周期,我们先了解一下:PDCA(戴明环)

    对于项目,项目的周期为:

    对于项目而言,我们经常接触的是:Plan和Do的环节,Check和Analysis的环节很少想到,很多情况下,我们发布的项目后续都由运维接手了,然后便开展了下一个版本。其实,C和A的事情我们都做了,只是很少会把它单独拎出来而已。

    比如,系统上线后,进入运维状态,那么这个过程就进入了长期的Check状态,当出现Bug时,就会进入Analysis了,接下来修复bug的场景就是下一个版本了。

    管理成本

    一个项目,可以投入一个人来做,也可以投入十个人来做;可以自己团队花很久来研发,也可以买现成的商业方案。这些都是成本。做项目就没有不付出成本的,只有成本的高低之分。我们最常见的是人力不足时,向其他团队”借人“的场景,这个情况也比较简单和常见。

    如何选用第三方方案

    还有一种情况,对于很多技术出身的人才来说,就有些困难:使用别人现成的方案。之所以说这种情况比较困难,主要在于:

    1. 有些是能自己写就自己写,不想去理解别人的技术思路,不想去学习;
    2. 有些是能用别人的就用别人的,总觉得别人写的就是最好的(某个NPM的故事)

    就这里而言,这个没有什么固定的答案。一句话:因实际情况而异。

    当然,实际选择的时候,我会关注:

    1. 我们的团队是否有能力自研(或者为了提升自研能力)
    2. 选用的组件是否是公司的发展方向(如果是,优先,甚至是必须)
    3. 现在什么比较富裕,什么比较匮乏(比如:钱比较多,用现成比重大些;人比较多,自研比重大写)

    总之,谁负责谁决策,无论做哪种选择,都需要足够的勇气承担风险。

    多跟老大要资源

    在一般情况下,老大会帮助自己来提前调度资源(老大不就是干这个事的么),但是在某些情况下(比如:难度超过预期、老大对项目细节并不熟悉等),老大给的资源跟实际的需求有出入,那么作为项目负责人有必要也有责任向老大申请资源。

    控制质量

    互联网经常有一句话叫:要时间不要质量。在保障核心功能正常使用的情况下,减少非核心功能的测试时间,来追求发布上的快。(不知道现在腾讯帮助中心的检索的bug修复了没)

    这里,质量一定要分级,分级的原则是以影响面来衡量,而不是修复难度。

    为什么要分级

    在时间、资源充裕的情况下,是不需要分级的。测试做个一年半载再上线也是可以的。然而现实是,老板永远催着你赶紧上线,我们的资源也不是可以无节制消耗的。那么要找到:既能保证质量达到一定的要求,并且在有限的时间和成本下完成,就需要一个平衡的折中方案。质量分级是一个常见的方式。

    有些人认为,在有限的能力下完成牛逼的事情,更能凸显自己的能力。这个话讲得没错,但是合理的利用资源,也是一种能力。(想了解为什么?以后有机会讲职业发展的时候,再详细展开)

    质量分级

    一般来讲,我们根据Bug的影响面作为标准来定义等级(切记:不是修复难度,而是影响面)。这里的影响面从两个层面看:

    1. 业务影响:比如显示金额出错,数据并没有发生变化,可能是一个笔误导致的,修改起来很容易,但是对于用户来讲,可能会觉得自己的钱丢了或者赚了,转而产生客诉或者其它负面影响,虽然修改起来容易,但是带给客服、用户、外界对公司的印象会大打折扣
    2. 系统稳定性影响:比如写数据写失败、写错误、隐藏的bug等,触发概率大且一旦触发会造成系统不可用或者数据损坏,那么这个也会比较严重

    根据上面两种情况,我们定义:

    质量等级
    质量定义
    处理建议
    描述
    1
    1. 核心业务功能,产生会造成用户歧义的
    2. 核心功能不可用
    3. 核心功能上,会产生错误数据的或者会造成服务整体不可用的bug
    必须处理如:充值不可用
    2
    1. 业务上会造成用户产生歧义的(错别字、数据展示错误等),从而带来纠纷的
    2. 核心业务上,程序逻辑错误但未造成数据损坏的
    3. 非核心业务上,会产生错误数据的
    必须处理如:用户余额单位显示出错
    3
    1. 非核心业务上,程序逻辑错误的
    2. 非核心业务上,概率性触发或仅影响小范围场景的
    3. 非核心业务上,UI与实际不相符但不影响正常功能的
    建议处理如:找回密码 的界面跟UI设计不一致的
    4
    1. 某个极不重要的业务上发生的,且不会造成数据损坏、整体服务稳定性的
    可处理可不处理如:页面未严格按照UI实现,但相差不大的(<4px)

    等级没有绝对的边界,根据实际情况来调整,但是就是一个原则:以Bug的影响面为准。

    总之,做好协调工作,可以让工作更有效率。

    三、做好管理工作:稳步落地

    项目的执行过程,我们的敌人:风险。我们接下来所有的事情,几乎都是讨论怎么对付它。

    过程管理你一定不陌生,定期的进度review、各种的站会例会,几乎充斥到我们工作的每个环节。如果想让项目顺利落地,即便项目中出现风险,也可以降低本来应有的损失,那么我们需要学习一些基本的知识:

    1. 目标管理(SMART)
    2. 时间管理(重要紧急四象限、《高效能人事的七个习惯》)
    3. 结构化思维

    以及一些常见的敏捷实践:scrum、极限编程、TDD。

    什么是执行力,我的理解是:把不确定的事情确定下来,把计划的事情落实下来,就是执行力。

    先说说,一些基本知识

    目标导向

    目标导向可以理解为是一种价值观,事情的优先程度永远与是否与目标有关而相关。这里就要说四个概念:

    目标:要解决的问题或者要实现的目标。比如:降低数据库压力、增加公司营业额。目标是应该有明确的指标,这个指标是很好衡量的。

    方法:也叫手段、方案,从现状到目标实现的过程或者办法。

    现状:目前的所处的状态

    背景:这个范围很宽泛,主要交代了前因后果,以及一些隐藏的限制条件

    了解完这些概念之后,那么就需要明确规则了:

    现状、背景、目标是常量,方法是变量。

    意思是:如果执行的过程中实现得不顺利,那么说明方法需要调整了,而不是调整目标。这也是目标导向最重要的概念。

    目标管理

    我们在制定目标的时候,会遵循SMART原则,那么什么是SMART?

    Specific:具体的、确定的,可衡量的

    Motivating:有激励的,有挑战的

    Attainable:是可以实现的

    Responsible:有责任的,这里指的是有责任人

    Time-related:有时间限制的

    (这个真的版本太多,我找了很久,组装了一个合理的)

    一般,我们安排任务都会出现:某某负责**事情,实现**指标,某日子前完成。

    时间管理

    我们必须承认一点:人的精力有限、时间有限,如何在有限的时间内做价值更大的事情,是时间管理解决的问题。

    时间上面,有几个原则:

    1. 要事优先(什么是要事)
    2. 积极主动(多思考怎么办,少思考为什么)

    对于事情,我们都可以分为以上四类。上面四类里面,肯定是优先做:重要紧急的事情,不做不重要不紧急的事情;那么重要不紧急和紧急不重要先做哪个?

    这里有几个参考的方法,根据自己情况来定:

    番茄工作法:

    1. 以每25分钟为一个番茄钟,5分钟为一个休息时间
    2. 一个番茄钟只干一件事,谁来打扰都不行
    3. 休息的5分钟用来上厕所、喝水、散步
    4. 每天回顾与总结
    5. 内部的中断:接受、记录并继续;外部的中断:2分钟内能完成就做,完成不了重新安排(当然是要分情况的)

    以上便是需要准备的基础知识。那么接下来,我们开始“稳步落地”。

    1、好的计划,是成功的开始

    计划是典型的重要不紧急的事情(大多数场景下),计划越精确越好,但不是越细越好,一定要有合适的粒度。

    比如,拿排期来说,那么根据项目的大小,一般4周以内的项目,计划的记录在1-3天比较合适;如果项目超过4周,那么粒度在0.5-1周比较合适。

    在拿项目设计方案来说,如果是大型的系统架构设计,那么划分出子系统的定位和子系统之间的关系即可(参考:系统之美)。

    除此之外,好的计划也是有“预案”的,预案主要描述了:一旦发生某些变化,就执行什么动作。

    所以好的计划是:

    1. 精确的描述
    2. 合适的粒度
    3. 不可控因素的预案

    计划需要多去联系和尝试,根据不同的情况,慢慢总结其中的细节和联系。

    SCRUM中的计划会,就是来跟大家同步计划的(记住:这里是同步计划,不是制定计划,也就是说:会议上我们来分配工作的,不是来讨论怎么做计划的)

    2、定期的跟进进度

    我们在做敏捷实践的时候,经常会进行:SCRUM的四个会,这个四个会中有两个就是与进度有关的,这两个会分别是:

    每日立会(没错,是“立”不是“例”,表示站立的意思)和定期review。

    每日立会:团队内进行沟通进度的会议,长度不超过15分钟为宜。会议每个成员讲:

    1. 昨天的工作进度
    2. 今天的工作计划
    3. 我遇到了什么问题,什么会妨碍我的工作,需要什么样的支持

    这里需要注意的是:会议上不分析出现问题的原因,也不追责,仅以发现问题为主。如果遇到出现的问题,单独计划讨论、会议来进行。

    定期Review:一般在某一个小的里程碑的时候进行的,有的时候也会在每周进行(因为一些任务就是按周来计划的)。会议中一般讨论这个时间范围内的整体进展,以及遇到的问题和反思,长度15-60分钟为佳。

    3、处理阻碍进度的绊脚石

    项目中遇到了问题怎么办,那么这个时候我们需要在:资源、质量、功能上做文章了。

    比如,某个任务花费的时间比预期的长,那么要保证按时上线,要么加人解决,要么放弃一些功能的测试了,或者砍掉某些需求。这些都是我们解决问题的思路。

    在通过某些思路解决问题的时候,具体的方法因人而异了,比如:如何跟老大要人;如何跟平衡方案和资源分配,都是需要慢慢凭经验改进的事情。

    另外,处理问题需要准确、快速(这是两个词,准确和快速类似重要和紧急一样,两个维度来描述事务,是不是出现了很多次),越准确越快速肯定是最好的,不准确又慢也是有问题的。在时间允许的情况下,优先保证准确;那么如果时间紧迫怎么办?这里就有冒险和求稳两种做法了:快速决策和跳过问题。

    问题越早解决,带来的代价越小。(忘记是谁说的了,原话可能也不是这样,但意思差不多)

    4、项目要复盘(也就是:Review)

    Scrum里面的回顾会(Retrospective Meeting)。这个会议时间可以长一些,当然提前准备工作也是要做的。

    1. 这次项目里面,哪些是做得好的、哪些是不好的(可以提前收集一些材料,比如:邮件、纪要、WIKI等)
    2. 下次如何能做得更好,以及可以安排哪些新的挑战进来(什么是挑战?)

    这个会议可以轻松一些,主要是总结。有的时候,我会准备一些小零食来帮助大家放松。

    总之,好的执行可以帮助项目


    其它的一些过程管理

    高效的会议

    如果想要会议很高效,那么有以下建议可以参考:

    1. 提前准备,提前收集各种声音,挺多数人的意见,跟少数人商量,自己做结论(出自:百度圣经)
    2. 会议要有明确的目标,是为了达成一致,还是为了同步结论
    3. 有限的人数,减少产生不相干的话题和无意义的争论
    4. 会议要以结论结束
    5. 正常情况下,会议15分钟左右即可(一些特殊的会议除外,比如:分享、培训、脑暴等)
    6. 会议结束后,对于一些结论,需要有会议纪要(这就是一个里程碑,方便大家后续以此为基础进行推进)

    一些好的经验

    1. 事情赶早不赶晚(我在百度的时候,我的导师教我的,受用匪浅)
    2. 学会说“不”,对于没有明确目的的要求,可以说“不”,既是对自己负责,也是对对方负责
    3. 对事不对人,事情该怎么样就怎么样

    四、责任义务权利:权责分清

    有权利就有义务,有义务就有责任,这里几乎是可以划等号的。在我经历的不同团队里,这里是经常发生纠纷的地方:

    1. 边界与范围:哪些是该负责人负责
    2. 责任链模型
    3. 团队成员的边界
    4. 如何看待冲突
    5. 如何做决策

    边界与范围

    你需要做决策,并且需要为此负责

    我经常遇到的一种情况是,负责人担心做出决策事后害怕担责,往往会寻求团队外部的合作人、自己内部成员来决策,造成一种“我没有选择”的假象,最终经常会演变成:彼此甩锅。

    那么,我们认为:无论决策由谁来做出,凡是与团队有关的决策造成不好的结果,项目负责人一定是第一责任人

    讲到责任,就必须得讲一个东西叫:责任链。

    责任链,是一种责任的认定方式。一般情况下,责任的追踪方式有两种:从上到下的金字塔责任链 和 从头到尾的队列责任链。

    金字塔责任链

    当一个项目出现问题时,那么第一责任人就是这个项目的负责人,无论决策是谁做出,也无论客观因素如何。但是在这个团队内部,再次拆分责任的时候,就根据具体的原因来拆分了。而对于这个团队的上游(或者上级),在他的外部也需要承担失败的责任。这也是百度旗下任何的问题(不管李彦宏是否知情),大家骂的都是李彦宏的主要逻辑。

    金字塔责任链主要适用于有明确上下级关系的场景下。

    队列责任链

    推动-协作者模型主要适用于平级或者跨团队间的场景。当一件事由专门的推动者负责推进时,就会由推动者来负责项目的推动工作,也承担着项目推进的责任。

    因此,在责任上面,当需要某个人或者团队去执行落地某个任务时,充分的授权便是最为基本的条件之一。

    团队成员的边界

    我记得我们之前的KPI里面,个人绩效分为两部分:团队绩效+个人绩效。有的时候,团队绩效的比重占到了70%,个人仅占到了30%。这里的含义是:团队成就个人。这也与当今社会中的价值观一致。(比如:NBA总决赛的MVP大部分是从胜者的球队中选出的,金球奖的得奖人也是需要有团队的大赛成绩的)

    因此有一句话:团队牛逼了,团队成员差不了;团队失败了,团队成员好不了。因此,当团队陷入某些困境中时,这样的原则要求团队成员思考如何帮助团队走出困境,而不是想好自己怎么不受影响,能够全身而退。倘若团队成员各自为战,团队翻盘的机会也就不大了。

    不要害怕冲突,但要控制冲突的边界

    冲突的发生有多重因素,但大多数都是彼此对于方案的不一致。冲突可以有效帮助彼此思考,方案考虑因素更多,但是冲突一定要满足:

    1. 就事论事,对事不对人,切勿将话题转移到人的身上
    2. 意见表达充分之后,给对方说话的“权利”
    3. 冲突的目的是结论,切勿无限制扩散

    和和气气会慢慢降低大家对项目的严肃程度,适当的冲突帮助彼此监督,考虑问题更加完善。

    另外,在别人产生冲突的时候,自己当裁判,而不是“和事佬”。当裁判并不是看谁说对了或者声音大,而是看谁越界了(谁超出了事的范畴),对于越界的人及时制止或者直接终止冲突,这是“裁判”的作用。

    因此,不要害怕冲突,而要善用冲突

    如何做决策

    老百度有一句话叫:听多数人的意见,跟少数人商量,自己做决策

    首先,做好调研工作(看看别人怎么做)

    调研就是看业内同样的问题都有哪些解决的方案,看看别人的方案主要可以发现:

    1. 各自的场景有何异同
    2. 核心的逻辑和算法是怎么做的
    3. 最终的实现有何取舍(场景、目的不同,导致实现不同)

    最终,都可以得出一个:基本的技术论调。

    其次,听听大家怎么说(我们的现状和场景)

    听听大家说,了解大家的诉求(也就是:需求)和方法(调用方式)。区分清楚哪些是需求,哪些是建议很重要。

    需求:我希望你的项目能够实现什么功能,解决什么问题;

    方法:你的这个项目可以通过什么技术实现;你的项目可以如何落地。

    通过了解大家诉求,来了解我们的现状和场景。

    再次,找到关键瓶颈点(成本关键点、技术关键点、周期关键点)

    找到关键瓶颈点的原因是:如何做取舍。一个项目顺利的情况下,资源到位、时间到位、技术满足,那么项目仅仅是落地的问题。然而,在一些场景下,会发生:人不够用、时间紧、功能多等。这个时候往往就就是要做取舍了。

    那么了解自己当前的瓶颈点,找到瓶颈点的确认关系,那么取舍的事情会相对比较容易。

    最后,得出结论

    已经做了比较充分的熟悉了,接下来结论也相对容易多了(也清晰了)。有了上面的流程,换个人得出的结论也基本接近。ba

    附录

    参考文章

    1. 成本和质量是常量,范围和时间是变量 http://blog.csdn.net/thinkinchaos/article/details/1303105
    2. 项目管理核心三要素 http://www.360doc.com/content/16/0411/22/4186849_549847818.shtml
    3. 敏捷迭代开发 Time Boxing http://blog.csdn.net/jiyiqini/article/details/51303235
    4. 结构化思维 http://wiki.mbalib.com/wiki/%E7%BB%93%E6%9E%84%E5%8C%96%E6%80%9D%E7%BB%B4
    5. PDCA戴明环 https://baike.baidu.com/item/PDCA%E5%BE%AA%E7%8E%AF/5091521?fr=aladdin&fromid=3716836&fromtitle=PDCA
    6. Bug的严重等级和优先级 http://blog.csdn.net/rabbit100/article/details/50980952
    7. 什么是bug等级和严重程度 https://zhidao.baidu.com/question/466544098.html
    8. 如何定义bug严重程度 https://www.zhihu.com/question/20280073
    9. scrum 百度百科 https://baike.baidu.com/item/Scrum/1698901?fr=aladdin
    10. SMART https://en.wikipedia.org/wiki/SMART_criteria
    11. 结构化思维 百度百科https://baike.baidu.com/item/%E7%BB%93%E6%9E%84%E5%8C%96%E6%80%9D%E7%BB%B4/1482961?fr=aladdin
    12. 极限编程 https://baike.baidu.com/item/%E6%9E%81%E9%99%90%E7%BC%96%E7%A8%8B/4690591?fr=aladdin
    13. 《高效能人士的七个习惯》 https://book.douban.com/subject/5325618/
    14. 《金字塔思维》https://book.douban.com/subject/1020644/
    15. 《OKR》https://book.douban.com/subject/27084312/
    16. 番茄工作法 https://www.jianshu.com/p/7d026e18c46d
    17. 《搞定》(英文:Get Things Done)https://book.douban.com/subject/4849382/
    18. 《系统之美》https://book.douban.com/subject/11528220/
    19. SCRUM的四个会议 http://blog.163.com/linfeng_0212/blog/static/622213820151034538512/
    展开全文
  • 记一次千项目的感受

    千次阅读 多人点赞 2019-04-19 20:27:23
    最近有幸参与了一个千的大项目,深刻感受到了项目中存在的一些问题,如下的记录。也希望大家能够讨论一下自己项目中面临的问题以及更好的解决问题方法。

    最近有幸参与了一个千人的大项目,深刻感受到了项目中存在的一些问题,做如下的记录。也希望大家能够讨论一下自己项目中面临的问题以及更好的解决问题方法。

    1,测试用例的编写没有得到足够的重视

    测试用例包括FT,UT以及ST。FT和UT都是有开发人员来进行编写的,ST由测试人员来进行编写测试。当然由于项目中实行的是敏捷管理方式,每个团队还包含了专职的QA来进行初步的ST测试。但是团队中的测试更多的是聚焦于功能方面的,所有上述工作完成之后,代码合入受控版本,会交由测试部门再进行测试,包括,功能,性能,可靠性,稳定性等方面,测试更加的细致。由于我所在的是开发部门,更多的体会是FT以及UT方面。首先测试工具是基于google的开源测试框架打造的,结合项目的具体特点,封装成为符合项目开发人员习惯理解方式来进行FT的编写。但实际开发过程中开发人员没有认真编写测试用例,开发者似乎更加更加热衷于实现某一个功能。造成这种现象的原因很多,例如管理方面,从上至下没有把UT,FT放在一个非常重要的位置,开发者往往只是为了FT和UT的覆盖率要求编写用例,为了赶进度,实现某个特性忽视了FT。这样就使得功能测试并不完备,为了凑覆盖率而编写和而不是验证某个功能去编写。有些问题隐藏的很深,FT能够方便的发现,ST则未必。我觉得FT的用例应该结合方案进较为详细的设计,测试用例至少要和功能开发发上同等的时间,甚至更多,因此TDD其实是一种很好的方法。

    2,代码强推操作

    项目中使用gerrit进行代码评审的工作,底层的版本控制是基于git的。当然git作为时下最为流行的版本控制系统,使用起来还是非常的方便的。本篇不是分析gerrit的优缺点,而是觉得即使最好的工具,如果在执行的过程中,不能够有效的控制人为的因素,那么对于版本的控制管理,也将是极为失败。因为在项目开发过程中发现,总有人会有强推代码的需求,即不通过CI上的各种验证流程,直接将代码入库。虽然这种强推的权限只是掌握在极少数的手中,但事实上强推的人总能够找到各种各样的理由,因此会不断的有强推。那么产生的问题也是显而易见的。首先,最严重的就是可能导致CI编译出现问题,对于大项目来说,这会影响很多人,因为这种级别的项目每天的CI执行会非常的频繁;其次,强推规避了pclint,覆盖率,复杂度,kw等各种检查流程。以pclint为例,强推代码中如果出现pclint问题,将会在下一次同样修改该文件的commit中暴露出来,这会增加下一次commit提交人的工作量,对于他也是不公平的,而且容易滋生怨言;还有就是破窗理论所述的那样,这种行为如果管理层不明确的进行约束和制止,会导致越来越多的人效仿,这将是一个严重的恶性循环。

    3,代码走查问题

    其实这个问题主要是走查人的问题,走查人对于代码质量的一个态度直接决定了版本库中代码的质量。实际的执行过程中发现,代码走查流于形式主义。走查代码最基本的是功能流程方面,这个一般人多的情况下都会考虑的比较周全,但是关于代码本身,例如变量的初始化,命名,可读性,注释,一些异常的统计等关注较少,即使注意到了,往往碍于同事之间的面子,也都同意入库了。我觉得代码走查的环节还是很重要的,因为通过我们不断的对于代码细节的推敲,库中所呈现的代码也是优秀的,这也会直接对后续的开发者产生积极的影响,因此不要轻易的code review +2,事实上在这个方面我也挺纠结。现实中我所看到的就是混乱不堪的代码导致后续的维护人员继续生产劣质的代码,又是破窗理论的再次验证。

    4,人员素质参差不齐,测试返工憋成内伤

    当管理者意识到可能在项目的截止日期前无法完成项目的时候,会做什么。其实你可能也会有体会,就是增加人力,加班等等,我就是在这种情况下加入项目的,这在我国的软件行业真是屡见不鲜了。无论是通过招聘还是不同部门之间的借调增加的人手都会存在这样一个问题,就是对于项目的业务不是很熟悉。同时每个人的专业知识,人员素质参差不齐。我当时参与的是一个具有庞大业务场景的软件,需要非常专业的业务知识。但是对于我这样参与进来的新人来说,仅仅经过两三周的培训,就投入了项目的开发之中。姑且不论代码质量,可能有的业务场景考虑的就不全面。因此在这种情况下生产的代码可想而知。已经被证明的是,后期产生的bug导致的不断修改所按入的人力非常的恐怖。而且代码质量真的会严重影响优秀程序员的身心健康。

    5,真正开发者不需要那么多

    如果领导按照他的想法安排了很多人,我倒是同意有的人的观点就是,只让少部分的人有提交代码的权限。其他身下剩下的人可以安排一些其他的工作,比如结对编程,一方面带带新人,做一下备份;另一方面也能够帮助开发者提提意见,毕竟旁观者清。还有的人可以去设辅助计ST的用例,编写一些说明手册等。因为当能够提交代码权限的人变多的时候,代码的质量是得不到保证的,这一点在4中已经验证。

    6,部门团队间相互扯皮的情况多

    当项目人员变多之后,尤其是跨部门的项目,相互之间推委责任的情况时有发生。因为每个人,每个部门都有考核,考核的依据可能就是每个人和部门引入的故障数量。因此呢,当出现问题的时候,每个人想到的不是如何解决问题,而是先尽可能的甩锅。其实把皮球被踢来踢去的过程的时间可能大于问题解决的时间。因此项目如何在制度上让员工在出现问题的时候第一时间想的是去解决问题还是蛮关键的。其实在公司工作这几年,我的感受是没有人愿意主动引入故障,都是希望项目能够顺利进行下去,因此以故障数量作为考核并不明智。还有就是测试部门和开发部门的长期对立。测试部以发现故障的数量为考核目标,这激励了测试人员去发现问题。但是由于在实际的执行过程中,测试部发现问题后并没有和特性开发人员进行充分的沟通,直接把现象扔过来,让开发人员去定位,有的时候可能是测试人员对于特性了解不充分,有的时候可能是别的特性引起的,开发人员的时间也是宝贵的,久而久之也会引起开发人员的反感。因此如何协调开发人员和测试人员的关系呢。

    7,团队的氛围很重要

    大的项目也是由一个个小的团队组成的,破窗理论前面已经验证了团队氛围的重要性,为了避免恶性的循环。团队的Leader是非常重要的。所谓兵熊熊一个,将熊熊一窝。首先团队的Leader要做到公平,能够准确的识别每个人的贡献,而不是加班时间。其次在一些小问题上,Leader要带头整改,树立团队人员的责任心。如果得过且过,然后发现问题也不想改正,小问题的不断积累最终成为大问题。最后,团队的Leader还是要多和团队成员交流,了解彼此之间的诉求和想法。

    其实每个项目都会有这样或者那样的问题,这个时候管理者就会很关键。真正的发现问题并且思考解决问题其实值得每一个项目管理者重视。为了赶进度就增加人力,加班,强推代码也许暂时为自己推脱了责任,即使完成不了也可以和上层交代,但是于项目长远来说则是后患无穷。

    本文为CSDN村中少年原创文章,转载记得加上小尾巴偶,博主链接这里

    展开全文
  • Github搜索技巧-如何使用github找到自己感兴趣的项目

    万次阅读 多人点赞 2016-03-24 10:57:34
    Github现在不仅仅作为一个版本控制工具,更是一个开源的仓库,里面不但有优秀的开源代码,电子书,还有一些五花八门的项目,有些国家的法律也放在上面,作为程序员如何找到自己感兴趣的项目就非常重要了!...
  • 找到合适自已的2D游戏工程师项目总监工作。 口号:为实现人生目标而努力! 原则:一切在力所能及的情况下。不过多提高技术要求。 目前情况:写了五年游戏了,对WINSDK,MFC,DX,网络编程也都算基本掌握了。 ...
  •  一也要称为团队有些牵强,就当是人格分裂吧,一饰演多职。  2007年春节后大学最后一个学期开始从事软件开发工作,使用的VB编程语言,经历了一年才算刚刚入行,期间通过自学C#转型到了.Net平台,2008年年初...
  • 2、准备好项目细节,一旦被问倒,说明你没过 3、不露痕迹地说出面试官爱听的话 4、主动出击,面试官没有义务挖掘你的亮点 5、低级错误可能导致直接出局 6、引导:准备加分点,在介绍时低调抛出,但别说全 7、...
  • 没有找到项目、该项目步存在、无法删除、文件夹不存在。该项目不在。。。中。删除不了怎么办? 2011-07-15 17:52 2961阅读 评论(1) 收藏 举报 建立一个批处理文件,内容为:  DEL /F /A /Q \\?\%1 ...
  • 如何在没有实际项目经验的情况下找到工作

    万次阅读 多人点赞 2017-04-27 13:40:13
    对于许多应届毕业生来说,没有实际项目经验可能是你找工作最大的阻碍之一。本文在对这一现象了详细的分析的基础上提出了一些行之有效的方法,希望能够更好的帮助大家找到工作。加油!
  • 前段时间,有个潜在客户,付钱,让我帮他写个简单的项目,最后还是被我委婉地拒绝了。 情况是这样的,这名网友还在读大学,刚来到一个公司实习,实习阶段要一个小项目,马上就要检查了,就剩下两三天了。他非常...
  • 拜托,大厂做项目可不简单!

    千次阅读 多人点赞 2021-07-16 19:34:49
    很多未工作过的小伙伴都很好奇:企业中做项目怎样的流程?尤其是大厂那些百万用户的项目,和自己学编程时做项目到底有什么区别呢? 实话说,区别可大了! 自己开发项目那是单打独斗,自己掌握命运,不会拖垮队友;...
  • GitHub 上有哪些一般也可以用的项目

    万次阅读 多人点赞 2019-06-27 17:20:00
    之前有不少粉丝来信询问:能否给初步接触 GitHub 的用户,推荐几个比较实用、容易看懂,无需具备太多专业知识便能上手使用的项目呢?答案是:有的。今天,我们就上述问题,来...
  • 一个父项目aigo 一个子项目common 另一个子项目user user使用了common下的类,在idea编码,运行都没有问题 一旦mvn install就显示找不到common下的类,无法解析符号。我实现install的common包,尝试各种姿势均...
  • 最近有很多同学,竟然不知道如何使用Intellij IDEA打开Java项目并启动 现在来讲一下,希望不要忘记了 1、打开IDEA开机页面 Maven项目 2、Maven项目是以pom文件引入各项jar包的 在点击lmport Project,然后在...
  • 使用IDEA搭建一个简单的SpringBoot项目——详细过程

    万次阅读 多人点赞 2019-08-02 14:22:47
    一、创建项目 1.File->...3.完善项目信息,组名可不修改,项目名可修改;最终建的项目名为:test,src->main->java下包名会是:com->example->test;点击next; 4.Web下勾选Spri...
  • 项目经理

    千次阅读 热门讨论 2016-01-27 19:41:29
    项目经理是啥? 项目经理就是个负责把项目做成的
  • “我们的开源项目”已经成功举办了六届,在业界引起了较大的反响。上一期我们专访了发起之一庄表伟,请他介绍了该活动的举办情况以及对开源的一些建议。  本期我们邀请了该活动的另一位发起程旭文,他同时也...
  • 用Excel做项目管理

    千次阅读 2013-07-16 08:58:09
    临时充当了一个项目项目管理人员,电脑上没装项目管理专门的软件,之前也用过excel来过小团队的资源管理,所以,现在临时上马,又把目光投到了无所不能的神奇的excel身上。 现在感觉良好,于是又迫不及待来...
  • 本文是在项目管理领域的教科书、应用类书籍、该领域研究及实践的咨询公司、咨询顾问的研究成果的阅读和学习基础之上,基于自身理解整理汇编而成,仅供个人学习使用,请勿任何商用; 本文所引用、注明的书籍、报告...
  • 初次配置Maven项目的tomcat时,有会发现自动提示中找不到tomcat. 就算手动输入完整的groupId也无法关联到文件. 解决办法是: 将完整的groupId和artifactId输入,之后重新载入,tomcat的相关插件会自动下载. 完整信息:...
  • 今天打开visual Studio 2010创建新项目时,提示:"Unable to find 'E:\vs2010\Common7\IDE\projectTemplatesCache\Csharp\web\1033\WebApplicationproject40.zip\WebApplicationproject40.vstemplate“. please ...
  • [项目管理]项目计划如何

    千次阅读 2010-02-05 20:27:00
    可是我们的项目还没有结束,因为夏天的一些疾病到了秋冬季节才开始爆发,比如流感的大面积暴发,大都发生在气温骤降的深秋,这时候人们会进入各种集市进行商品交换,为冬天储备,而随着大量接触的发生,也给...
  • 我是如何测试项目管理的

    万次阅读 多人点赞 2017-06-21 13:50:16
    项目差不多1个季度了,针对这一季度的工作一个总结,分析一下成长和遇到的问题,希望后面可以的更好。  以下内容有自己的总结,也有参考蔡为东老师的步步为赢—软件测试管理全程实践。  项目内容:IOS...
  • 本文转载自CSDN公众号 作者丨Paddy Sherry 翻译丨LeviDing 许多开发人员在找工作的时候,虽然满足了对方所要求的理论技能,但是...对于许多年轻的计算机或 IT 相关专业毕业生,在没有实际项目开发经验的情况下...
  • 学生管理信息调试ing,当我单击修改成绩菜单选项的时候,冒出了一个这样的问题:在对应所需名称或序数集合中,未找到项目! 愣了愣,纳闷,几天前的时候还没有这样的错误呢,为什么会这样呢?有了前一次调试的经验,...
  • 项目完成了,如何做项目的总结会议?一个里程碑结束了, 下面怎么办?团队有什么经验教训? 产品怎么才能得更好? 我们常说 “软件的生命周期”- 这个软件开发的周期结束了, 生命也结束了  一个里程碑结束了, 下面...
  • 项目干系分析的“四步法”

    千次阅读 2007-04-24 17:46:00
     很多如果有机会这个项目的乙方项目经理,很可能接手这个项目后,马上就会着手开展一系列工作:项目启动、编制计划,然后按照项目计划执行,中间项目控制工作,最后就等着项目收尾和收款了。其实,中国的...
  • 404原始服务器没有找到目标资源的当前表示,或者不愿意公开该目标资源 解决方案 有专门私信我说,让我单独写下,那我就提取出来吧 如果出现404的问题,那么久检查你的web项目是否部署完整, 一般出现“404 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 661,140
精华内容 264,456
关键字:

怎样找到想做项目的人