敏捷开发实践 拥抱变化的产品开发流程管理
敏捷开发项目管理流程

敏捷开发项目管理流程你知道敏捷开发项目管理流程是怎样的吗?你对敏捷开发项目管理流程了解吗?下面是为大家带来的敏捷开发项目管理流程,欢迎阅读。
1.目的规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动。
2.适用范围本章程的作用范围为互联网软件产品开发立项至结项管理过程。
1.对项目经理开展产品规划及设计活动以及项目管理手段和应遵循的开发流程提供了指导;2.对项目团队的日常管理活动及内容进行了指导;3.角色及职责定义项目经理:进行产品开发过程中的业务目标、进度、成本、质量控制。
挑选项目团队并进行团队建设,激发、鼓舞和改进团队的生产效率。
识别项目干系人,定期向干系人汇报,并作为团队和外部的接口,屏蔽外界对团队的干扰。
确保项目中流程被遵循,组织、监督、培训项目各实践活动。
产品策划确定产品的功能,拆分用户故事。
需求功能确定优先级。
接受或拒绝开发团队的工作成果。
参与产品开发过程中的有关会议。
UI根据用户故事,负责产品的功能交互及界面设计组织开展人机交互及用户体验,不断跟踪改进,提高产品表现力。
参与产品开发过程中的有关会议。
开发根据用户故事,负责产品的技术架构设计及功能开发评估、设计及维护产品相应模块,确保模块的稳定性、易用性、高效性。
参加产品开发过程中的有关会议。
测试根据用户故事,设计产品测试标准,确保产品品质满足市场需求。
合理分配测试资源,组织产品测试并优化测试流程及测试标准,提高测试效率。
编写产品测试用例,提交测试问题,编写测试总结报告,以测试角度来确定产品版本是否发布。
4.项目管理过程按照互联网软件产品项目开发过程,可将整个项目管理过程分为立项过程、规划过程、执行与监控过程、结项过程。
下面分别阐述在每个阶段过程中该如何进行项目管理。
4.1立项过程互联网软件产品开发项目的立项过程,通常是指从准备项目启动会到召开会议这个阶段,在立项过程中,需要完成项目目标,需求范围的初步确认,项目团队成员,其他资源的安排。
产品开发管理 方法, 流程,工具

产品开发管理方法, 流程,工具产品开发管理是指通过对产品的定义、规划、执行和监控,使其按照既定目标、要求和时间表顺利完成的管理过程。
在现代商业环境中,产品开发管理是企业获得竞争优势的重要手段之一。
本文将从方法、流程和工具三个方面,探讨产品开发管理的相关内容,旨在提供对产品开发管理有兴趣的读者一个全面的了解。
方法:1. 市场调研:在进行产品开发之前,首先需要进行充分的市场调研,了解市场需求、竞争对手情况,以及新兴技术趋势,从而为产品开发提供有力的依据。
2. 敏捷开发:敏捷开发是当前产品开发中的一种主流方法,其核心理念是快速迭代、持续交付和快速响应变化。
敏捷开发方法能够提高产品开发的灵活性和响应速度。
3. 设计思维:产品开发中引入设计思维方法能够更好地理解用户需求,激发创新灵感,提升产品体验和价值。
流程:1. 产品规划阶段:明确产品的定位、目标市场、核心功能和竞争策略,确定产品开发的方向和重点。
2. 产品设计阶段:进行产品原型设计、界面设计、交互设计,明确产品的外观、操作流程和用户体验。
3. 研发与测试阶段:进行软件、硬件、功能的开发与测试,确保产品符合设计要求并达到预期效果。
4. 上线与运营阶段:进行产品上线推广、运营和用户反馈收集,不断优化产品,满足用户需求。
工具:1. 项目管理工具:如Trello、Jira等,用于项目进度跟踪、任务分配和团队协作。
2. 原型设计工具:如Axure、Sketch等,用于产品原型设计和交互设计,帮助团队快速验证产品设计想法。
3. 版本控制工具:如Git、SVN等,用于团队协同开发,管理不同版本的代码。
4. 用户调研工具:如问卷星、调研易等,用于进行用户调研、需求收集和用户反馈。
产品开发管理方法、流程和工具对于企业发展至关重要,能够帮助企业更加高效地进行产品研发,提高产品质量和用户体验,从而在市场竞争中获得优势。
希望读者通过本文的介绍,对产品开发管理有了更深入的理解,能够在实践中取得更好的效果。
敏捷开发流程的8个步骤

