最适合App的开发模式——敏捷开发

传统的软件开发模式需要经历问题评估、计划解决方案、设计系统架构、开发代码、测试、部署和使用系统、维护解决方案等过程,如下图↓

采用传统软件开发模式的最大问题是开发周期过长,迭代速度慢。移动互联网行业发展速度快,需求不断变化,产品更新迭代的频率高,基于移动互联网的以上特点,就引入了Scrum这个敏捷开发框架。

Scrum简介:Scrum是一个敏捷开发框架,是一个增量的,迭代的开发过程。在这个框架中,整个开发周期包括若干个小的迭代周期,每个小的迭代周期成为一个Sprint,每个Sprint的周期建议为2~4周。在Scrum中,使用产品Backlog来管理产品或项目的需求,产品Backlog是一个按照商业价值排序的需求列表。在每个迭代过程中开发团队从产品Backlog挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint会议上的分析、讨论和估算得到一个Sprint的任务列表,称为Sprint Backlog。

Scrum的流程如下图↓

Sprint 计划会议

Sprint计划会议前,产品经理所要实现的产品需求(产品Backlog)以用户故事(即从用户的角度去描述用户所需的功能)的形式确定下来,并画出原型图,UI根据原型图完成设计稿。产品经理同时确定各个产品需求的优先级。

Sprint计划会议期间(一般为2天),开发团队的成员不应该做任何开发工作,要将全部精力放在把产品需求分解成一个个开发任务,并估算开发时间。

估算开发时间需要注意以下几点。

1、对于所需要使用的新技术,要估算学习和调研的时间。

2、根据统计,每个程序员每天的有效工作时间是5个 小时左右,其他时间都被沟通、喝水、休息、上洗手间等琐事占据,如果某个任务估算超过5个小时,那就代表了这个任务完成需要超过一天的时间。

3、开发人员对于开发任务的估算尽可能精细,一般来说,每个任务的估算时间不应该超过5个小时,如果超过5个小时,就应该把这个任务再细分为多个更小的任务。只要尽可能精细地估算任务,总体估算时间是大概精确的,因为有的任务估算的时间比实际完成的多,有的比实际完成的少。

最后根据产品经理的优先级和开发人员的估算时间,确定这个迭代周期最终的开发任务和其对应的优先级,即完成Sprint Backlog。

日常开发

App开发中,App通过API和App后台交互,后台人员可以先设计好相关的API并让API返回假数据。

开发过程中遇到任何问题,必须及时找相关人员沟通。为了保证沟通的效果,可以采用下面的方法。

1、如果不是非常紧急的问题,可以等相关人员休息的时候再沟通。

2、解决一个问题,先梳理好情绪,沟通的时候对事不对人。

Scrum中有个关键的职位“Scrum master”,Scrum master一般有技术总监担任,团队和外部的沟通必须统一通过Scrum master。Scrum master的最大作用是屏蔽外部对开发团队的影响,使开发的进度和开发的效率得到保证。

在开发的过程中需要注意:一个Sprint Backlog中,需求不能变更,UI确定后原则上只能做小修改。产品有新需求,下一个Sprint Backlog再考虑。

每日例会

 

每日例会前,团队成员应该整理各自的任务列表,包括:

1、昨天完成了哪些任务,每个任务使用了多少时间,没完成的任务估算还要多少时间。

2、剩余的开发时间

例会中产品经理和开发团队的成员都要参加,如果可以的话,让运营人员和市场人员也参与进来,这样可以使团队每个成员都对公司的产品有个整体的了解。

每个人在例会上报告一下3方面的事情。

1、昨天做了哪些工作?

2、今天准备做哪些工作?

3、有什么工作需要其他同事配合?

注意避免在会议上讨论问题,如果真的需要讨论,请在会议后和同事讨论,不要浪费整个团队的时间。

测试和修复BUG

 

产品开发完成就进入测试和修复BUG的阶段。

测试人员把测试得到的问题提交到BUG管理软件,每个BUG应该包含3个部分。

1、问题描述和重新步骤

2、测试人员

3、负责解决这个问题的人员,如果测试人员不知道具体负责人,把这个问题提交给技术总监,由技术总监指定解决问题的研发人员。

评审会议

在测试和修复BUG完成后全体人员开评审会议。相关开发人员在评审会议中向全体人员演示APP的功能。

回顾会议

研发完成后开回顾会议,每个成员都在会议中提两点。

1、这轮迭代过程中做得好的地方。

2、这轮迭代过程中做得不好的地方。

这个过程走两轮,即每个成员都要提两点做得好和不好的地方。注意当一个成员提出自己的意见时,其他成员不做任何的评论。

及时反馈

可以通过建立相关QQ群收集意见,在APP中可以增加一个意见反馈的功能。

总结

 

敏捷开发不是万能的,敏捷开发更适用于需求多变,开发周期端的项目。

