每日新闻

每日新闻

GoCN每日新闻资讯
有问必答

有问必答

Go相关的问题,技术相关的问题
文章分享

文章分享

技术文章分享,让知识传播给更多的人
招聘应聘

招聘应聘

为Gopher服务的招聘应聘平台

GoCN每日新闻(2019-10-22)

hanyajun 回复了问题 • 2 人关注 • 1 个回复 • 6123 次浏览 • 2019-10-22 17:25 • 来自相关话题

GoCN每日新闻(2019-10-21)

回复

smallfish1 发起了问题 • 1 人关注 • 0 个回复 • 6760 次浏览 • 2019-10-21 14:04 • 来自相关话题

GoCN每日新闻(2019-10-20)

回复

lwhile 发起了问题 • 1 人关注 • 0 个回复 • 7273 次浏览 • 2019-10-20 11:09 • 来自相关话题

GoCN每日新闻(2019-10-19)

回复

mahuaibo 发起了问题 • 1 人关注 • 0 个回复 • 7207 次浏览 • 2019-10-19 17:37 • 来自相关话题

GoCN每日新闻(2019-10-18)

回复

DennisMao 发起了问题 • 1 人关注 • 0 个回复 • 8072 次浏览 • 2019-10-18 10:53 • 来自相关话题

GoCN每日新闻(2019-10-17)

回复

keke001 发起了问题 • 1 人关注 • 0 个回复 • 8721 次浏览 • 2019-10-17 10:14 • 来自相关话题

DevOps落地实践,BAT系列,敏捷看板

CORNERSTONE 发表了文章 • 0 个评论 • 430 次浏览 • 2019-10-16 17:58 • 来自相关话题

DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软件开发交付模式。BAT在2014年左右,甚至更早的时候,内部的DevOps系统就已经差不多成型了,比如腾讯的织云、蓝鲸,阿里的AOne,百度的效率云等。在Dev ...查看全部

DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软件开发交付模式。BAT在2014年左右,甚至更早的时候,内部的DevOps系统就已经差不多成型了,比如腾讯的织云、蓝鲸,阿里的AOne,百度的效率云等。在DevOps的研发过程中,好的看板功能有助于优化项目管理、提升开发效率,是较重要的功能之一。本文从需求分析角度入手,分析DevOps产品对看板的需求,并结合CORNERSTONE一站式云端DevOps平台看板部分的实际开发经验和用户反馈向大家介绍DevOps看板的设计实践之路。   

一.DevOps需要的看板 


看板是DevOps较为常用的功能,整个项目开发周期都离不开它,从需求划分、任务分配、功能实现到测试上线都需要看板的协助,看板使抽象工作流程可视化,让项目管理者能更清晰的掌握项目进度。由此,看板设计实践就成为了DevOps实践的重要内容之一。首先我们需要了解一下,DevOps中的看板需要具备怎样的功能:

 

1.价值流

 

广义的价值流指的是从原材料变为成品、并给他赋予价值的全部活动。包括原材料的获取,对原材料进行加工后转变为成品交付给客户的过程,其中还包括了各个阶段各方之间的沟通形成的信息流也是价值流的一部分。完整的价值流包括供应链成员之间的沟通,物料的运输,生产计划的制定和产品的生产过程等。

image.png

 

举个简单的例子,服装加工厂要按照客户要求生产一批服装,生产方首先需要和客户确定衣服的款式,用料,具体尺码信息,然后采购制衣所需的布料,将衣服制作图纸下发到相关工人手中,工人按图制衣,完成既定数量的通过质量检测的成衣后将成品送到客户手中,这就是一条完整的价值流。

 

DevOps中的价值流

 

在DevOps中,价值流的概念同样适用。定义:把业务构想转化为客户交付价值的、由技术驱动的服务所需的流程。

 

 

