UI 设计进阶 1-3:敏捷开发的技巧

Posted UIcircle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UI 设计进阶 1-3:敏捷开发的技巧相关的知识,希望对你有一定的参考价值。

点上面蓝色 UIcircle 订阅我们哦~



前言

本文是 UI 设计进阶系列的第 1-3 篇,系列目录:uicircle.club/a/128

互联网产品上线后需要不断更新迭代,而敏捷开发可谓是保持产品及团队活力的最好办法。本文就将为大家介绍为什么及如何执行敏捷开发。


为什么产品一定要更新迭代?

关于这个问题也许可以追溯到上世纪 20 年代,通用汽车公司总裁阿尔弗雷德 · 斯隆(Alfred P. Sloan)提出的汽车设计新模式,即「有计划地废弃制度」(Planned obsolescence)。他们认为必须有计划地考虑以后几年之间不断更换汽车部分设计,使样式每 2 年有一次小变化,每 3-4 年有一次大变化。其目的是促使消费者为了追逐新的式样潮流,而放弃旧款的积极市场促销方式。

我们可以发现直到今天车厂还在保持这种更新方式。而这一理念也扩散到更多工业产品设计。我们每天用的手机就是其中更新最频繁的品类之一。

软件设计也是如此,但又不止如此。尤其相比传统工业产品,互联网产品更新周期要短得多。还是拿手机举例,某手机系列更新可能是以年计,而软件更新则以周计,完全是不同量级。另外,除了新增功能、修改样式,修复程序大大小小的 bug 也是软件更新的重大理由。因此对互联网产品而言,快速更新迭代是非常重要的一环,也是我们追求「敏捷开发」的重要原因。


什么是敏捷开发?

如上所说,我们需要通过不断快速更新产品以保持产品及团队的活力。那么「敏捷开发」就是最好的办法。

敏捷开发是一套软件开发的价值和原则,倡导演进式开发,提早交付,持续改进,鼓励对变化做出快速灵活的反应。 

敏捷(Agile)这个术语是由敏捷软件开发宣言(Manifesto for Agile Software Development)推广的,它定义了上述这些价值观(见参考资料)。

传统的软件开发会罗列一大堆想要的功能,然后进行线性流程开发,在很大程度上像瀑布一样向下,因此被称作瀑布流开发流程(Waterfall Process)。而敏捷开发则将项目分解成多个「小目标」,通过分阶段不停完成这些目标,一个大项目随之完成。

UI 设计进阶 1-3:敏捷开发的技巧


Scrum 介绍

Scrum 可能是目前应用最广的敏捷开发综合框架。它最突出的的优点有:

  • 适用范围广,多数产品类型都适用;

  • 拥有完整的框架,且易上手;

  • 快速迭代,以一个个 Sprint 为周期,快速开发;

  • 适应性强,可根据自己团队、项目的需求灵活应用。

我之前所在的创业团队基本就是按照 Scrum 框架来进行产品开发的,非常高效。但我要提的是这套框架只是个基础,具体应用到自己的团队一定要做选择性的调整。比如我们团队因为人少,且同事也都是自我驱动能力非常强的人,因此去除了 Scrum Master。总之,我不认为这世上会有任何一条标准是拿来就能用的,切记灵活应用。

我在这也为大家简单介绍下 Scrum 的主要内容及操作流程,具体可以查看文末参考阅读的链接来阅读完整的内容。


Scrum 三个角色

UI 设计进阶 1-3:敏捷开发的技巧

Scrum 首先定义了三个角色:Product Owner、Scrum Master、Development Team。

  • Product Owner:产品负责人,确定「大家要做什么」,互联网公司一般由产品经理(或类似职能的人)担任。

  • Scrum Master:Scrum 的推动者,并辅助团队其他人。

  • Development Team:开发团队包含各种专业人员(建议 3 至 9 人为一个团队),专注开发。


      Scrum 开发流程

      Step1 维护需求池

      这是我自己基于原框架补充的一个步骤。在快速迭代过程中,我们需要有这么一个完善的「需求池」来管理来自各方的需求,由产品负责人维护。

      Step2 建立一个 Sprint

      Sprint 类似开发周期,是 Scrum 的核心,在互联网公司其长度通常为一周或两周或一个月。Sprint 由产品负责人建立,确定本期开发的主要目标(Vision)、一条条新增的功能或优化等产品待办事项列表(Product Backlog)。

      Step3 计划会议

      Sprint 中要做的工作在 Sprint 计划会议中来做计划。这份工作计划由整个 Scrum 团队共同完成。一般长度两周的 Sprint 不要超过 3 个小时。Scrum Master 要确保会议顺利举行,并且每个参会者都理解会议的目的。本会议大家可以理解为我在上一文「通用开发流程」中提到的「计划开发计划」。

      Sprint 计划会议回答以下问题:

      • 一起最终决定接下来的 Sprint 中要包含什么内容?

      • 如何完成所选的工作?

      Step4 每日站会

      在 Sprint 开始后,还有一件事情是每日站会。站会一般在早上,控制在 15 分钟之内。每个成员轮流交代三件事:

      • 我昨天做了什么?

      • 今天要做什么?

      • 遇到了什么问题(可能需要谁的帮助)?

      如果有具体的问题要交流,则放在会后一对一交流,注意控制时间。

      Step5 评审会议

      在 Sprint 结束前(约在开发阶段后期),团队会进行 review,各自交流我们完成的工作。但这是一个非正式会议,演示的目的是为了获取反馈并促进合作,并根据实际情况,适度调整产品待办事项列表。

      Step6 回顾会议

      Sprint 回顾会议是团队检视自身并创建下一个 Sprint 的机会。

      回顾会议发生在 Sprint 评审会议结束之后,下个 Sprint 计划会议之前。

      Scrum Master 要确保会议举行,并且每个参会者都明白会议的目的,确保会议是积极的和富有成效的。 

      Sprint 回顾会议的目的在于:

      • 回顾前一个 Sprint 中的情况;

      • 找出并加以排序做得好的和潜在需要改进的主要方面;

      • Scrum Master 制定改进 Scrum 团队工作方式的计划。


      协作工具推荐

      这里我只推荐自己真实使用过的好产品,不瞎罗列。

      Atlassian:www.atlassian.com

      大而全,适合大公司,多人多项目。

      Teambition:www.teambition.com

      国产却不失国际范儿,小团队或小项目建议用这个,基本能满足一切需求。

      Slack:slack.com


      本系列合集:uicircle.club/a/128



      参考阅读

      • Planned obsolescence - wikipedia:en.wikipedia.org/wiki/Planned_obsolescence

      • Manifesto for Agile Software Development:agilemanifesto.org

      • Scrum Guides:scrumguides.org

      • 如何实施 SCRUM ? - 知乎:zhihu.com/question/19638322

      以上是关于UI 设计进阶 1-3:敏捷开发的技巧的主要内容,如果未能解决你的问题,请参考以下文章

      LR敏捷软件平台v7开发示例,功能设计模块化,UI特色明显(长文)

      力软敏捷开发框架,至美UI,强大功能组件,给开发一个加速度!

      作为敏捷开发人员,这些编程技巧需要掌握

      《敏捷软件开发》第4章测试

      敏捷开发中的架构设计

      敏捷开发:结对编程成功的五个技巧