最近在跳槽,也做了几次项目经理的面试,又看到了论坛里的
另外一个帖子,所以就有了写这篇文章的冲动。
我是10年毕业,然后做了2年开发(其实还有8个月的实习,这个就不算了)差不多2年的项目管理经验吧,也整理下自己的一些收获,有些地方可能有些理想化,有什么不对或者做的不好的地方,希望有人能够指正!
1.需求来源或挖掘
对于开发团队来说,需求的来源应该只有一个,那就是需求工程师(很多不专业的产品经理也是需求工程师的干活,而有些直接是项目经理去谈需求,这里统一为需求工程师),我也见到过有客户直接把电话打给我们的开发人员的情况,这个时候我们也要求开发人员可以去听客户想要什么,但是了不要答应用户要不要实现的问题,接到电话后了解用户想要什么,然后反映给项目经理和需求工程师,由需求工程师来再次的跟客户联系,了解需求。
之前我们团队也一直在抱怨需求多变,朝令夕改,也一直在抱怨需求工程师就是一个传话筒,唯一的作用就是把各方的要求收集起来!这不是用户的问题,有可能用户自己都没有想明白,这时候就得需要需求工程师去了解业务,深度挖掘用户真正想要的是什么,然后来决定整个系统需要怎么样来实现。这其实就是一个化被动为主动的过程。
而就算再深度挖掘 也有很大的可能还是无法去真正理解到用户心理想要的,这个时候就得拥抱变化,所以我们才当初的瀑布式开发转投为敏捷开发。
看过一本书《你的灯亮着吗》,里面有一句很有意思的话:
不管看上去如何,人们很少知道他们想要什么,直到你给了他们想要的东西。,这也是我们转投敏捷的一个原因,通过快速的迭代来产出成果,给用户一个东西后,让他更加的明白自己想要的是什么!
2.项目经理和需求
在说敏捷之前先交代下我们团队,我们团队是比较成熟的一个团队,开发人员5人,测试人员3人,需求工程人员1人,开发测试都是2-3年合作过来的人,彼此熟悉,而且部门经理是敏捷的推崇者。
在需求正式纳入之前,需求工程师和项目经理先要对需求进行一次探讨(如果可能,项目经理最好也参与进需求收集的过程,退一步也可以是需求收集的关键会议),了解需求的信息,要了解到一个需求功能的以下几点:
1.功能的使用者是谁? who
2.功能的本质意图是为了解决什么样的问题? why
3.功能的主要内容是什么,关键字段是什么? what
这里不需要去讨论功能如何具体实现,而是做到项目经理心中有数,对业务有个清晰透彻的了解,是否有需求可以通过更好的方式去替换,需求工程师考虑的是否有欠缺。
PS:如果说项目经理充当了需求工程师的角色,那么上面的3个W还是要做到,因为项目经理是直接面对开发人员的,项目经理是否懂业务在整个开发中是很重要的一笔。
3.开发人员和需求
接下来就是敏捷的计划会议过程,是由需求工程师向开发人员宣贯需求,并对需求进行优先级排序,开发人员有任何问题都可以在会议上提出,如果能够更好的解决方案那就最好了!
在这里首先得要明确一点,在迭代会议上只做确定了的需求,需要保证的是,在这个会议上需求都是明确的,尽量保证是在三周之内不会发生变化的(对于在迭代周期内发生需求变化或者加塞的出现,下面会再讲),还有一点要明确需求尽量在迭代周期之内不变,需要外部环境的支持,比如决策层,他们要有共识,采用迭代这种最小单元的模式!就算发生变化,也尽量在下个迭代去实现或者更改,如果没有共识,那么就需要项目经理或者部门经理去公关,去明确阐述迭代的优弊。
拿我们公司为例,在起先的项目过程中,我们并没有采用敏捷,所以就经历了很多痛苦:需求一接一堆,开发人员没命的工作,但是做出来东西后用户发现不是他们想要的,然后之前做的全都白费重新来过,一大堆的功能造成每一次上线就跟打仗一样,每次都是很大的升级,部署后经常会遇到这样那样的问题!在这样的情况下,领导就很容易接受我们部门经理提出的敏捷了(当然具体公关肯定不是这么简单的)。
开发人员明确需求后,对每一个功能进行估工时,其实这块是最麻烦的,我们现在的做法是:
对功能进行拆分,将每一个大的功能点拆分成最小执行单元,这里所说的最小执行单元指的是可估出来的功能模块,一般2天左右最好,最多不能超过3天,如果发现有超过4天的功能点,那就继续拆,直到拆解成1-3天的情况。拆分功能模块还有一个好处就是有利于开发人员更好的理解和设计需求。因为是全员参与的功能拆分,大家对每个模块都有一个清晰的了解,有利于接下来的进度安排以及风险管理!
------格叽格叽---------
午休,吃饭
分享到:
相关推荐
1.1 文档的目的可能在于教育读者理解项目管理的重要性,提供一个全面的项目管理框架,使读者能够有效地管理各类项目。 1.2 对“项目”的定义可能包括其两个关键特性:时限性和唯一性。时限性指的是项目有明确的开始...
《华为培训-成功的项目管理》是一份详尽的培训资料,共计123页,旨在帮助读者掌握在IT行业中实施高效、成功的项目管理方法。这份资料由华为公司提供,体现了其在项目管理领域的专业经验和最佳实践。华为作为全球...
系统集成项目管理工程师是中国计算机技术职业资格考试(简称软考)中的一个中级认证。该认证主要面向从事信息技术领域工作的专业人员,旨在考察考生在系统集成项目管理方面的理论知识与实践能力。通过此认证的个人...
总而言之,《IT执行力:IT项目管理实践》是一本全面介绍IT项目管理的书籍,无论你是初入行业的新人还是经验丰富的项目经理,都能从中受益匪浅,提升自己的IT项目管理水平。通过阅读这本书,你将能够更好地理解并应用...
《深度精耕——经典项目管理书籍》是一本深入探讨项目管理领域的著作,它汇集了大师级作者们在项目管理领域的丰富经验和深入洞察。本书旨在帮助读者理解并掌握日本企业独特的项目管理理念和实践方法,从而提升个人和...
软件项目管理是IT行业中至关重要的一个环节,它涵盖了项目的规划、执行、监控直至收尾的全过程。在这个过程中,统一性框架起着指导作用,确保团队遵循一致的标准和最佳实践,从而提高项目成功率。统一性框架通常包括...
这份手记可能包含了他在编程、项目管理、团队协作以及个人技能提升等方面的经验分享,旨在帮助初入IT行业的新人更好地适应工作环境,积累必要的知识和技能。 描述中的“抛砖引玉”意味着作者希望通过自己的经验和...
《PMI项目管理大会PPT-2015年(全套)》集合了美国项目管理协会(PMI)在2015年度项目管理大会上所分享的精华内容,旨在为项目管理人员提供最新的理论知识和实战经验。这个压缩包包含了一系列关于项目管理的专业PPT...
软件工程是计算机科学的一个分支,专注于系统的构建、设计、维护和评估,以确保软件产品的质量、可维护性、可靠性以及效率。林锐博士在书中详细介绍了软件工程的各个阶段,包括需求分析、系统设计、编码、测试和维护...
Trac是一个开源的项目管理工具,特别适用于软件开发项目。它能够帮助团队有效地跟踪项目进展、管理缺陷和需求、记录变更历史等。Trac的核心功能包括: - **问题跟踪:**支持创建、更新和查询问题(或称为“ticket”...
技术积累和业务理解是项目管理新人首要面对的两大任务。在技术层面,新人需要从基础的计算机网络知识入手,深入学习TCP/IP体系框架,掌握开发调试环境,逐步熟悉项目开发流程。这一过程需要持续不断地学习和实践,...
### JAVA后台技术经验分享 ...综上所述,通过上述的技术栈和实践经验分享,我们可以构建一个稳定、高效且可扩展的分布式系统,同时也能通过有效的团队协作和经验分享,进一步提高项目的成功率和团队的整体水平。
另外,分享这个概念要做得特别强,着重体现在分享的卡片设计、分享路径、分享后用户的使用路径等等,必须形成一个非常好的用户体验闭环。 活动流程 活动流程如下:每天第一次免费抽宝箱,随后每次抽宝箱消耗20积分...
2. 学习使用一些产品经理常用的工具,例如Axure、MindManager、JIRA等,这些工具可以帮助产品经理更高效地进行需求管理、项目管理和原型设计。 3. 逛一些产品经理相关的网站和社区,例如产品中国、PMcaff等,从中...
例如,你可能参与了一个电子商务平台的开发,旨在提高销售效率和用户体验。明确说明你在项目中的角色以及项目的最终成果。 2. **技术栈**: 列出你在项目中使用的主要Java技术和框架,如Spring Boot、Hibernate、...
8. 心梓知识:这可能是指一种知识管理方法或者是一种培训方法论,强调个人经验与知识的分享和传承。 综合以上,这个压缩包文件可能是一个关于企业新人培训的综合资料包,内容可能包括培训政策、流程、课程大纲、...
理解并满足团队内不同角色,如技术领导者、项目经理和团队成员的需求,有助于建立一个高效运作的团队。 【销售漏斗管理】在IT项目销售或服务推广中,销售漏斗是一种有效的管理工具,它能帮助管理者跟踪销售进程,从...
【描述】:“[论坛社区]个人写的一个论坛(供新人参考)_lingdabbs(ASP.NET源码).rar”的描述虽然简短,但暗示了这个论坛项目可能是开源或者免费分享的,旨在帮助那些想要学习ASP.NET编程和论坛系统实现的新人。...
总的来说,这份"PMI大会PPT资料"是一个全面而丰富的学习资源,涵盖了项目管理的理论与实践,无论你是初入职场的新人,还是经验丰富的项目经理,都能从中受益匪浅。通过深入学习和理解这些资料,不仅可以增强自身的...
标题"这是一个模仿喜马拉雅lite的微信小程序 - 新人学习.zip"表明这是一个针对初学者的微信小程序项目,它模仿了知名的音频分享平台喜马拉雅的lite版本。"喜马拉雅lite"通常是指该应用的精简版或轻量级版本,可能在...