价值流贯穿了整个开发周期,好的价值流在保证快速的交付的同时还能保证部署工作不会产生混乱和破坏。只有打通业务、开发运维等一些列的价值链条,保证价值可以完整畅通的流动,减少积压重组,才能保证产品的顺利交付。在此前提下,提高开发效率实现敏捷开发才是可能的。但是技术价值流与制造业的价值流不同,它是不可见的,因此我们很难发现整个价值流是否顺畅,在哪里产生了阻碍积压。因此我们需要将价值流可视化,清晰的把价值流的呈现出来,这样价值流是否完整,哪里存在缺失就一目了然了。

 

二.DevOps的三步工作法基础原则

 

《凤凰项目》一书把三步工作法作为基础原则并由此衍生了DevOps的行为和模式:

 

 

(1)开发到运维的工作快速的从右向左的流动------流动原则


在保证质量的前提下加快价值流的流动速度,尽可能的优化工作流,减小流动单元合理控制流量,减少等待时间,提高工作效率,可以归结为以下几点:

  1. 使工作可见

  2. 合理控制最流动单元

  3. 减少交接次数

  4. 消除阻碍价值流的问题

(2)从右向左的每一个阶段中,应用持续、快速的工作反馈机制------反馈原则

 

反馈原则是在流动原则的基础上建立的一条信息流,价值流上的各个环节通过这条信息流沟通,好的信息流有助于及时发现并解决问题,从中分析并总结经验可以提升项目开发效率。

 

(3)建立具有创意和高可信度的企业文化,支持动态的、严格的、科学的实验——持续学习与实验原则:他打造出一种高度信任的文化和一种科学的工作方式


常见的项目中每天的站会、每周的周会一般是项目成员集中在一起交流并互相学习的机会,大家对工作作出自我总结并提出自己的想法互相交流意见,实现工作中的自我提升。

 

看板在DevOps中主要作为价值流的载体的一部分,使价值流中一些较为抽象的信息可视,并让用户可以从中看清楚价值流的流通情况、每一个环节及环节的具体操作情况,何处需要改进、何处存在问题。三步工作法则可以帮助提升工作效率。结合对价值流的概念以及三步工作法原则的分析,看板需要具备以下功能:

 

(1)清晰描述最小工作项单元及工作项间的关系

(2)提供便捷的小组成员互相沟通方式

(3)快速直接的反馈某工作项的各种情况

(4)一目了然的任务完分配集成情况,方便开会总结

 

  三.看板实践及优化 

 

首先是工作的最小单元——工作项,工作项是看板上各类工作内容的最小显示单元,负责显示工作内容的各种信息,一些类似的工作项管理看板对工作项类型进行了极为细致的划分,但过于繁杂的工作项类型难于记忆并且存在概念重复反而不利于,结合实际项目开发情况我们将工作项类型分为三类:

 

(1)故事——一个故事代表一个完整的需求点,可以包含多个任务、bug,一  个故事及其包含的所有子项目可以完整的诠释一个需求点在价值流上流通的全过程

 

(2)任务——将故事拆分为一个个的具体工作内容,分配到具体人员

 

(3)Bug——测试人员向开发人员、项目管理人员提出反馈的途径

 

工作项的要展示很多的具体信息:

 

image.png

 

(1)描述信息(标题、描述、附件、COMMENTS、所属迭代、所属版本)COMMENTS是提供给开发人员的交流空间,让开发人员可以在这里进行简短的意见交流,一些较小、内容简短的讨论可以在这里进行,无需所有相关人员聚集在一起讨论节约时间

 

(2)状态信息(工作项状态、优先级)

 

(3)人员信息(责任人、创建人、解决人)明确工作项的相关人员,责任划分明确。

 

(4)时间信息(创建时间、预估时间、耗费时间、到期时间)提供明确的时间信息,有利于项目管理者控制项目开发进度

 

(5)关联的工作项(子任务、BUG)将有关的工作项关联到一起,完整描述产品中某一项功能,从需求分析到开发实现到测试反馈的全过程

工作项设计完成后需要考虑的就是如何一个个的工作项集中在一起展示,考虑到DevOps的用户有很多不同的角色,对看板的关注角度也不同,例如项目经理更希望可以一目了然的看到任务的完成情况,开发人员需更关注的是分配给自己的工作项的具体的内容,CORNERSTONE提供