敏捷开发流程的8个步骤
1、目标制定,目标对齐:通过市场调研、业务思路、风险评估制定公司规划和目标,根据这一目标产生所有部门的目标并实现对齐;
2、产品规划:产品研发部门根据目标制定产品关键路线图,这个路线图中分布着不同的产品特性和其完成时间;
3、组织产品待办列表:产品规划产生的需求、客户需求、市场人员收集到的缺陷等将组成产品待办列表;
4、需求梳理:然后产品负责人(Product Ower)对这个列表进行梳理,并在需求梳理会(Backlog Grooming Meeting)讲解具体每一个需求,团队成员根据需求的复杂程度评估每个任务的工作量,输出本次迭代的待办事项列表,完成优先级排序等工作;
5、迭代规划:通过Sprint计划会,明确要执行的工作、冲刺目标等,
6、迭代开发:期间会进行每日站会、性能测试、CodeReview、Demo、测试等工作;
7、Sprint评审:由每个任务的负责人演示其完整的工作,由PO确定Sprint目标是否完成,版本什么时候对外发布,新增bug的紧急程度等等。
8、开回顾会议:回顾会议由Scrum团队检视自身在过去的Sprint的表现,包括人、关系、过程、工具等,思考在下一个Sprint中怎么样可以表现得更好,更高效,怎么样可以和团队合作地更愉快。
敏捷开发的管理办法

**敏捷开发的管理办法**敏捷开发是一种以迭代、增量和协作为核心的软件开发方法。
它强调快速响应变化、持续交付价值和团队自组织等原则。
为了有效地实施敏捷开发,需要采取一些管理办法来提高团队的协作效率和项目的成功率。
以下是一些敏捷开发的管理办法,包括明确目标、制定优先级、迭代规划、持续反馈、团队自组织、跨功能合作、持续改进和适应变化。
一、明确目标在敏捷开发中,明确目标非常重要。
团队成员应该清楚地了解项目的愿景和目标,并将其转化为可执行的任务和需求。
明确的目标有助于团队集中精力、协调行动,并提高工作效率。
二、制定优先级在敏捷开发中,团队应该根据项目的价值和风险,制定任务和需求的优先级。
通过设定优先级,团队可以集中精力解决最重要的问题和需求,并在每个迭代中交付高价值的功能和成果。
三、迭代规划敏捷开发通过迭代的方式进行工作。
团队应该进行迭代规划,即在每个迭代开始时确定要完成的任务和需求。
迭代规划需要考虑项目目标、优先级和资源等因素,并制定相应的计划和时间表。
四、持续反馈敏捷开发强调持续反馈和学习。
团队应该与利益相关者保持密切的沟通和反馈,及时了解需求变化和用户反馈,并据此做出调整和改进。
持续反馈有助于提高产品质量、满足用户需求,并增加团队对项目的理解和参与度。
五、团队自组织在敏捷开发中,团队应该具备自组织和自主决策的能力。
团队成员应该共同决定任务分配、工作流程和问题解决方法等。
团队自组织有助于激发成员的创造力、承担责任和合作精神。
六、跨功能合作敏捷开发强调跨功能合作。
团队成员应该具备不同领域的技能和知识,并互相协作,以实现项目的成功。
跨功能合作可以促进知识共享和团队的全面发展,提高工作效率和质量。
七、持续改进敏捷开发是一个持续学习和改进的过程。
团队应该不断反思和评估自己的工作方式和结果,并寻找改进的机会。
这可以通过定期的回顾会议、团队讨论、客户反馈等方式来实现。
持续改进有助于提高团队的协作能力、产品质量和项目交付效率。
软件工程中的敏捷开发模型与实践

