SDM341队友(Scrum)软件开发方式和互联网在线服务部门的合作问题:建造一栋独立屋的最快时间?答案是:3小时,26分34秒提纲长尾理论突破传统二八定律互联网软件工程开发的主要挑战敏捷开发与队友软件开发方式事例解读队友软件开发方式经验改善流程管理扩大交流和增进合作增大自动化程度Q&A二八定律巴莱多定律(二八定律)1897意大利经济学家巴莱多在研究英国收入分配发现最重要的只占约20%,其余80%是次要的1949,哈佛语言学家乔治.齐普夫单词出现频率按照流行程度进行排序,排在第k位的项目其比重为第一项的1/k:齐普夫定律个人的财富和收入城市人口商店销售图书、音乐和电影二八定律的体现百分之二十的消费者购买百分之八十的某一类商品而百分之八十的消费者只购买另外百分之二十的商品传统营销手段受制于薄弱的技术和高昂的成本二八定律有失效的可能性吗?二八定律的总结预料不平衡的基础:多样化不平等现象网络影响:例如新闻,报纸,电视,…互联网的不断发展,让我们看到了二八定律失效的可能性长尾理论长尾理论克里斯.安德森:”连线”杂志主编只要存储和流通的渠道足够大,需求不旺或销量不佳的产品共同占据的市场份额就可以和那些数量不多的热卖品所占据的市场份额相匹敌甚至更大。恐龙长尾”的分布特征长尾理论例亚马逊网上书店成千上万的商品书中,一小部分畅销书占据总销量的一半,而另外绝大部门的书虽说个别销量小,但凭借其种类的繁多积少成多,占据了总销量的另一半。长尾的价值在互联网软件的体现互联网软件的趋势三股势力正改变目前软件产业经济书写软件程序的费用大大减少:世界各地人才软件运送费用也大大下降:网上下载既块又好寻求最佳软件的成本也渐渐简单:网上用户群之间的沟通通过网络提供网上软件并远程管理将成趋势互联网软件体现长尾效因定位在中高端、面向大中型企业的管理软件一度在市场上占据主流软件的互联网应用环境为一些更为低端的用户创造了机会:交易成本广泛的用户基础通过ASP的方式来得到软件服务游戏软件和广告的插入及综合等互联网软件工程开发的主要挑战及时:上市时间效率(关键)成本:投资回报适合大部分用户的需要敏捷开发传统软件开发方法大量的文档书写实现各种功能,最后组装在一起不到项目最后,无法知道终局瀑布式方法是一个代表瀑布式方法管理传统软件开发方法的问题这些文档往往并不准确软件需要修改修改软件会引起系统混乱,一个微小的错误就能导致互联网系统崩溃敏捷开发的卖点尽快地,经常地提供满意的软件版本开发过程中是迭代的,可以不断地根据结果作出反应总体功能的价值可以在早期就被评估,项目组可以调整下一阶段要开发的内容时刻注意跟上市场变化的步伐敏捷开发的要求总体框架要灵活以有因变能力简单设计反而好尽量提供无缺陷的软件不段的学习和提高以提高技术和设计能力充分尊重个人意见,提供个人决策权耐性地听取意见,尽快地改变采用最佳方案队友(Scrum)软件开发方式队友(Scrum)开发方式是敏捷方法之一一个体育队加小队长,全体团队负责拿球向前冲队友(Scrum)开发方式来历Scrum一词来源于橄榄球运动,过程是迅速,有适应性,自组织的1995年由先进的开发方法公司提出,2001年由“敏捷联盟”推广团队成员能够独立地,集中地在创造性的环境下工作队友(Scrum)开发团队的组成7人组成管理者主持会议,负责对整个项目的成败对于人数多于7人的项目团队,建议与其扩大团队规模不如将团队分组通过Scrum会议对各个子团队的工作进行同步团队不止是一个程序员队伍,它由各种背景下的不同角色组合而成,包括商业分析者,设计师,程序员和测试者等等。正确的组合决定了团队的能力和效率大团队的组成1personfromeachteam团队再分组多个小团体最有效的大部门合作方法也适宜地域分布的要求队友(Scrum)开发团队的组成PlanningAnalysisArchitecture,InfrastructureCodingDesignTestingPerformanceUserAcceptancePilotLiveExtendthedefinitiontoincludealldevelopment队友开发人员的角色和责任ScrumMasterProductOwnerTeam►Definesthefeaturesoftheproduct,decidesonreleasedateandcontent►Responsiblefortheprofitabilityoftheproduct(ROI)►Prioritizesfeaturesaccordingtomarketvalue►Canchangefeaturesandpriorityevery30days►Acceptsorrejectsworkresults►Cross-functional,sevenplus/minustwomembers►Selectstheiterationsgoalsandspecifiesworkresults►Hastherighttodoeverythingwithintheboundariesoftheprojectguidelinestoreachtheiterationgoal►Organizesitselfanditswork►DemosworkresultstotheProductOwner►Ensuresthattheteamisfullyfunctionalandproductive►Facilitatesclosecooperationacrossallrolesandfunctionsandremovesbarriers►Shieldstheteamfromexternalinterferences►Ensuresthattheprocessisfollowed.Invitestodailyscrum,iterationreviewandplanningmeetings队友(Scrum)开发如何工作产品拥有者持有产品订单,控制并区分功能的开发次序队友团队和产品所有者共同检视订单,决定优先功能开发优先级开始被称为“疾跑”的迭代过程:时间为30天。管理者负责团队与外界的交流都必须经由进行在团队对“疾跑”的作用有更多了解以后,团队成员就可以调整原始的产品评估,并将“疾跑”过程中获得的信息加入到产品订单中队友(Scrum)开发如何工作每日的队友会议每月的“疾跑”计划和“疾跑”审查会议紧密相连“疾跑”审查会议持续半天:团队演示完成的内容总结:订单“疾跑”计划和回顾管理承诺每日的队友会议进度回溯队友开发工作流程管理与阶段队友(Scrum)事例互联网软件服务模式总体设计源程序完成QA部门测试逐步程序调整QA质量鉴定和通过送给在线服务部门-往往太迟软件开发服务和互联网在线服务部门的合作事例队友(Scrum)开发方式事例之一队友(Scrum)开发方式事例之二要利用队友开发方式吗?可迅速优先满足不断变化的需求可循序渐进地增加功能不需一条路走到黑–“DeathMarch”顾客能先享用部分功能自我管理团队士气高涨鼓励大家树立工作责任感适应化的学习过程总结以往教训并立即采用还是不要利用队友开发方式?不适合文化的挑战不适合大型项目的开发最佳团队规模小于10增加复杂性难以沟通不适合跨区域(地理)发展可能导致长期成本的升高要求很简单,一成不变不适合自下而上工程设计利用队友开发方式的经验改善流程管理扩大交流和增进合作增大自动化程度改善流程管理流程管理为何还要流程管理标准一致的工作流程有益于:提高效率,降低非生产性时间提高产品质量加速上市场时间流程管理目标保持低费用质量早日进入市场减少意外,保持商业稳定和预测性队友开发方式流程管理文档管理文档通常靠队友主动的建立,无法依靠设计文档建立文档也不在优先之列文档是在线服务部门的重点,服务客户时间保留保留一点解决问题的时间,否则要等30天队友下再队友的管理大型项目的大部门合作方法,队友可以参加跨越多个队质量管理在线服务部门既是客户,也是团队成员软件发布流程管理软件发布标准环境瞬息万变,坚定和客观的标准是质量的保证高质量服务建立在完善的系统控制和监视之上系统变动管理保持服务高质量和服务高效率要求相应完善的系统变动管理所有修改必须程序化,文件化,并应简单增加一个发布流程系统变动阶段化在线服务部门有投票权扩大交流和增进合作扩大交流良好的沟通是成功基础:软件设计变动是费用最便宜的时候数据中心基础设施建设需要时间,往往受外来资源限制在线服务部门要非常深入的参与软件开发以少走弯路各方要了解大体发展动态直接参加队友管理团队多过于间接参与基本的交流在线服务部门参于规格和设计审查数据中心基础设施商讨的最佳时间队友团队外人也可充分发挥专家责任数据中心基础设施建设要求与软件设计同步减少上市时间满足不断变化的需求队友会议在线服务部门必须参加有关会议并表达意见增大自动化程度自动化自动化的优点队友软件开发方式增加了快速改变几率任何改变多有代价自动化的目标降低成本的变化各企业内部利用自动化的成果软件开发部门自动化构建流程软件总体要能自动构建能减少基础调查的时间和精力代码检查工具检查格法标准检查安全代码转送运行部自动装机测试自动化调测软件测试部门自动化负载测试生产负荷工具数据收集和分析工具装备能力预测检验鉴定建全自动化检验每次必须通过软件运行部门自动化零影响自动安装在线服务部门不能容忍系统崩溃经常性管理工作工具减少在线服务部门人数和费用系统备份,日志管理等结论结论让大家都了解队友开发方式和参与队友开发团队效益来自于自动化,和整个开发团队分享的自动化的成果扩大交流和增进合作,具有责任感信任加沟通