【表格、分栏、看板、甘特图、日历、统计、周汇总、分类导图】八种视图,方便企业成员通过多种角度查看项目,全方位了解项目状况。

 

(1)表格视图


信息以列表形式呈现,可拖动查看所有字段下的内容,方便概览任务情况。




(2)分栏视图


分栏视图可帮助团队成员更快的找到他所需要的信息;





(3)看板视图

看板视图可更直观的显示每种状态下的任务情况,方便团队成员及时更改任务内容;

 

 

(4)甘特图  推荐★

 

CORNERSTONE的甘特图功能可方便管理者弄清项目的剩余时间,评估工作进度,调整工作任务,更好地把握项目的整体。



 

(5)日历


CORNERSTONE的日历视图是基于时间,让项目更加易于理解的管理工具。


 

(6)统计视图

CORNERSTONE提供报表和统计图,可查看团队总体任务状态,也可查看团队成员个人工作贡献,便于把控总体项目进程。

 

 

(7)周汇总


CORNERSTONE的周汇总视图可直接提取项目中各项任务的完成情况和相应指标,自动生成简洁的分析报告。

 

Clipboard Image.png

 

(8)分类导图

CORNERSTONE的分类导图其实就是思维导图,它有一个中心主题,由中心主题发散出不同的关节点,每个关节点又可以独立成为一个分支的中心主题,整个图形呈现出放射性立体结构,这种结构更方便记性和理清思绪。

 

image.png

 

以上就是CORNERSTONE一站式云端DevOps平台看板模块的设计和实践历程,在价值流可视化和项目成员沟通等方面我们仍在持续改进,希望能打造出更便捷、更清晰的看板,完善DevOps平台看板模块。最后,回到DevOps的理念上,DevOps并不是专门称呼一项技术,也不是一套流程和方法论,更不是一套简单的工具产品,越来越多的迹象表明,DevOps是一种文化,这种文化崇尚的是以客户价值为根本导向让IT可以变得更敏捷更精益。

GoCN每日新闻(2019-10-16)

回复

yulibaozi 发起了问题 • 1 人关注 • 0 个回复 • 9041 次浏览 • 2019-10-16 13:47 • 来自相关话题

GoCN每日新闻(2019-10-15)

回复

傅小黑 发起了问题 • 1 人关注 • 0 个回复 • 9580 次浏览 • 2019-10-15 15:34 • 来自相关话题

GoCN每日新闻(2019-10-13)

小火箭 回复了问题 • 2 人关注 • 1 个回复 • 10960 次浏览 • 2019-10-14 17:04 • 来自相关话题

GoCN每日新闻(2019-10-14)

回复

kevin 发起了问题 • 1 人关注 • 0 个回复 • 10418 次浏览 • 2019-10-14 11:16 • 来自相关话题

GoCN每日新闻(2019-10-12)

jdlau 回复了问题 • 2 人关注 • 1 个回复 • 11463 次浏览 • 2019-10-12 14:01 • 来自相关话题

GoCN每日新闻(2019-10-11)

回复

cloudy 发起了问题 • 1 人关注 • 0 个回复 • 11232 次浏览 • 2019-10-11 18:37 • 来自相关话题

腾讯敏捷之道,实施敏捷开发,看我就够了

CORNERSTONE 发表了文章 • 0 个评论 • 537 次浏览 • 2019-10-10 16:33 • 来自相关话题

简单的来讲,敏捷的意思就是反应迅速,为什么要反应迅速?看看腾讯、阿里就知道了,市场变化越来越快,客户要求越来越高,为了满足用户的需求, 人家一个星期发一个版本,我们仨月才能憋出一个来 , 那还不被打的满地找牙? 问题 ...查看全部

简单的来讲,敏捷的意思就是反应迅速,为什么要反应迅速?看看腾讯、阿里就知道了,市场变化越来越快,客户要求越来越高,为了满足用户的需求, 人家一个星期发一个版本,我们仨月才能憋出一个来 , 那还不被打的满地找牙?

 