软件工程中的敏捷开发模型与实践敏捷开发是一种在软件工程中广泛应用的开发模型,其主要目标是根据实际需求的变化快速交付高质量的软件产品。
敏捷开发模型与传统的瀑布模型相比,更加注重迭代开发和用户反馈,能够更好地适应不断变化的需求和市场环境。
本文将详细介绍敏捷开发模型的步骤和实践。
一、敏捷开发模型的步骤1. 项目计划和需求收集首先,团队成员应该进行项目计划和需求收集,明确项目的目标和范围。
可以通过与客户和用户的沟通,了解他们的真实需求,并进行需求分析和规划。
2. 用户故事编写在敏捷开发中,用户故事是一种常用的需求分析工具。
开发团队应该与客户一起编写具体的用户故事,描述用户的需求和期望。
用户故事通常包括谁想要什么,为什么需要以及用户怎样使用这个功能等信息。
3. 全体计划和迭代规划在全体计划会议上,团队成员可以一起讨论并制定更详细的迭代计划。
根据用户故事的优先级和复杂度,确定团队在每个迭代中要完成的任务和功能。
迭代规划可以帮助团队更好地安排工作,并在每个迭代中合理地分配资源。
4. 迭代开发和测试在每个迭代中,团队将根据迭代计划开始开发和测试工作。
开发人员应该根据用户故事的要求编写代码,并及时进行单元测试。
测试人员则需要进行功能和系统测试,以确保软件的质量和稳定性。
5. 接受测试和用户反馈在每个迭代结束后,软件团队应该将已开发的功能交付给用户,进行接受测试。
用户可以根据自己的需求,对软件进行测试和评估,并提供反馈和建议。
开发团队应该根据用户反馈,对软件进行改进和调整。
6. 迭代回顾在每个迭代结束后,开发团队应该进行迭代回顾。
回顾会议的目的是评估团队的工作表现,总结经验教训,并找出可以改进的地方。
通过迭代回顾,团队可以逐步提高工作效率和软件质量。
7. 迭代发布和维护当团队完成所有迭代,并将软件功能完善后,可以进行最终发布。
发布后,团队还需要进行软件的维护工作,包括修复bug、提供技术支持和持续改进等。
二、敏捷开发模型的实践1. 小团队合作敏捷开发更适合小团队合作,团队成员之间的沟通更加密切。
敏捷开发在项目开发和管理中的实践和应用

敏捷开发在项目开发和管理中的实践和应用摘要敏捷开发已深入互联网产品的研发和团队管理过程,当前互联网+时代要求软件研发企业在面对市场需求是要能够做到快速响应,传统的瀑布开发模式已经不能满足互联网企业一系列的需求。
敏捷开发提倡拥抱变化、高效沟通、持续交付、紧密协作,强调团队的自组织,本文根据实际应用情景,谈一谈在敏捷开发过程中,通过简化工作流,提升团队协作和沟通,来提高项目管理的效率,降低成本、实现产品的快速交付。
关键词敏捷开发;信息系统;项目管理;软件开发敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方式,目前主要有Scrum、XP和看板模式。
敏捷采用的是迭代式开发,主要驱动核心是人。
目前许多敏捷开发在实际应用还处于摸索阶段,只注重“形”,为不注重“神”,通过多个敏捷项目的实践,在采用一种新的模式的时候,最好结合实际进行本地化的适配。
1 敏捷项目的需求确认与任务分解敏捷项目是欢迎用户需求变化的,项目开始阶段不需要完整的需求,但也要能准确获取客户的需求,系统原型设计是使用最普遍的方法。
给客户演示原型并不断修改原型直至客户确认,可以有效地与用户针对系统的功能与可用性进行验证,节省开发前研发资源的投入,确保构建系统的正确性,开发初期原型设计的开支远低于开发实际系统的开支。
常用的原型设计工具:Axure RP、Microsoft Visio、网页制作工具。
在管理用户需求时,产品负责人(Product Owner,简称PO)要将需求整理成用户故事,用户故事通过product-backlog(产品backlog)进行记录。
在每个迭代开始之初,由团队负责人(Scrum Master,简称SM)召开sprint计划会议,PO负责需求的讲解,开发团队通过需求的理解,一起进行用户故事的估算。
在计划会议中需要确认需求优先级、分析和评估产品Backlog,确定迭代的目标,分解工作内容,形成迭代任务(Sprint backlog),然后为本次迭代任务做估算;团队成员从产品Backlog中挑选他们承诺完成的用户故事。
敏捷开发中的产品演进与产品路线图

