腾讯scrum项目案例
关于腾讯敏捷框架TAPD(Tencent Agile Product Development)腾讯是一家典型的互联网企业,互联网行业有其鲜明的特点:1.关注用户行为2.追求创新(腾讯有一个创新中心部门)3.需求不确定性高4.快速适应变化5.快鱼吃慢鱼腾讯在敏捷开发方面的实践大致包括3个部分:1.产品:采用FDD,即产品特性开发驱动的一种模式,腾讯的产品会有一个明确的产品经理这样一个角色,他会负责整个产品,包括产品的验证、产品的方向、市场调研、用户调研等。
FDD模式是一种非常适合产品经理来对产品做一些滚动的要求,腾讯在产品设计上引入了类似FDD这样的模式,但是也不完全是FDD,只是参考FDD,所有的开发团队都是由产品经理所归纳出来的产品特性去驱动整个产品的研发。
2.项目管理过程:腾讯采取了SCRUM,但也不完全是SCRUM,有腾讯根据自己的特点去总结的一些实践,大概的项目管理过程同SCRUM的过程是比较类似的,包括每天的晨会、迭代、timebox、每个迭代完成的时候会有showcase、回顾总结等。
3.开发实践:参考了很多XP的实践,就XP完整的实践来说会比较理想化,很多东西不一定在实际开发中能够采纳,所以腾讯也是采纳其中的某些实践,比如自动化测试和持续集成,通过这样的实践就能保证产品有一个快速发布的过程。
在腾讯的敏捷实践中,具体的实践情况是这样的:1.故事墙:就是白板story wall,平时工作中很多团队都会使用,这些团队会把每天开发的一些产品特性采用story的方式每天都在白板里面展示出来,整个团队每天都会围绕这个白板能够清晰的看到整个产品或者整个项目的一个过程,包括整个产品特性的过程。
2.迭代总结:在每一个产品发布的时候都会有一个总结。
具体的做法是,把做得好的、不好的总结出来,做得好的在下一次迭代发扬光大,做得不好的在下一次迭代就要注意改进。
这样的总结是要求项目的所有成员都必须参加,包括项目的开发人员、测试人员、QA、项目经理、产品经理等,每个人都要去去总结他在上一个迭代中碰到了什么问题,通过便签纸的方式贴出来,项目经理实际上可以看成是SCRUM M a s t e r,包括站起来总结这样一些东西,包括我们下一次迭代继续发扬什么,必须要注意什么东西,最后就会得出一个excel的文档,包括上一个迭代中出的问题,具体的解决办法,都会有。
3.每日晨会:每个团队每天大概花15-30分钟,回顾昨天做了什么、昨天有些什么问题、同时也会介绍每个人今天计划做些什么工作(特点:是站着开会)。
最早是通过白板的方式去做,就是每天项目经理组织团队成员对着白板,白板上体现项目的进展情况,通过会议可以很明确的知道昨天大家做到什么样子,今天大家计划做什么,最早的时候每个成员都是口头汇报的。
实践一段时间就发现了一些问题,第一、对于一个20、30人的团队,每天要怎样做晨会,这是目前遇到的比较大的困惑;第二、晨会很容易形式化,究竟带来什么样的效率和效果,目前也在通过一些方式去研究,去探讨。
第三、有一些形式上的呆板,刚开始做会觉得比较有意思,觉得这跟传统做法不一样,每天这样做并且做多了就感觉很枯燥,这也是面临一个挑战。
后来腾讯也做了一些改进,比如为了让成员的参与程度更强一些,包括形式上会更强一些,现在有些团队就会采取每个人轮流主持的方式,刚开始晨会的时候我们也会通过一些好玩的东西去刺激一下某些东西,但是现在看来的话,感觉改进的还是不是很透。
在腾讯内部有一个交流通信的软件,有些项目也开始不采用站起来开晨会的方式,觉得站起来效率也高,就会通过即时通信软件每天去交流,最后由一个人去统一输出,这样能解决一些分布式团队的合作。
所谓分布式团队就是这个团队中有些同事在这个大楼,有些同事是在那个大楼,通过这种实时交流的方式可以解决一些问题。
4.结对编程:并没有很好的实施开来,但是在一些团队里面还是一直在尝试着做结对编程的工作。
一个在编写程序,旁边还有一个人,同时记录编写过程、编写思路、碰到的问题、自己的想法,编写完以后一段时间他们会交换一下,就是互相交换着进行编程,这是一个结对编程的一个过程。
5.时间盒:timebox,在腾讯的产品研发中,产品的每一个迭代都有一个明确的时间盒。
在每一次迭代开始的时候会召开一次IPM会议,即本次迭代的计划会议,会议中团队中的所有成员包括产品人员、开发人员、项目经理、总监、部门领导,一起去敲定本次迭代要完成的任务,一旦任务敲定下来,本次迭代就会严格按照这个去落实执行。
6.一个完整的迭代过程:包括概念、设计、开发、测试和发布五个过程。
在概念阶段,会采用FDD里面提到的一些好的最佳实践来支撑到我们怎么样去敏捷的做需求开发,会制定一些产品发布的计划,比如产品在未来,某个迭代什么时候发布,要发布哪些产品特性,都是在这个阶段做的。
在设计阶段,会做产品原型上的设计。
对于互联网产品说更多的是通过快速原型法快速的让产品在不同范围内去做一些体验,比方产品在某个迭代的一个小迭代里面,可能会在一个团队里面先去体验,可能就会采取发布到公司某一个部门去体验,或者发布到整个公司范围去体验,它会是一个不断放大的一个过程。
在开发和测试阶段,更多的采取XP的一些实践,包括编码规范,代码走读,比如1周一次代码走读,构建持续集成的环境,包括自动化构建,自动化测试等,会有一些好的测试上的实践,如全员测试,就是将测试看成不仅仅是测试人员的工作,更多的是整个团队的工作,当然也包括这个产品的其他同事的工作,通过全员测试来激发大家对产品质量负责。
在发布阶段,腾讯采用的是灰度发布,同传统的软件发布不一样。
项目中整个迭代过程就通过类似SCRUM模式去管理,如有每日晨会,如何建设团队氛围,统一的管理平台,每次迭代完成时的总结回顾等等,这属于项目管理的工作。
还有一些基础的工作,如代码管理,版本管理,文档管理,异地开发管理,这些在腾讯的整个管理体系里面都包含的,还有会制定一些相关的规范,不过规范不是很强硬的要求每一个项目必须执行,更多的由团队自己选择,让他们根据自己团队的特点、规模去选择应该采取哪些实践。
7.灰度发布:这是互联网的一个特点,说白了,就是对用户一个逐步放量的一个过程,而且不要求团队要尽早的将产品包发布出来,也就是不要求马上发布给所有用户,而是会分批的去发布,比如按号段发布,比如在公司内部先体验。
发布的时候也有策略,比如发布时如何放量,对用户有些什么样的实验,技术上怎样做一些后台开关,运营上怎样跟进,怎样保证4小时人员的留守,发布完后怎样收集用户反馈等等都会有一些统一的规则。
比方实验室某WEB产品的发布,可以同时有多个版本,1.1版可能会有100%的用户在用,1.2版可能只有1%的用户在用,它们是一个交叉升级的过程。
8.用户研究:如何加强用户的参与度,这是一种成本比较低的用户研究方法。
通过抓取一些用户数据做分析,分析用户在这个产品上整个体验的过程是怎样的,通过后台的数据可以看到整个活动的曲线,同时CE也可以通过一些科学的手段去保证,包括市场调研、用户研究、数据挖掘、产品体会等,这就是通过一些对用户反馈、用户观察的工具去配合去对用户做研究。
比如QQ拍拍的一个用户的研究,我们可以到现场去做的一个调研,经常会由产品经理和用户研究人员到用户的实际办公地点进行调研,做一天的反馈,通过观察用户一天是如何使用你的产品,配合一些相关的工具去科学的分析。
因为互联网是非常强调同用户的这种反馈的,腾讯有自己内部的一个CE反馈平台,在这个平台上可以收集到所有用户的反馈,产品经理可以每天都会看到他所负责的产品有哪些反馈,包括内部的、外部的,然后他就可以根据这些反馈对产品进行一些快速的调整,包括开发一些什么样的产品特性,内部同事也可以踊跃的在平台上反馈,内部同事本身就是QQ用户。
9.项目管理支撑工具:腾讯内部有一个团队在研究和开发这样一个工具,用来支撑项目管理过程中的工作实践,当然界面不会做得特别好,毕竟是内部团队用的。
比如腾讯的IT工具中实现了故事墙(story wall),就是模拟线下的工作白板,能够把一个迭代分成不同的阶段来看这个story的工作情况,能够很方便的支持每个团队在每天晨会的时候可以对着这样一个界面去做他的这个晨会,比如说有一些story做完了,就可以将它从这个状态拖到下一个阶段的状态,每个团队每一天都会对着这样一个故事墙,就能很清晰的了解到每个成员的工作情况,帮助团队很透明化的去工作,而且目标一致。
这是腾讯在工具上的支持。
10.敏捷团队团队方面的探索:比如QQMail团队是这样的,有产品组、有开发组、UI组、测试组,整个团队都是围绕QQMail去开发,采用了敏捷开发的过程,具体团队成员间分工协作的详细内容大概会有几个要点,第一、从设计上看,每周每个迭代都会有一个IPM会,IPM会要求所有角色一起参加,包括产品经理、项目经理、QA、DE、UI等等,在会议上他们一起讨论产品需求,如产品经理谈谈他了解到的用户反馈,谈谈他从公司领导那了解到多少产品上的要求,谈谈他对这些产品特性的优先级考虑,就在会议上开发人员评估开发这样一个特性大概需要多少工作量,有没有技术上的困难,测试人员也会了解大家讨论的内容,这样使得测试人员能在开发阶段之前就能了解整个产品的需求是怎么样子的,整个团队就这样来讨论并确定一个迭代开发的范围,在开发过程中,所有的角色都会参与,像QQMail 团队,QQMail是一个明确的产品,07年整个用户量翻了10倍,就是采用的敏捷开发,在QQMail产品开发过程中有一个要求,就是开发人员和测试人员在每完成一个需求都要进行一次showcase,即每开发完一个产品需求,要把产品经理、开发组、测试组都叫到一起,一起来总结一下这个产品特性开发到什么样子,是不是有比较好的用户体验,是不是满足一些预想的东西,而且也会对一些用户进行调研,也就是让用户参与到产品的测试中来。
会采取全员测试的过程,即测试人员、开发人员、产品人员、UI人员会参与测试,并且每个人在开发一个需求完后,都要去做测试,而且也会进行交叉测试,比如这个开发人员会去测试一下其他开发人员开发的东西,所以在腾讯是希望全员测试的理念能够深入到团队里面去,在上线后的4个小时里也会要求人员留守,去看看这个产品后台统计的数据,及时分析用户的行为,去发现用户对这个特性的感觉是怎样的,用户的反应是怎样的,看看会不会出一些错误,这个就是4个小时内必须留守的制度。
QQMail从06年、07年到08年的一个发展情况可以看到整个团队的心情曲线是逐步向好的方向发展的,QQMail最早在06年的时候,本身实际是存在很多的问题,比如需求太过于前卫,因为跟用户脱节,团队内部幻想着提供什么样的产品特性给用户,采取一些什么样的技术架构去做一些更好的体验,比如06年采用了很强的Ajax框架,前台架构完全是通过Ajax去实现的,由此带来了很多的问题,而且当时它整个team的要求也非常高,搞得整个团队比较疲惫,在06年中期就有一个小小的改变,包括对整个产品在性能上的改变,但实际上对于团队来说还是比较被动的去接受,就是比较被动的去感受用户的变化,对产品究竟怎么走、怎么营收整个团队都比较茫然。
软件开发成功案例3个
软件开发成功案例3个导读:我根据大家的需要整理了一份关于《软件开发成功案例3个》的内容,具体内容:软件开发,是根据用户要求建造出软件系统或者系统中软件部分的一个产品开发的过程。
以下是我分享给大家的关于软件开发成功案例,欢迎大家前来阅读!软件开发成功案例篇1:2011...软件开发,是根据用户要求建造出软件系统或者系统中软件部分的一个产品开发的过程。
以下是我分享给大家的关于软件开发成功案例,欢迎大家前来阅读!软件开发成功案例篇1:2011年08月编委专家简介陈志波陈志波博士目前是Technicolor中国研究院多媒体实验室主任,视频处理/编码/媒体质量分析领域的专家,国际电气与电子工程师学会(IEEE)多媒体技术委员会成员,并是一些国际多媒体会议的组织委员会和程序委员会成员。
作为公司首先启动敏捷式研究管理的项目负责人,有四年以上的利用敏捷式(Agile)管理流程管理研究和创新团队的经验。
单岚任职于用友医疗卫生信息系统有限公司,担任研发中心-R应用开发部开发经理。
2001年7月-2004年1月,任职于中科软件集团,担任开发人员。
2004年2月-2010年4月,任职于用友软件股份有限公司客户化开发部,担任项目经理。
从2010年4月至今,担任用友医疗卫生信息系统有限公司的开发经理。
目前作为R6产品的开发经理,主导并实施了项目实施支持网系统,在研产品并不成熟的情况下交付了多个项目,有效的打通了一线实施与研发部门的沟通渠道,并对在研产品的功能和易用性上做了非常大的提高和完善。
高航任职于用友医疗卫生信息系统有限公司,担任G应用开发部开发经理。
从事软件开发5年,精通JAVA系列技术,熟悉Delphi技术。
在社保和医疗行业有着丰富的业务建模和系统架构经验。
目前专注于软件研发团队的管理、软件研发流程的工具化实践与优化,并积极探索敏捷化开发在工程实践中的应用。
顾焱任职于用友软件股份有限公司,担任NC产品本部副总经理。
软考中项案例题
软考中项案例题近年来,随着信息技术的迅猛发展和应用,软件工程师这一职业逐渐受到社会各界的重视。
软考作为软件工程师必备的资格认证考试,不仅对专业知识和技能进行考核,还注重考察解决实际问题的能力。
本文将结合一道软考中的项案例题,介绍解决该问题时的思路和方法。
【案例题背景】某电商平台规划开发一套海外仓系统。
项目组成员包括需求工程师、设计师、开发工程师和测试工程师。
为了提高开发效率和保障项目质量,项目组决定采用敏捷开发方法,具体使用Scrum框架作为项目管理和协作的工具。
【案例题要求】现在,请你分析并解答以下问题:1. 简述Scrum框架的核心理念和基本流程。
2. 假设你是项目组中的一个开发工程师,详细描述你在Scrum框架下的日常工作内容和流程。
3. 假设项目组在开发过程中遇到了一些问题,如进度滞后、需求变动频繁等,请提出你认为解决这些问题的建议。
【解析与答案】1. Scrum框架的核心理念和基本流程Scrum是一种敏捷开发的框架,通过将成员分为产品负责人、开发团队和Scrum Master,实现项目透明、优化迭代周期和最大化价值交付。
其核心理念是持续迭代、自组织和跨功能团队合作。
Scrum框架的基本流程分为以下几个阶段:a. 产品待办项管理:产品负责人将待办项整理成产品待办列表(Product Backlog),并根据价值和风险进行排序。
b. 迭代规划会议:每个迭代开始前,Scrum团队开展迭代规划会议,共同决定本次迭代要实现的目标和待办项,将其添加到迭代待办列表(Sprint Backlog)中。
c. 每日站会:开发团队每天进行15分钟的站会,讨论昨天的工作、今天的计划和遇到的问题,以保持团队的信息共享和沟通。
d. 迭代开发:开发团队根据迭代待办列表完成开发工作,周期一般为2周到1个月。
e. 迭代评审会议:每个迭代结束后,团队和利益相关者一起进行评审,展示已完成的功能,并根据反馈进行迭代优化。
f. 迭代回顾会议:团队在迭代结束后开展回顾会议,总结迭代中的问题和改进措施,为下一轮迭代提供经验总结。
软件项目可行性报告
软件项目可行性报告软件项目可行性报告是为了评估一个软件项目的可行性而编写的文档。
它包括了项目的背景、目的、目标、可行性分析以及项目的优点和缺点等内容。
项目可行性报告的主要目的是帮助投资人或者企业做出正确的决策,即是否要推进这个项目或者抛弃这个项目。
接下来我们将列举三个成功的软件项目案例。
1. 微信微信是一款免费的即时通讯软件,由腾讯公司开发。
在微信发布前,腾讯公司根据市场需求和竞争对手来分析和评估了这个项目的可行性。
随着移动互联网的迅猛发展,微信在短时间内就创造了巨大的用户基础,成为了国内外最受欢迎的通讯工具之一。
此外,微信的广告营销和支付功能也带来了巨大的商业价值。
2. Apple MusicApple Music是苹果公司开发的音乐流媒体服务,它通过用户的个人音乐库和流媒体平台,向用户提供了无限畅听音乐的机会。
在决定是否要投资Apple Music项目之前,苹果公司进行了深入的市场研究和可行性分析。
他们注意到了用户消费增长的趋势,并致力于将传统的数字音乐服务转化成流媒体业务。
在短时间内,这个服务就在全球获得了庞大的用户群体。
3. ZoomZoom是一款视频会议软件。
它的成功主要归功于其简单易用、稳定可靠的品质。
在众多视频会议平台的竞争中,Zoom通过对产品的出色设计、对用户需求的精准预测、对客户服务的高效支持等优势,迅速占领了市场。
Zoom的成功证明了,通过细致的市场调查和有效的可行性分析,企业可以很好地把握行业趋势和获取大量用户。
综上所述,可行性报告是一个项目成功的重要组成部分。
通过准确的分析和评估,企业可以减少不必要的风险,提高项目成功的概率。
上述三款项目的成功背后,都有着深入的市场研究、科学的可行性分析和企业的精益求精。
对于一个软件项目,可行性报告每个阶段都需要被认真编写,以确定项目的细节、技术难点、时间和资源要求、最初投资成本以及长期盈利计划等方面。
同时,为确保可行性报告的准确性,需要结合市场需求、技术发展趋势、用户需求等相关因素进行分析。
内部创业成功案例
内部创业成功案例内部创业是指在现有企业内部孵化新的业务或项目,通过内部创业可以为企业带来新的增长点,提升企业的竞争力。
下面列举了十个成功的内部创业案例。
1. 谷歌地图:谷歌内部的地图项目最初是由一小组工程师在业余时间开展的内部创业项目。
该团队通过整合地理信息和搜索技术,打造了一款功能强大、用户体验优秀的地图应用。
最终,谷歌地图成为了全球最受欢迎的地图服务之一,为谷歌带来了巨大的商业价值。
2. 亚马逊云计算:亚马逊内部的云计算服务最初也是一项内部创业项目。
该团队通过将亚马逊数据中心的闲置计算资源对外出租,提供弹性计算和存储服务。
亚马逊云计算迅速成长为全球最大的云计算服务提供商之一,为亚马逊带来了可观的收入。
3. 微软Office软件:微软内部的Office团队最初是一支小规模的团队,通过创新的思维和技术实力,开发出了一套功能强大的办公软件套件。
微软Office软件成为全球办公软件的标准之一,为微软带来了巨大的商业成功。
4. 苹果iPhone:苹果内部的iPhone项目是由一支小团队在内部创业的结果。
他们通过整合手机、音乐播放器和互联网功能,打造了一款革命性的智能手机。
iPhone的成功为苹果带来了巨大的市场份额和利润。
5. 腾讯微信:腾讯内部的微信团队通过创新的思维,开发出了一款功能强大的即时通讯应用。
微信的成功使腾讯成为全球最大的社交媒体公司之一,为腾讯带来了巨大的商业价值。
6. 京东物流:京东内部的物流团队通过自建物流网络,提供快速、可靠的物流服务。
京东物流的成功提升了京东的竞争力,为京东提供了差异化的服务。
7. 美团外卖:美团内部的外卖团队通过整合外卖餐厅和消费者的需求,建立了一套高效的外卖配送系统。
美团外卖的成功为美团带来了巨大的用户增长和收入。
8. 360安全卫士:360内部的安全团队通过创新的安全技术,开发了一款功能强大的安全软件。
360安全卫士的成功使360成为中国最大的互联网安全公司之一,为公司带来了可观的收入。
SCRUM敏捷开发基础及失败成功案例分析
SCRUM敏捷开发基础及失败成功案例分析SCRUM敏捷开发是一种软件开发方法,主要用于大型软件开发项目。
它的发展可以追溯到20世纪80年代,在软件开发领域经历了多次失败和成功的案例。
本文将探讨SCRUM敏捷开发的基础知识,并通过案例分析来评估其成功和失败。
首先,我们来了解SCRUM敏捷开发的基础知识。
SCRUM是一种迭代增量式开发方法,以迭代周期为基础,通过团队协作和自组织来实现项目目标。
在SCRUM中,项目被划分为多个短期时间框架,称为“Sprint”。
每个Sprint的持续时间通常在1到4周之间。
每个Sprint期间,团队会完成一部分功能,这些功能是可用的软件的增量。
SCRUM敏捷开发的关键角色包括:产品负责人、SCRUM团队和SCRUM 主管。
产品负责人负责指导团队开发的产品,确定优先级和功能。
SCRUM 团队是开发和测试团队,他们负责根据产品负责人的需求,完成Sprint 中的工作。
SCRUM团队通常由开发人员、测试人员和质量保证人员组成。
SCRUM主管负责推动团队协作和实施SCRUM流程。
SCRUM敏捷开发的核心理念是“透明、检验和调整”。
在每个Sprint 期间,SCRUM团队会进行Daily Standup Meeting,以分享他们的进展和问题。
这种简短的会议促进了团队成员之间的沟通和协作,并帮助团队快速检测和解决问题。
另外,SCRUM敏捷开发也强调迭代开发和持续改进,通过每个Sprint的评审和回顾,团队可以根据反馈来调整和改进产品。
然而,SCRUM敏捷开发也存在失败的案例。
一个典型的失败案例是“医疗保健服务”公司的软件开发项目。
在这个项目中,SCRUM团队试图应用SCRUM敏捷开发来开发一款医疗保健信息系统,以满足不断变化的需求。
然而,由于团队成员缺乏SCRUM敏捷开发的知识和经验,以及项目管理不善,导致项目最终失败。
团队无法按时交付产品,并出现了严重的质量问题。
相比之下,还有一些成功的SCRUM敏捷开发案例。
敏捷革命
《敏捷管理方法》——“提升个人创造力与企业效率的全新协作模式”〔美〕杰夫·萨瑟兰让我们来一起了解一种可以快速迭代的高效创新的管理方法。
这个方法的英文名字叫做Scrum,我们叫它敏捷管理方法。
敏捷管理方法最开始只是一套软件的开发方法,后来很多公司的高层发现,把这个方法运用到管理中也很高效。
因为这个方法不仅可以加速交付产品,快速让成果可视化,还能增进员工之间的合作。
“产品教父”张小龙就曾经用这个方法在刚到腾讯的时候一战成名。
他在06年的时候要接手QQ邮箱,当时这个产品已经濒临死亡了,对谁来说都是一个烫手山芋。
张小龙分析了这个项目面临困境的基本原因,利用本书中的敏捷管理方法,迅速成立了一个敏捷小队,对几大点失败原因快速排查,迅速解决修复,终于让QQ邮箱触底反弹,起死回生。
从此以后,他一直在管理中应用敏捷管理方法,快速迭代,做出了微信日活量八亿的好成绩。
除了张小龙以外,还有好多公司都推崇这个管理方法。
美国联邦调查局曾经用它开发虚拟按键档案系统,通用电气利用它加速实现数字行业公司的转型。
这套神奇的管理方法被评为管理学中的诺贝尔奖,它在全球五百强企业和硅谷新创公司里面掀起了一场敏捷革命。
那到底什么是敏捷管理方法呢?Scrum这个词原本是橄榄球运动里面的一个专业术语,翻译过来叫做“争球”,意思:就是整个团队通力合作,在场地内传球。
这个传球的过程需要所有成员认真配合,信念一致,并且目标明确,这个过程体现了对一个高效合作团队的所有要求。
在2011年初,这本书的作者和另外16位软件开发领域内的领军人物在美国犹他州的一场秘密会议上拟定了敏捷软件开发宣言,正式把敏捷管理这种高效的方法命名为Scrum。
本书作者杰夫•萨瑟兰被誉为“Scrum之父”,是敏捷管理方法的发明者和共同创造人,也是敏捷宣言的起草人。
他曾经先后担任了十一家软件公司的首席执行官和首席技术官,积累了丰富的项目管理经验。
2006年,他成立了自己的公司,提供敏捷管理方法的培训服务。
腾讯scrum项目案例
关于腾讯敏捷框架TAPD(Tencent Agile Product Development)腾讯是一家典型的互联网企业,互联网行业有其鲜明的特点:1.关注用户行为2.追求创新(腾讯有一个创新中心部门)3.需求不确定性高4.快速适应变化5.快鱼吃慢鱼腾讯在敏捷开发方面的实践大致包括3个部分:1.产品:采用FDD,即产品特性开发驱动的一种模式,腾讯的产品会有一个明确的产品经理这样一个角色,他会负责整个产品,包括产品的验证、产品的方向、市场调研、用户调研等。
FDD模式是一种非常适合产品经理来对产品做一些滚动的要求,腾讯在产品设计上引入了类似FDD这样的模式,但是也不完全是FDD,只是参考FDD,所有的开发团队都是由产品经理所归纳出来的产品特性去驱动整个产品的研发。
2.项目管理过程:腾讯采取了SCRUM,但也不完全是SCRUM,有腾讯根据自己的特点去总结的一些实践,大概的项目管理过程同SCRUM的过程是比较类似的,包括每天的晨会、迭代、timebox、每个迭代完成的时候会有showcase、回顾总结等。
3.开发实践:参考了很多XP的实践,就XP完整的实践来说会比较理想化,很多东西不一定在实际开发中能够采纳,所以腾讯也是采纳其中的某些实践,比如自动化测试和持续集成,通过这样的实践就能保证产品有一个快速发布的过程。
在腾讯的敏捷实践中,具体的实践情况是这样的:1.故事墙:就是白板story wall,平时工作中很多团队都会使用,这些团队会把每天开发的一些产品特性采用story的方式每天都在白板里面展示出来,整个团队每天都会围绕这个白板能够清晰的看到整个产品或者整个项目的一个过程,包括整个产品特性的过程。
2.迭代总结:在每一个产品发布的时候都会有一个总结。
具体的做法是,把做得好的、不好的总结出来,做得好的在下一次迭代发扬光大,做得不好的在下一次迭代就要注意改进。
这样的总结是要求项目的所有成员都必须参加,包括项目的开发人员、测试人员、QA、项目经理、产品经理等,每个人都要去去总结他在上一个迭代中碰到了什么问题,通过便签纸的方式贴出来,项目经理实际上可以看成是SCRUM Master,包括站起来总结这样一些东西,包括我们下一次迭代继续发扬什么,必须要注意什么东西,最后就会得出一个excel的文档,包括上一个迭代中出的问题,具体的解决办法,都会有。
管理学实训作业—腾讯公司案例分析
实践名称:腾讯公司的管理学案例实践系、专业、班级:工商管理系国贸1301 姓名:学号:成绩:指导教师:2014年6月4日目录一、企业简介 (01)(一)公司早期 (01)(二)发展受阻 (01)(三)腾飞时期 (02)二、案例扩展 (02)(一)产业链定位 (02)(二)盈利模式 (02)(三)创新性 (02)(四)战略模式 (02)三、理论支持 (03)(一)组织结构 (03)(二)企业文化 (04)(三)人才管理 (04)(四)STOW分析 (04)1.市场优势(Strengths) (04)2.竞争劣势(Weakness)........................................................................................ . (04)3.市场机会(Opportunity) (05)4.市场威胁(Threats) (05)四、腾讯公司管理的成功与失败 (05)(一)灵活的营销策略 (05)1.病毒式营销 (05)2.植入式营销 (05)3.个性化品牌营销 (05)(二)模仿与创新 (05)(三)低调而实干的领导群 (06)(四)完备的激励体系 (06)(一)微创新仍待提高 (06)(二)用户低龄化 (07)(三)人才缺失 (07)(四)安全隐患多 (07)(五)国际化面临问题 (07)五、如何解决方案中的失败 (07)(一)加强业务创新 (08)(二)提升品牌影响力 (08)(三)加强人力资源建设 (08)(四)建立多维度立体安全体系 (08)(五)走向国际化 (09)六、对中国企业的启示 (09)(一)抓住机遇,勇于创新 (09)(二)知己知彼,百战不殆 (09)(三)高效的组织管理能力 (10)(四)扁平的组织结构 (10)(五)挖掘用户的需求和体验 (10)(六)完善的服务体系 (10)流水日记 (11)一、企业简介腾讯控股有限公司(腾讯)是一家民营IT企业,成立于1998年11月29日,总部位于中国广东深圳,董事会主席兼首席执行官是马化腾,其主要产品有IM软件、网络游戏、门户网站以及相关增值产品。
《软件工程与项目管理》第10章-软件项目管理
项目收尾过程
要点一
验收项目成果
组织相关干系人对项目成果进行验收,确保项目目标已实 现。
要点二
总结经验教训
对项目执行过程中的经验教训进行总结,为今后的项目提 供借鉴和改进依据。
04
软件项目管理工具与技术
项目管理软件工具
微软Project
Trello
一款功能强大的项目管理软件,提供 项目计划制定、任务分配、进度跟踪 等功能。
进度与Hale Waihona Puke 本的控制进度与成本控制挑战
软件开发过程中,进度延误和成本超 支是常见问题。
解决方案
制定详细的项目计划,合理分配资源 ,加强项目监控和调整,确保项目按 计划进行并控制成本。
质量保证与测试
质量保证与测试挑战
软件质量是软件项目的核心要求之一,但质量保证与测试过程中可能存在疏漏 和不足。
解决方案
Extreme Programming
一种敏捷开发方法,强调编程实践和持续集成,适合需求变化频繁 的项目。
统一过程方法
统一建模语言(UML)
一种用于软件工程的标准化建模语言,支持从需求分析 到系统设计的全过程。
统一过程(UP)
一种结构化的软件开发过程,包括初始阶段、细化阶段 、构建阶段和交付阶段。
保证按时交付
降低风险
通过有效的进度管理和时间安排,可以确 保软件按时交付给客户。
项目管理有助于识别和评估软件开发过程 中可能出现的风险,并采取相应的措施来 降低或消除这些风险。
软件项目管理的历史与发展
20世纪60年代
软件工程的概念开始出现, 人们开始意识到软件开发需 要系统化的管理方法。
20世纪80年代
预测完成项目所需的总成本。
敏捷开发案例
敏捷开发案例敏捷开发是一种迭代、增量的软件开发方法,它强调的是灵活性和快速响应变化。
在敏捷开发中,团队成员之间的合作和沟通至关重要,以便及时地调整和改进软件产品。
本文将通过一个实际案例来介绍敏捷开发的应用和优势。
某软件公司在开发一款新的在线购物平台时,决定采用敏捷开发方法。
在项目启动初期,团队成员进行了需求分析和用户故事的编写,然后将它们转化为产品特性和任务清单。
这些任务被分配给团队成员,并在短期内完成。
通过这种方式,团队能够快速地推出第一个可用版本,然后根据用户反馈和市场变化进行调整和改进。
在敏捷开发过程中,团队采用了每日站会、迭代开发和持续集成等实践。
每日站会是团队成员每天进行的短暂会议,用于分享进展、讨论问题和协调工作。
迭代开发则是将整个开发周期分成多个短期的迭代,每个迭代都会产生一个可用的软件版本。
持续集成是指将代码的改动频繁地集成到主干上,以便及时地发现和解决问题。
通过敏捷开发,这款在线购物平台在较短的时间内推出了第一个版本,并不断地进行迭代和改进。
团队能够根据市场反馈和用户需求及时地调整产品功能,并保持产品的竞争力。
与传统的瀑布模型相比,敏捷开发更加灵活和高效,能够更好地适应变化和风险。
敏捷开发的成功案例不仅仅局限于软件开发领域,它也可以应用于其他项目和团队。
通过敏捷开发,团队能够更快地响应变化,更好地满足用户需求,更高效地完成项目。
因此,敏捷开发已经成为许多企业和团队的首选开发方法。
总之,敏捷开发通过迭代、增量和灵活的方式,能够更好地适应变化和风险,更快地推出可用的产品,并不断地进行改进和优化。
在当今快速变化的市场环境下,敏捷开发已经成为许多企业和团队的首选方法,它将继续发挥重要作用,并推动软件开发的进步和创新。