适合APP的开发模式——敏捷开发相关推荐

  1. 瀑布式开发、迭代式开发、螺旋开发、敏捷开发四种开发模式的区别

    1.瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型,瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析.设计.编码.集成.测试.维护的步骤顺序进行. 步骤成果作为衡量进度的 ...

  2. 敏捷开发_敏捷开发和迭代开发的异同分析

    随着软件开发技术的不断发展,现在出现了敏捷开发和迭代开发两种新的开发方式,这两种开发方式都可以提高软件开发的效率.那么它们之间有什么相同的地方和不同的地方呢?下面一起来了解一下相关的知识吧! 一.定义 ...

  3. 瀑布式开发、迭代开发、敏捷开发的区别

    瀑布式开发.迭代开发,区别[都属于,生命周期模型] 两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说. 传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试 ...

  4. 什么是敏捷开发?敏捷开发流程的8个步骤

    文章目录 一.什么是敏捷开发? 二.敏捷开发模式的分类 三.SCRUM 的工作流程 四.敏捷开发流程的8个步骤包括: 五.敏捷开发模型 一.什么是敏捷开发? 敏捷开发(Agile)是一种以人为核心.迭 ...

  5. 五分钟理解瀑布开发、敏捷开发和Devops

    瀑布开发.敏捷开发.Devops概述 无论是瀑布式开发.敏捷开发还是DevOps,整个流程都分为设计.开发.测试和部署四个部分,只不过各个部分的开始和结束时间节点不同而已!下图很好地解释了这一点. 上 ...

  6. 谈软件项目快速开发方法——敏捷开发

         作者:老吴      写于:2016-04-08   公众号:ChanPinLaoWu 以前,我写过一篇文章"追溯软件项目失败的根源",里面讲述了我在做房地产信息平台建设 ...

  7. 瀑布式开发与敏捷开发的区别是什么

    摘要:瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求.分析.设计.编码.测试的步骤顺序进行.敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.我们将在文章中详细说明两者各 ...

  8. 开发方法之统一过程开发及敏捷开发

    统一过程 UP 是一个很有特色的模型,它本身是一个二维的结构.软件开发活动总要经过初始.细化.构建 和交付这 4 个阶段方能完成. 对于纵轴而言,业务建模.需求.分析设计.实施.测试.部署.配置与变更 ...

  9. 什么是敏捷开发,敏捷开发落地指南之迭代排期

    摘要:到底什么是才是敏捷开发,网上的各有各的说法,从本质上讲,敏捷开发的一个重要目标是建立持续价值交付的能力.这种能力最终必须服务于业务的创新,促进业务的成功.别再说敏捷开发搞不起来了,本篇文章我们先 ...

  10. java中mvc开发模式_MVC开发模式

    1.1  MVC模式 1.1.1  MVC模式简介 MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率. 在M ...

最新文章

  1. 谷歌浏览器Google Chrome和Adobe Flash Plugins插件安装问题
  2. 【Qt】Qt发布可执行程序(打包依赖库)
  3. ora-01033:oracle initialization or shutdown in progress 解决方法
  4. android 悬浮按钮 魅族,魅族,我的悬浮球功能比你的强大:悬浮菜单
  5. matlab中的方波信号图片_电气信息类专业课程之matlab系统仿真 第十章 DBPSK调制解调器(9)...
  6. 计算机控制技术汤楠课后答案,西安电子科大版汤楠计算机控制技术6章
  7. A饭福利,AMD Mantle API获众多游戏开发商青睐!
  8. html div转行,转行web前端开发的人有没有未来
  9. 关闭虚拟机linux的防火墙,Linux虚拟机SSH服务、防火墙开启关闭
  10. 白盒测试实践作业进度报告——Day 3
  11. C语言运算符优先级表详解
  12. 大学加权平均分计算器_澳大利亚移民宝藏专业----西澳大学幼教硕士解析
  13. Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务问题解决
  14. 主、谓、宾、定、状、补
  15. iphone iOS 更换手机铃声 免itunes
  16. [极致用户体验] 微信设置大字号后,iOS加载网页时闪动怎么办?
  17. 【dubbo系列001】dubbo是什么?dubbo解决什么问题?
  18. Python:计算欧氏距离的三种写法
  19. 上拉电阻和下拉电阻判断
  20. Bonjour 服务

热门文章

  1. Java网络编程基础
  2. Python自学教程3-英语不好,变量怎么命名
  3. Eclipse Error Reporting (取消错误报告)
  4. SM2椭圆曲线公钥加密算法
  5. 城市空气质量监测系统解决方案
  6. 淘宝的npaliedit在mb下会崩溃的问题解决了
  7. java action上传文件_Java struts Action +ActionForm上传文件
  8. Python抓取行政区域划分存入MySQL数据库
  9. 第八章 DirectX 3D模型加载和骨骼动画(上)
  10. 批处理访问域服务器文件夹,批处理如何访问域共享文件夹