敏捷开发中的产品演进与产品路线图敏捷开发在当今软件行业中越来越受到关注和应用。
它强调快速响应客户需求、持续交付、团队协作和迭代开发。
然而,在敏捷开发中,产品演进和产品路线图的管理也变得至关重要。
本文将探讨敏捷开发中产品演进与产品路线图的实践方法和关键要素。
一、产品演进敏捷开发强调快速响应客户需求和持续交付,产品演进是实现这一目标的关键环节。
在敏捷开发中,产品演进需要考虑以下几个方面。
1. 客户反馈与需求识别:敏捷开发的核心是持续改进,客户的反馈和需求识别是推动产品演进的关键。
开发团队应通过与客户的紧密协作,收集反馈意见,并准确识别客户的需求。
2. 优先级排序与计划制定:在敏捷开发中,开发团队需要将收集到的需求按照优先级进行排序,并制定相应的开发计划。
优先级排序考虑客户价值、业务目标和市场需求等因素。
3. 增量交付和快速反馈:敏捷开发强调持续交付和快速学习,产品演进需要以增量交付的方式进行。
开发团队通过持续测试、交付和客户反馈,不断优化产品。
二、产品路线图产品路线图是指产品在未来一段时间内的发展方向和计划。
在敏捷开发中,产品路线图有助于提供产品演进的整体视野和规划。
1. 定义产品愿景:产品路线图的第一步是明确产品愿景。
产品愿景清晰地描述了产品的核心目标和期望的市场地位。
2. 制定战略目标:产品路线图需要根据产品愿景制定具体的战略目标。
战略目标包括产品功能、合作伙伴关系、市场份额和收益预期等。
3. 确定阶段性里程碑:产品路线图需要将整个发展过程划分为阶段,并确定每个阶段的里程碑。
里程碑是衡量产品进度和成果的关键点。
4. 与利益相关者的交流与沟通:产品路线图应与利益相关者进行充分的交流与沟通。
这些利益相关者包括客户、开发团队、高管以及市场部门等。
5. 灵活性和适应性:敏捷开发的核心是灵活性和适应性,产品路线图也需要具备这两个特点。
产品路线图应对市场变化和客户需求的变化保持敏感,并及时进行调整和优化。
三、实践方法和关键要素敏捷开发中的产品演进和产品路线图需要结合实践方法和关键要素。
产品开发的流程及管理制度