问题是如何才能反应迅速?  我们先来看一个场景:

 

一、残酷的现实

软件开发有一大难题就是客户脑子中的需求难于描述出来, 我们通常的应对方法是这样:

先花上几个月整理需求, 天天和客户座谈, 画出几百页的流程图, 写出上千页的文档, 最后把客户都快搞晕了。

 

项目经理:这是您要的软件需求吗?

客户:(看到这么多的文档) : 嗯, 应该是。

项目经理:那就请您在需求确认书上签字吧

客户:(心里犯嘀咕, 但是一想,反正是我先给你个首期款,怕啥? ) : 签就签!

项目经理:(非常高兴的宣布)需求分析阶段结束了, 项目成功进入下一个阶段: 概要设计!

 

然后是详细设计, 开发, 测试,  我们强悍的技术团队开始发动, 一切都严格按照计划进行, 一切看起来都很完美, 看来项目马上成功结束了!

 

但是客户的验收测试给了我们当头一棒: 这个界面怎么少了一个选项 ?    那个界面怎么不能跳转 , 那个功能需要给领导一个后门, 还有, 我的业务规则怎么不能改?  什么? 在代码中写死了?  唉,你们做的系统啊, 根本就不能用 !

 

每个人都很郁闷, 几个月的辛苦开发看来要付诸东流了。

从这个场景中能看出的是,  我们从客户那里得到的需求描述和需求文档, 其实离客户真正想要的软件还差的很远。 

 

在瀑布式的开发模式下,验收测试发现的问题,要想改正代价是非常高昂的。

 

二、改进

 

一个想法自然而然就浮现出来: 为了避免到最后习惯性崩盘,能不能让客户经常性的做验收测试? 

让他们经常性的去使用一个可以工作的软件, 从而告诉我们那些地方还有欠缺 ? 那些地方做错了?  这样我们可以迅速的修改, 这样我们就会轻松多了 !

 

我们可以把软件开发划分成一个个小的开发周期, 例如每个周期就两三周时间, 在这两周之内我们完成一个或几个功能, 然后就让用户去试用, 有问题立刻反馈,在下一个开发周期马上改掉。 这样就可以逐步逼近客户的最终目标。

 

这还带来了一个额外的好处, 不用花费巨长的时间来分析,整理冗长的需求文档了。

听起来很美是不是?  但是仔细想想这里边的问题很多。那么该如何实施敏捷开发呢?我们可以借用CORNERSTONE敏捷开发工具,来帮助我们高效规划任务,灵活调整计划,高质交付产品,快速迭代,响应需求。

 

1.  抛弃了冗长的需求文档, 但还是得描述需求啊

 

image.png

 

CORNERSTONE为需求生命周期搭建流程,可以自定义更改按收集、评审、排期、设计、开发、发布设立多个阶段,在不同阶段把任务分发给产品、设计或者开发人员,让需求完成无缝衔接。

 

2.  怎么决定每个小开发周期(我们称之为迭代)要开发的东西?

用户故事得有估算, 得有大小, 太大了一个迭代开发不完 , 还得拆分一下。

我们需要对需求按照优先级进行排序, 按照优先级从高到低的原则来开发。

 

image.png

 

CORNERSTONE透过增量迭代⽅法进⾏敏捷式开发,根据不同版本制定⽬标与评审计划,同步统计⾄天/周 /⽉视图、燃尽图以及完成度。迭代进度 清晰可追溯,助⼒企业敏捷迭代,⼩步快跑。

 

3. 不要架构设计了吗?

一上来就按优先级选择需求, 直接进入迭代开发, 把架构师撂在一边,合适吗?

架构工作肯定还是需要的,在正式的迭代周期开始之前需要架构设计, 但是和设计出面面俱到的架构设计不同, 我们更需要演进式的架构, 随着迭代的推进而进化。

 

4. 那详细设计怎么办?

在每个迭代开始的时候,团队在一起把这些用户故事给拆分成一个个小的任务, 这个拆分的过程就相当于详细设计了。  对于一些特别复杂的,例如算法, 当然可以写文档,帮助大家理解。

 

