`
releasa
  • 浏览: 40507 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
与敏捷的初次接触
在中国,大部分的软件开发都是采用瀑布模型,这种开发方式是从传统制造行业引生过来,大量的需求,尽可能详细的需求文档,这个过程要花费大量的时间,因为所有参与项目的人员都想把需求做得足够好,开发起来足够顺畅,事实上,这在软件开发行业经常都是不可能实现的,因为我们的客户总有新想法出来,因为我们的老板总是想开发一个尽善尽美的产品。

瀑布模型的逻辑是按照人的常规思维来走的,一步一步下来,我们在项目开发过程中,设计、制作、编码、测试的参与人员都在想做好自己的那部分工作,都在尽可能想完成自己的那部分工作,早点交差,所以,后期拒绝变化,当客户新的需求来了以后,开发人员总是在埋怨设计人员的设计,设计人员总是在埋怨做需求的人,这样一个恶性循环,导致大量的返工,大量的资源浪费,这都是大部分传统软件开发或者说叫采用瀑布模型开发的团队经常遇到的问题。

我们公司也是这样一个过程,由于是给公司自己开发的产品,所以老板就是我们的客户,项目进行到现在,感觉项目已经远远的脱离了最初的核心目标,老板不断的需求,不断的变化,设计不断的改动,开发人员不断的重新编码,导致项目上线时间一再延后,同事项目开发人员的情绪不断的变化,早已经没有当初的那股激情,包括我自己也是,被不断的新的需求压倒,不断的新的任务压倒,任务一大推,老大,经常再问,你这个做得怎么样了,那个出来了吗,搞得根本没有良好的状态来工作了,最近我一直在思考,问题出在哪儿了,因为怎样改变,因为老板的需求没有错,老板是客户,客户就是上帝。

在逛书店的时候,偶然见看到一本关于敏捷开发的书籍,虽然以前也经常听说敏捷,可是一直没有去关注,看了前几页,就买了这本书,一口气读完,感觉心情赫然开朗,感觉自己团队目前所遇到的问题,敏捷都可以解决,实在是有一种跟敏捷相见恨晚的感觉。

敏捷开发方式跟传统的瀑布模型有很大的不同,瀑布模型讲究严格的层级关系,同时拒绝后期的变化,敏捷则是拥抱变化后。

敏捷开发具体的方式有很多,这里着重介绍三种,即xp、rup和scrum,xp就是极限编程,着重讲的是具体的开发方式,rup则侧重项目开发周期的具体执行方式,内容比较复杂,先不减少了,这里我们主要讲 scrum,scrum是一种具体讲的一种项目任务的管理方式。

在scrum里,追求的价值观就是做有价值的能够使用的产品出来,所以,一般一个项目会根据时间的长短确定几个开发周期,即sprint,每个sprint完成都会出来一个可以运行的成品,这里也是跟瀑布模型有很大的区别,瀑布模型一般都是最后才出来成品,严格的层级关系,而在scrum,设计、编码、测试是同步进行的,这样大大的节省了资源,不会在设计的时候,编码人员和和测试等着,编码的时候,测试人员等着,会为整个产品节省大量的成本。

在scrum里,一个项目下来以后,会有一个product  backlog,里面会写一些比较简短的story
,这些story大概描述的项目初略需求以及核心,这里不会很详细,不会像瀑布模型哪像一大堆文档,因为谁也预料不到需求的变化,当确定好sprint的周期之后,再会确定第一个sprint的backlog,再根据sprint里面的story去划分具体的task,给这些task确定时间,优先级,这里是相当重要的,每个task都会有状态跟着,当前是否在进行,当前是否呗阻塞,当前是否已经完成,而且这些task会让团队人员自己去挑选,这样就不会出现一个擅长后台的人去捣鼓前台,一个擅长前台的人员去捣鼓后台,浪费大量的时间了,同时,这些任务都是自己挑选的,对开发人员来讲,做起事来也是很顺心,很开心。

在scrum里面,还有一个最主要的事情,那就是每日的scrum会议,这个会议不会太长,一般都会回答三个问题,“昨天做了什么?”,“今天准备做什么”,“遇到了什么困哪?”,这样就会让每个开发人员每天都会很有成就感,同时,每天团队所有人都会知道整个团队的进展情况,相互之间的问题也可以得到及时的解决。

Scrum主要强调团队的沟通能力,最快的沟通,最好的沟通,最好是面对面的沟通,强调团队的自我管理能力,把开发的责任变成义务,让大家每天在任务的task状态的驱动下,都有成就感。

Scrum拥抱变化,当老板的需求来了以后,可以给这些新的story划定优先级进行管理,不会再出现以前那样的老是做着偏离核心的东西,开发出一大堆无用的功能,有人说,scrum不讲究文档,其实这是不正确的,scrum也会有文档,一般一两张纸就足够了,不需要像以前那样费时费力的整一大堆文档出来,结果没人看几眼,敏捷讲究的是效率,讲究的是质量,讲究的是尽快做出能让客户看到的有价值的东西,这样在尽可能早的时间内,给出反馈,做出修改,避免后期的大改动。

Scrum需要设计、开发、测试、客户一起参与,这样才能完成一个完美的产品。

其实在实施敏捷的过程当中,不仅仅是scrum,敏捷讲究的是高效,有效,所以一切有利于开发的方法方式都可以加进来,比如,xp里面的很多东西,都是对开发非常有帮助的,如:结对编程、重构、持续集成等等,这些都是实施一个敏捷团队必须的。

以上就是对敏捷的一点点认识,更多东西还有待慢慢学习。

张三 Task3
李四 Task2
王五 Task1
未开始 进行中 被阻塞 已完成

Task状态图

注:
Scrum:一种敏捷实施方式
Xp:敏捷实施方式
Backlog:记录开发任务
Story:一个一个的需求
Task:任务
Sprint:scrum中的一个开发周期。一般为两周至两个月不等,具体根据项目确定















0
1
分享到:
评论

相关推荐

    敏捷开发系统学习

    总的来说,这个压缩包提供了丰富的敏捷开发学习资源,涵盖了从理论到实践的多个层面,无论是对于初次接触敏捷的新人,还是希望深入理解和提升敏捷技能的从业者,都是非常有价值的参考资料。通过研读这些材料,你将...

    接触力软敏捷开发框架三年,我的一点感想.zip_cavefl5_创业_力软_快速开发平台_敏捷开发框架

    初次接触b/s型开发项目时,是在指导人员的帮助下完成的,技术上确实也学到了一些东西,但个人觉得最大的收获是在开发软件项目的过程中,自己意识上的提升,如做项目是考虑其合理性安全性以及并发性的重要性与必要性...

    SCRUM敏捷项目管理.rar

    总的来说,《SCRUM敏捷项目管理》这本书是学习敏捷开发和实践SCRUM框架的重要参考资料,无论是对于初次接触敏捷的新人,还是寻求进阶提升的专业人士,都能从中受益匪浅。通过阅读这本书,你可以深入了解敏捷开发的...

    正宗的敏捷框架!!!可学习

    【正宗的敏捷框架!!!可学习】 敏捷框架是一种先进的软件开发方法论,它强调灵活性、迭代性和团队协作,以应对快速变化...无论你是初次接触敏捷,还是希望深化对敏捷方法的理解,这个资源都将是一份宝贵的参考资料。

    敏捷软件开发:原则、模式与实践.rar

    总的来说,《敏捷软件开发:原则、模式与实践》是一本全方位介绍敏捷开发理念和实践的书籍,无论你是初次接触敏捷,还是希望深化对敏捷的理解,都能从中受益匪浅。通过阅读和应用书中的知识,可以提升软件开发团队的...

    项目开发指南 初次开发项目的参考

    在项目开发过程中,对于初次接触这一领域的朋友们来说,可能会遇到许多未知的挑战和问题。本指南旨在提供一个全面而详尽的步骤,帮助新手开发者更好地理解并实施项目开发。以下是一些关键的知识点,涵盖了从项目规划...

    阿里云 专有云敏捷版 Agility-v3.6.0r 云平台 技术白皮书 20210622.pdf

    阿里云专有云敏捷版Agility-v3.6.0r是阿里云针对企业级客户推出的一款云平台解决方案,旨在为企业提供高效、安全...无论是对于初次接触云服务的企业,还是寻求优化现有云环境的用户,这份文档都提供了宝贵的参考信息。

    李建昊-体系的崛起——Essential SAFe 的元素、度量和案例.pdf

    李建昊作为规模化敏捷领域的资深专家,在2009年初次接触SAFe,并于2013年成为SAFe认证的专业人员(SPC),再到2016年成为SAFe认证的专业教练(SPCT Candidate)。这一系列经历不仅反映了个人在敏捷领域内的成长轨迹,也...

    PMBOK电子版本1

    无论是对于初次接触项目管理的新手,还是经验丰富的专业人士,这套资源都能帮助他们提升技能,以更高效、更灵活的方式管理项目,实现更好的商业结果。 《PMBOK® 指南》第六版的内容涵盖了项目管理的五个过程组...

    kode-agile:基于敏捷的软件开发管理应用程序

    《基于敏捷的软件开发管理应用程序——Kode-Agile深度解析》 在现代软件开发领域,敏捷方法论已经成为主流,其灵活、迭代和以客户为...无论你是初次接触敏捷,还是资深敏捷实践者,Kode-Agile都能成为你的得力助手。

    ZenTaoPMS.11.6.stable.zbox_64.tar.gz

    《禅道11.6:专业研发项目管理与敏捷开发的首选工具》 在IT行业中,项目管理软件扮演着至关重要的角色...无论你是初次接触禅道的新手,还是已经对其有一定了解的老用户,都值得尝试这一版本,体验其带来的便捷与高效。

    Essential Scrum - A Practical Guide to the Most Popular Agile Process

    对于初次接触 Scrum 的个人或团队,《Essential Scrum》提供了一个简单明了的入门指南。书中涵盖了 Scrum 的基本概念、核心原则以及具体的实践步骤,适合各种背景的人士阅读学习。 ##### 3.2 进阶技巧 针对已经有 ...

    小学语文经典美文突然的幸福

    他的不善言辞和教师们的尝试沟通,构成了初次接触的紧张与好奇。教师们决定帮助他,确保他安全回家,这体现了教育工作者的责任感与关怀。 放学时再次相遇,小男孩依然我行我素,不愿乖乖排队,甚至想要逃避。教师...

    Dynamic Web Development with Seaside

    本书前言部分提到,对于初次接触网页开发的读者来说,Seaside可能看起来与其他开发工具并无太大区别。但实际上,对于那些经历过繁琐的表单处理、实体编码以及数据传递等问题的开发者而言,Seaside提供了一个精心设计...

    Agile Web Development with Rails, 4th Edition.pdf

    对于初次接触Rails的开发者来说,这是一个很好的起点。 2. **模型-视图-控制器(MVC)**:本书深入探讨了MVC架构模式,这是Rails的核心设计理念之一。通过具体的例子,作者解释了如何在Rails应用中正确地实现MVC模式...

    Exploring+Scrum_+the+Fundamenta+Dan+Rawsthorne

    本书不仅适合初次接触Scrum的读者,也适合已经有一定经验的读者进行深度学习和参考。 在Scrum框架中,团队由三个关键角色组成:Scrum团队、产品负责人(Product Owner)和Scrum Master。Scrum团队通常由跨职能的...

    atlassian-jira-enterprise-4.0.2-standalone

    《Atlassian JIRA Enterprise 4.0.2:缺陷跟踪与项目管理的卓越工具》 Atlassian JIRA,作为一款全球...无论你是初次接触还是资深用户,都能在这款软件中找到适合自己的工作方式,提升团队协作效率,推动项目成功。

    用Scrum进行项目和团队管理的实用手册和白皮书

    Scrum是一种广泛应用于软件开发领域的敏捷项目管理框架,它强调迭代和增量开发,以提高团队的灵活性和响应能力。...无论你是初次接触Scrum还是希望提升现有实践,这些资源都将是你宝贵的参考资料。

    TFS资料

    对于初次接触TFS的IT专业人员,这个指南将帮助他们顺利地完成部署过程。 TFS的核心组件包括: - **版本控制系统**(Version Control):TFS支持集中式和分布式两种版本控制模型,允许团队成员协同编辑代码,跟踪...

    Scrum知识体系分享

    此外,对于初次接触敏捷开发的团队来说,转变现有的工作习惯可能会遇到一定的挑战。 总之,Scrum作为一种强大的敏捷项目管理框架,通过其独特的角色设定、活动流程和工件支持,能够有效地提高团队的工作效率和产品...

Global site tag (gtag.js) - Google Analytics