产品开发的流程及管理制度一、需求分析阶段:1.定义产品目标:明确产品的定位、目标用户群及解决的问题。
2.竞争分析:研究市场上已有产品并分析其特点、优缺点。
3.用户调研:通过问卷调研、用户访谈等方法了解用户需求,确定产品功能和特性。
4.需求分析:根据用户调研结果,将用户需求转化为产品功能需求和非功能需求。
二、概念设计阶段:1.制定产品概念:形成产品的整体框架和核心功能,并输出产品概念文档。
2.市场调研:分析目标市场的竞争环境和用户需求,确定产品定位和差异化策略。
3.制定产品规划:明确产品的功能、技术要求、开发周期、预算及运营计划。
4.制定产品设计原则:确定产品的设计原则和风格。
三、详细设计阶段:1.创意设计:采用创意设计方法,设计产品的外观、交互界面等。
2.技术设计:根据产品功能需求,确定产品的技术架构,选择合适的技术工具和平台。
3.数据库设计:根据产品需求,设计数据库结构和数据模型。
4.系统API设计:设计系统的公共接口和数据传输格式。
四、开发阶段:1.编码开发:根据详细设计阶段的结果,进行程序编码开发。
2.单元测试:对开发的每个模块进行单元测试,确保功能正常。
3.集成测试:将各个模块进行集成测试,确保系统整体运行稳定。
4.测试修复:对测试中发现的问题进行修复和优化。
五、上线发布阶段:1.系统测试:对整个系统进行全面测试,确保产品符合用户需求和技术要求。
2.上线准备:准备系统上线所需的资源,包括服务器、数据库、域名等。
3.发布上线:将经过测试的系统部署到正式服务器上,对外发布。
4.运维支持:对系统进行后续的监控、维护和升级。
一、项目管理:1.制定项目计划:明确项目的目标、范围、时间和资源等要求。
2.分工与协作:明确各个团队成员的职责和任务,建立良好的沟通协作机制。
3.进度管理:对项目的进度进行有效控制,及时发现和解决问题。
4.风险管理:识别和评估项目可能面临的风险,并制定相应的应对措施。
二、质量管理:1.制定开发标准:明确编码规范、文档格式、测试方法等标准。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
敏捷开发实践拥抱变化的产品开发流程管理随着Agile敏捷开发的流行,越来越多的公司采用敏捷开发用于软件产品和应用的开发。
笔者的产品开发团队在两年前开始采用敏捷开发方法,一直实践到现在,并取得不错的成果,包括:产品功能更加符合市场和业务人员的需求,开发效率获得提高。
本文从实践的角度介绍笔者所在团队的产品敏捷开发过程和作者的敏捷开发体会。
敏捷开发体会实施敏捷开发近两年来,我对在产品开发中应用敏捷方法有着深刻的体会。
首先说下产品背景。
我参与的产品是面向行业的产品,在全世界都有客户,有10年历史,和一百多个基于不同版本的客户,我们的团队完全负责产品的未来发展方向、发布计划、架构、设计、开发进度、测试、客户支持等。
在这样一个面向全球的产品和自主的团队环境中进行敏捷开发体会尤其深刻。
1) 注重概念和架构设计,而轻详细设计敏捷开发中,注重概念和架构设计,而轻详细设计。
这里的概念设计,可以看成是为什么要做这个产品或模块,强调的是产品的路线规划、市场趋势、客户价值、技术趋势等。
架构设计,可以看成从整体上看,概念设计应该用什么方式实现、分几个层次、多少组件、不同层次和组件之间关系是什么。
详细设计,则是具体的设计和做法、API接口等。
一个产品,特别是面向行业的产品,概念设计和架构设计非常重要,需要考虑行业未来的发展方向,产品在市场中横向和纵向的比较,技术的发展方向,和每个模块的投入和收益的比例等,这样才能尽可能保证产品沿着正确的方向前进。
在产品中新增或删除一个模块需要非常谨慎,因为一旦新增模块被客户使用,以后就很难在产品中去掉这个模块。
还需要考虑产品各个版本之间的兼容性,以及客户的升级迁移。
所以,在开始正式开发之前,通过概念设计和架构设计,梳理思路是非常必要的。
2) SWOT分析以前在做项目时,大多是从技术角度来考虑哪一些功能模块需要做,哪一些功能模块先做,而没有一个系统化的分析方法。
造成的结果是有一些功能模块投入很多资源,却并不一定是客户最想要的。
在敏捷开发中,更加注重客户需求。
如果对产品进行SWOT分析,就能选出付出最小工作量,但能获得最大价值的模块。
SWOT分析阶段会在概念设计和架构设计之后进行,输入是概念设计和架构设计,输出是模块的重要度和需要的时间。
这样按照性价比可以进行排序,选出最能符合市场的模块。
一款产品哪个模块重要,哪个先做,需要花多少资源和时间投入,花这么多时间和资源的模块是否在客户心中有相应的重要程度等,这些都是由这款产品的市场策略来决定。
所有产品都是为了市场和赢利为目的,Agile方法更好地帮助企业实现了这一点。
3) 业务和客户驱动,而非技术驱动这点说是体会,也可以说是教训。
在我们的产品开发过程中,在某一新版本中重新设计了老版本的某一个重要模块,而引发了几个问题:一是,新版本的模块和老版本模块的兼容性问题,导致老版本客户无法平滑的迁移到新版本;二是,新版本的改进是纯技术方面的重新实现,不管对客户而言,还是对内部的架构而言,都没有明显好处;最后导致的结果是我们花了很多资源和人力去重新实现,但是在最后由于种种考虑还是废弃了重新实现的模块,依然沿用老模块。
在产品的敏捷开发中,虽说拥抱变化,但不盲目变化。
产品的改动需要经过概念设计、架构设计以及SWOT 分析后,三思而后行。
敏捷开发中也强调"在整个项目开发期间,业务人员和开发人员必须天天都在一起工作",确保技术人员能够开发出客户需要的产品。
4) 时刻考虑版本兼容性敏捷开发,废除了过多冗余的文档和繁杂的设计,强调拥抱变化。
但作为产品,敏捷开发不意味着盲目地去变化。
当设计变动、API接口重构、配置文件变更时,要时刻考虑产品的架构、规划路线图,老版本的兼容性,及迁移平滑性。
否则,随着版本的增多,必将面对着大量的维护工作。
5) 轻文档,但非无文档敏捷开发强调沟通的重要性,而轻冗余文档。
但敏捷开发并不意味着无文档。
在敏捷开发过程中,适量的文档还是很有帮助,有助于整理思路,加快沟通和讨论。
我们产品中的文档包括:概念设计文档、架构图、当前版本要实现的功能列表,以及SWOT分析。
这些文档在每个产品版本开始之前会有产生,在每个迭代的过程中根据业务人员和市场的反馈也会有一些变更。
通过我们实践证明,这对产品的思路、沟通讨论都非常有帮助。
而且这些文档,大多是几页PPT,书写和维护工作都很小。
敏捷开发过程敏捷开发改进了产品的开发流程,提高了整个团队的效率。
下面分析敏捷开发前和敏捷开发后的产品开发的各个阶段。
1) 敏捷开发"前"的产品开发过程图1 敏捷前开发流程上图是敏捷开发前我们产品一个版本的开发流程,整个开发大概持续一年左右。
从图中可以看出,流程中的大多数活动都是串行进行。
这样的一种类似瀑布的开发流程,前提是需求在产品的初始阶段就完整的被捕获并正确的分析,这样才能保证最后交付的产品是客户所需要的产品,但通常这样的理想状况很难实现。
类瀑布的开发流程缺乏灵活性,无法通过开发活动来发现不够确切的需求,导致产品无法随着业务人员和市场的反馈而随需应变,开发出符合业务人员需求的产品。
2) 敏捷开发"后"的产品开发过程图2 敏捷后开发流程上图是敏捷开发"后"我们产品一个版本的开发流程,整个开发大概也是持续一年左右,但每个迭代都是1个月时间。
和敏捷开发前相比,有很多的区别和优点,下面是其中几点:市场和需求驱动,拥抱变化在我们产品敏捷开发中,每个迭代结束,都会有一个产品迭代演示大会,把这个月的开发结果演示给组员、业务人员、售前,甚至客户,并收集反馈。
此外,在开发的过程中,产品的业务人员和售前时刻保持与产品开发团队的沟通和工作,保证开发出来的产品是符合业务需求。
充分利用资源和时间敏捷开发前,产品的需求设计阶段占用整个开发流程35%左右的时间,这段时间只需要几个核心的架构师和设计人员,无法充分地利用开发和测试人员。
敏捷开发后,迭代开发、强调沟通、缩减文档,在每个迭代初期就可以充分地利用开发、测试人员的时间,达到效率最大化。
每日交付产品开发过程中,每天都会做自动化Build,并生成可以交付的产品。
业务人员、客户都可以试用并提供反馈和新需求。
充分自动化敏捷开发强调拥抱变化,这必然带来动荡的产品代码变更。
每一个新的功能和修改的功能,都可以影响到其他功能,造成副作用。
所以,需要自动化去支持变化,在变化的同时保证质量和开发速度,包括编译自动化、单元测试自动化、功能测试自动化、UI测试自动化、集成测试自动化等。
架构师和Scrum Master的重要性流程的变化必将带来岗位和职责的变化,架构师和Scrum Master是在敏捷开发中两个重要的人物角色:1) 产品架构师在产品的敏捷开发中,特别是我所参与的产品是面向行业的产品,架构师是个举足轻重的角色,需要有深厚的行业背景、创新能力,以及架构能力。
产品是为了解决一类客户需求而存在。
但是,客户的需求往往是会随着业务的发展而变化,而且竞争对手也会有类似产品的推出。
所以一个产品推出市场后,所具有的功能模块慢慢地会越来越成熟,并拥有越来越多的竞争对手,慢慢地失去竞争力。
一个好的产品,特别是面向行业的产品,要具有长期的生命力,需要具有下图所示的产品模型:图3 产品发展模型成熟的模块:指的是推出市场有一段时间,这些功能模块因满足客户的需求而被广泛使用。
随着市场趋于稳定,大量竞争对手的产品也推出类似的功能。
这些成熟模块都是产品的基本模块,不代表产品的竞争力。
产品中如果只具有这些功能模块,随着需求和竞争的激烈,慢慢会走向灭亡。
如90年代的BP机一样,当手机一旦推出,这个产品也就走向灭亡。
发展中的模块:指的是刚推出市场并且具有强劲的市场生命力、符合客户当前几年的业务发展需求,正在被大客户所接受的功能模块。
这些功能模块是产品占领市场的动力,是继成熟的功能模块后,产品的新的增长动力。
研究中的下一代产品方向:指的是还没有推出市场、正在研究中的、符合未来行业五到十年发展方向的模块。
当然如果能创造出未来的发展方向,则是最高境界。
如任天堂的Wii、苹果公司的iPhone。
一个行业软件产品要保持长期的生命力,在整个产品的生命周期架构规划中,需要考虑到这三种模块和特性,只有这样才能保持产品的先进性和长久生命力。
敏捷开发也强调拥抱市场变化,这对产品架构师提出了很高的要求——深厚的业务背景、创新能力、技术洞察力和架构思想。
2) Scrum MasterScrum Master虽然是敏捷开发的新名词,但其工作内容和开发组长没什么太大的区别:安排任务、协调资源、控制进度和解决难题。
架构师根据对行业的理解和创新,设计出产品的架构。
Scrum Master则是进一步分解和实现这个架构中的每个组件。
如果形容"奥运会开幕式"是一个产品,架构师则设计整个开幕式的主题、创意、架构和包含的主要环节,而Scrum Master就是整个庞大工程的详细设计者和协调者。
在我们产品中有三个Scrum Master,各自负责架构中的不同模块,并和开发人员一起把模块分解成一个个单独的、可以衡量的用例,然后协调开发人员高质量的完成任务。
此外,每天早上需要主持小组成员进行一个10分钟左右Scrum会议。
每个组员汇报昨天完成的任务,是否完成任务以及碰到的问题,最后是今天打算完成的任务。
Scrum Master会协调解决每天碰到的问题,确保产品进度和质量。
总结在笔者的理解中,敏捷开发是一种思维方式和软件过程方法论,以及一系列的最佳实践,它能帮助团队开发出更加符合市场需求的产品。
我们的团队在产品两个版本的敏捷开发历程中,不断摸索,找到了一条适合自己的产品敏捷开发流程,我们还将继续用敏捷的思想改进我们的敏捷开发流程,希望能与大家讨论探索,持续改进。
出师表两汉:诸葛亮先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。
先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。