image.png

 

CORNERSTONE里,可以同时并行管理多个项目。每个项目清晰明确可见责任⼈、任务状态、优先级、类别、时间等多维度信息,帮助企业快速⾼效的对项⽬进⾏全周期管理。

 

5. 由于是迭代式开发, 这个迭代周期修改上一个迭代周期的代码在所难免, 怎么保证不破坏原有的功能? 总不能每次都手工重测一遍吧?

对于敏捷开发来说,开发人员需要尽可能做到提早集成,频繁集成,一般每添加进一些新的代码时,最好都做一次集成,不要临到软件发布或者交付的当天才开始集成,也不要很久才集成一次,如此可尽早发现代码中的问题,保持软件的状态一直是可用的。

 

image.png

 

 

CORNERSTONE⽀持将持续集成等结果部署到对应的测试环境,所有部署版本在测试 环境中可随时访问,⽀持灰度发布到⽣产环境中。

 

6.  这么短的开发周期, 测试人员怎么测试啊?

 

开发和测试需要同步进行, 当开发在澄清需求的时候, 测试需要参与, 当开发在编码的时候,测试人员在编写测试用例,等到一个用户故事开发完,马上就可以投入测试。

 

CORNERSTONE执行测试计划,也是非常有亮点的哦!

 

亮点一:用例的执行情况一目了然,随着执行的进度即时更新测试结果

 

亮点二:执行用例不通过,有BUG,可以直接关联缺陷,新增缺陷指派责任人,完全不用退出页面,再去缺陷列表新增

 

亮点三:执行用例过程中,执行后,自动切换到下一条用例,减去很多点点的操作。

 

亮点四:测试用例批量执行的功能肯定少不了,你需要的它都有哦。

 

亮点五:用例执行页面执行操作简单明了,还可以记录下了执行过程中发现的缺陷,执行人员的操作记录,一目了然。

 

image.png

image.png

 

7. 看来开发、测试之间需要紧密的协作, 它们之间怎么沟通?

肯定是面对面的沟通, 有问题就跑到对方的座位那里去问,大家的座位最好在一起, 扭头就可以讨论,尽可能减少效率不高的电话、QQ/微信等工具的使用。

 

CORNERSTONE讨论功能也可供团队成员互相交流,共享信息,解决自己在工作中遇到的各种问题。

 

image.png

 

开发团队也可每天开一个15分钟左右的站会,展示自己的进展和计划,让进度保持透明,及时暴露问题,解决问题。

 

8. 客户什么时候可以做验收测试?

随时欢迎, 但是我们更倾向于迭代结束以后, 这时候功能会稳定下来, 我们会给客户做一个演示, 告诉他这个迭代完成的工作, 邀请他也测试一下软件, 给我们反馈。

 

当然客户可能会发现问题, 甚至提出新的需求, 我们表示欢迎, 我们要和客户合作,而不是对抗。

除了给客户演示之外,我们自己还会反思一下,看看有那些地方做的好,要继续保持;  那些地方做的不好, 要持续改进。

 

当我们完成了项目目标或可交付成果的时候,就可以对项目进行归档了,当然归档之前可以对项目行进中的一些问题进行复盘,给团队和个人提供一个反省和提高的机会。

 

 

image.png

 

总结:

 

CORNERSTONE作为新一代智能项目管理平台,专注于产品研发项目管理,致力于帮助企业全方位解决团队协作与研发痛点,内嵌精益/敏捷/DevOps方法论,让企业能快速响应市场变化和客户需求,同时还具备成熟的立体化智能数据分析系统,可自动生成报表,帮助企业科学量化团队表现,实时把控项目进展。CORNERSTONE适用于各行各业,产品体验链接(https://www.cornerstone365.cn/)。

aeef399ffa8046109e455da2e8c34dc4.png

GoCN每日新闻(2019-10-10)

回复

data_worm 发起了问题 • 1 人关注 • 0 个回复 • 10487 次浏览 • 2019-10-10 13:11 • 来自相关话题