api 二次 开发 禅道_浅谈-软件开发流程

ba2739ebca7e67841c0f46de539afdfd.png

先直接放出我对软件开发的相关人员职责和流程:

80fa747b123711daff344e0afc4bf89a.png
图一:软件开发的相关人员职责

以下是截屏的开发流程泳道图:

横轴是相关开发人员的工作模块;纵轴是从上至下开发时序周期。

0701690a0b11c4fc4f96305c2db49de9.png
图二:软件开发的流程图

从职责图和流程图对应到我们实际处在软件开发过程中好像就是这样,并无不妥的地方;但是拆分下去并结合你的岗位工作经验就会发现某些环节难以形成流程标准,和很多需要注意的细节。接下去我们可以来聊聊其中的问题。


开发流程涉及到他人协作的模块:

项目经理:任务管理系统(Tower任务管理工具);

产品经理:产品原型和需求文档(Axure原型);

UI设计师:UI稿管理项目(蓝湖);

服务端/前端:api接口等文档(YApi);

测试组:bug管理系统(禅道)。

e1b8d7618349999cb0a53c1187c2bab3.png

6787587df95807573d49ea5a6fd158f1.png

e98f4c48b7d1a1ee9ff1c3fad2238376.png

280b32829ba6ba0505ebe5a65536e1c9.png

33542ac77ea44930ff0782631d7210ed.png

3a11082a9b5b74e9ca08fc8e30c2e72a.png

以上的各岗位所管理的项目系统是涉及到与其他同事协作的工作内容,有依赖时间顺序、有依赖他人工作和需做出回应的。

涉及到协作的工作内容,我们应该做好本职工作以免给他人添加额外的时间成本、工作量,导致嫌隙;不利于团队关系和气氛。


在开发流程中,在完成本职工作上,为什么我们应该更加注重团队协作和工作上的合作、磨合???

  1. 软件项目的开发更注重各岗位的协作,才能更好更快的产出预期的项目;
  2. 软件开发需要较少的人员参与,但工作也是人做的,都会带入情绪、情感,协作上我们应该尽量通过标准化流程避免些不必要的摩擦;带给员工良好的合作体验;
  3. 软件开发的人员画像大部分是些内向、不善沟通、不愿多沟通的;应通过协作管理工具和流程标准来减少不必要的沟通;这样就能更专注的coding和设计,不常被流程外的消息打断、打扰,扰乱思绪。

我们逐一分解各岗位的影响圈,以及在协作方面应该做好哪些:

开发主管/项目经理:

383b4e6baa3bbba25eea418c3956aa23.png
项目主管/项目经理的辐射圈

岗位解读:

在把控进度和质量上,要善于利用任务管理工具;如:Tower,任务状态更改,相关人员都会接受到通知,减少程序员的沟通时间和避开他们当面沟通能力不足的情况,转而通过文档沟通

对内把控项目进度、质量之外,他们的日常工作更应该关注团队管理,了解成员情况,消除不和谐因素,充当团队润滑剂。了解员工留在公司的原因,通勤时间短、公司稳定、薪资待遇、同事团队和谐、团队氛围好、职位有的发展、有利于当前学习?以及近期将来的打算和职业规划。这得要求管理者比较懂得一些为人处世的经验。

然而大部分中小团队的技术负责人、管理者大多都是由开发技术好的程序员晋升上去,大部分程序员性格内向、不善沟通,缺乏为人处世和管理的经验;性格里更是不愿意去触碰这些与人打交道的事情。他们更喜欢沉浸在自己的coding世界中。他们喜欢有产出,但是管理岗这工作实际工作量很多,不易看出实际的产出。对于程序员转岗的管理者来说,带不来多大的成就感,反而还加重他们的负担。在中间管理岗,对上得负责,忙于沟通,对下也得指导沟通;自己反而没时间专注写代码。最后这样的管理者会逃避管理方面的工作内容或逃离管理岗。

大部分中小团队提拔管理者只看到技术能力这方面的考核,过于片面,未正确认识管理者充当的角色和工作内容。

软件开发的技术更新速度较块,程序员这个群体是需要时间学习的,管理者要适当留出时间给他们学习,一直压榨员工时间在业务上,只会捡了芝麻丢了西瓜。

2835e8ab1bfb7a0a48f8b81a85ee0ec8.png

产品经理:

e6d09fbb21b739581074dac1bd520db3.png
产品辐射圈

岗位解读:

产品在整个开发流程中是处于关键的协作位置:原型和文档的输出、需求评审会等都确保其他岗位对于需求的理解保持一致,并且要求同短时期内的需求理解一致,因为互联网需求变更周期较短。不管哪一方需求理解错误,将会导致翻倍的沟通时间以及返工的时间。产品在设计的时候跟写程序一样要多思考边界情况,尽量减少非需求变更导致的原型和文档变更。

产品在整个开发过程中都要求积极参与、沟通:

开发初期:设计产品,需求评审会确保多方理解产品需求正确

开发过程中:跟进开发产出结果确保需求正确、变更需求积主动极沟通多方到位确保对于变更的需求理解一致

开发结尾阶段:验收产品、更改设计不合理的地方,再积极沟通到位

为什么那么强调要:主动积极沟通呢???

因为:项目经理、开发、测试、UI的工作都有依赖于产品原型和需求文档; 项目经理依赖需求控制开发周期和任务;开发开发得业务当然依赖需求;测试的测试用例依赖需求;UI设计也依赖需求。需求一变更,下面的流程就得重新走一遍。需求一动则全身动。要时刻确保大家对于需求的理解一致,就得要求产品经理主动积极沟通到位,而不是其他岗位反过来沟通产品经理。

f402a04f7d3acef28ae63049045947ec.png
需求通知-关系图

b96d43130ee106a28b8876e56def7d1c.png

举个错误的例子:

55a1e8bd98fa0b496841eeed7441381a.png

某互联网公司技术部的某产品如何设计原型和如何主导沟通需求工作的???

  1. 需求文档不用写,原型画的最粗糙、简单的那种,某些交互都不说明的;他以为你们都看的懂原型和他画的原型上的交互的。
  2. 之前偶尔开过需求评审会或者不开了,怎么开的呢?
    1. 需求确定后,通知下午X点后会议集合,然后放映原型,说这次我们要做这个,大概交互是这样。。。
    2. 你们有什么不懂的地方或者建议都可以提出来。。。。
    3. 然后我们是第一次在会议室见到原型,我们能理解要做什么呢???我们什么都不懂好不,多脸懵逼逼逼逼逼逼逼逼。。。
    4. 然后讲的过程中贼快,这个需求就是这样,这个页面就过了,下一个页面。。。。
    5. 就这样???到底是怎么样???我们就这样多脸懵逼离开会议室
  3. 这样开需求有何意义呢,首先得提早1-2天通知我们要开需求会,先把需求原型熟悉过几遍,对于不理解或不合理的地方记录下来,会议上讨论。
  4. 基于此,管理者就开始派发任务,各方自己去理解原型,不理解的地方再各自私聊产品,理解原型和沟通的时间算在开发时间上。这样就会产生多个版本的需求理解。
  5. 开发期间,都是多方在主动找产品沟通的,然后产品原型修改后并没有通知到所有人,就只有提出问题的人知道某个需求修改,多个人提出问题,最后就会导致多方多个需求理解不一致,需求理解没实时保持一致。
  6. 收尾的时候,前后端业务需求不一致,开发和测试bug冲突,测试和产品,开发和产品,ui和前端冲突,测试按自己理解提出的bug,服务端不屌不理任务是前端的问题(各方都以为自己理解是正确)抛给前端,前端认为是设计问题,关闭bug。测试再去跟产品沟通,再次打开bug并在bug上备注“产品这样说的”,然而前端不买账直接转给产品,产品再备注bug要求前端和服务端改。
  7. 导致了多少的工作量和沟通时间,我都把自己说绕了。这时候我40米的大刀已握的紧紧。

58e28f2667a1c1531d896ce84e49a268.png

这让整个团队产生了多少的间隙,还谈什么团队氛围。

8ead183d765c84f8bc58e537e6689645.png

让我们来康康bug如何流转的:

9b9556d8afe72f8fedd98784068ca859.png
某部分bug流转图

这只是bug流转图的某个分支,最后多方互相伤害一波,火药味浓浓啊。

所以综上所述,产品经理实时维护好原型、需求文档并主动积极沟通多么的重要。

UI设计师:

186acd145472d95be4d93c5ec7bf7f7d.png
UI的辐射圈

岗位解读:

如图所示,UI岗看似被所需沟通的岗并不多,整个开发过程参与度也比较低,输出完UI稿算是完成工作了;依赖产品原型,给予前端UI实现帮助,实时维护UI稿项目管理,有变动做到及时通知前端,收尾时变动得再提醒测试。

UI岗有点要注意的是,设计不能太天马行空给开发带来很多实现上的困难,同一套系统UI标准一定要规范化,设计尽量组件化。

前端/客户端:

a7c29922ef75ec4b9ba9da543d07bf2d.png
前端/客户端的辐射圈

岗位解读:

前端主要是以页面、app、小程序等可视化程度高的为产出,这个岗位的工作内容偏依赖于其他岗位,如:产品原型、需求文档;UI稿;服务端的API文档等。所以在开发协作上也是需要经常沟通的。

作为开发这类人的性格都偏向不爱当面沟通,沟通能力也一般,然后前端又比较多沟通,怎么办呢???

所以要借助各方所管理的协作文档和工具,进行文本沟通。如tower任务回复、依赖线上UI稿(蓝湖)产出UI界面、依赖API文档联调接口、bug管理系统等。

其他与多方合作该注意的细节都在上图。

服务端:

d0544249cd5ec892fb3c9e1c118c978b.png
服务端辐射圈

服务端解读:

服务端的工作内容相对其他开发会多些,具体的见最上图的鱼骨图。

日常工作中更多的是于前端撕逼,针对某个功能点自己实现复杂麻烦,前后端都想让对方来实现,这时候斗舞就开始了,就看谁的理由更加充分更能说服对方了,说不过的一方只能忍气吞声了,所以说前后端的关系通常也没那么好。

服务端跟前端协作该做好的一点就是,尽早设计好API接口文档,这样前端在写好UI界面就能今早进入接口联调阶段。服务端也能安心写接口实现功能等。不用空出时间和前端battle。

前后端在开发前尽量协商好api文档的交互数据结构,不然开发后都不好改,让谁改都容易产生点摩擦。


总结:

互联网开发团队通常都是偏中小团队,或者按项目分组;团队人员相对少,加重了团队协作的重要性,活是人干的,要注重团队间的相处沟通和氛围,团队管理者应及时缝合团队裂缝,加固团队团结。开发团队的人员画像的特征也比较明显,要结合这群人的特征,按症下药来协调管理整个工作流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光遇安卓服务器维修,《光遇》渠道服更换手机解决办法

《光遇》游戏中渠道服更换手机怎么办?很多小伙伴更换手机后登陆游戏发现自己还需要重头开始,很多小伙伴表示不知道怎么找回之前的渠道服账号和数据?当然IOS玩家不用担心,如果更换IOS可以继续使用账号,但是IOS更换安卓是…

线程中task取消_Rust Async: async-task源码分析

async-std是rust异步生态中的基础运行时库之一,核心理念是合理的性能 用户友好的api体验。经过几个月密集的开发,前些天已经发布1.0稳定版本。因此是时候来一次深入的底层源码分析。async-std的核心是一个带工作窃取的多线程Executor,而其本…

extjs 方法执行顺序_TestNG之注解变压器amp;方法拦截器

一.注解变压器TestNG允许在执行期间修改所有注解的内容。当源代码中的注解大部分是正确的,但是有一些时刻你想要重写他们的值时,这个是非常有用的。可以使用注解变压器实现。注解变压器是一个实现了接口的类:public interface IAnnotationTra…

服务器升级中暂不可修改怎么回事,抖音服务器升级中,暂不支持本地区开播抖音怎么在法国直播?...

抖音服务器升级中,暂不支持本地区开播抖音怎么在法国直播?除了餐饮,腾讯自主研发的各种跨界开发节目也无人问津。至于年初腾讯app项目和资源,还没有整体发布,不过,神似的行业信息也有公布。这其中对爆红的博…

keil 查看 stm32 io波形_你知道 KEIL 自带示波器吗?

导读:很多时候我们并不满足于查看变量的值,可能还想看这个变量的历史变化,同时以波形的方式显示出来,这就需要了解 KEIL 另一个有趣的东西:逻辑分析仪。效果图:以 STM32F103RET6,外接 8M 晶振&a…

ai怎么取消颗粒效果_AI教程3个超实用设计技巧教程

1-AI教程-矢量颗粒墨点字体教程第一步选择自己需要图形第二步画一个一样大的黑白渐变,放上最上层。第三步效果-像素化-铜板雕刻第四步选择,粒状点,其他的也可以自己尝试。第五步对象-扩散-外观第六步图像描摹同时点击 扩展第七步选择图形&…

企业门户网站服务器,企业或个人门户网站对服务器前的重要准备 - 酷番云

互联网被称为继报纸、广播、杂志和电视之后的第五大数字媒体。因为传统媒体的高成本。而且还受到时间和地域的限制,除非你付出高昂代价,否则效果不太好。互联网是展示世界的窗口,也是信息交流的双向交流工具。成本低,回报丰厚。互联网已经成为越来越多企…

机器人踩滑板_不死神草、飞行滑板…超2000种创新发明在这里展出

便捷式单人飞行滑板、空海光电搜跟设备、“踩不死”的草坪…第二十四届全国发明展览会一带一路暨金砖国家技能发展与技术创新大赛今天(11月19日)上午在佛山市潭洲国际会展中心开幕戳视频看看有啥好玩↓ ↓ ↓视频来源:醒目视频智能中医艾灸床便捷式单人飞行滑板…

区分错误类型_数仓|几种SQL隐藏的错误,你遇到过吗?

本文分享主要描述了几种书写SQL时常见的一些隐藏错误,主要包括:在运算符中使用null值、在聚合数据时使用null值、求平均值时使用判断条件、滤条件中使用and和or、查询的列字段之间缺少逗号分隔、inner join与left join。都是一些比较细节的点&#xff0c…

-9 逆序输出一个整数的各位数字_【Java编程基本功】(八)逆序输出、是否为回文数,判断星期几,升序排列...

第二十四题给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。代码:public 第二十五题一个5位数,判断它是不是回文数。代码:public 代码2:public 第二十六题请输入星期几…

动词变名词的变化规则_动词第三人称单数的变化规则及练习(含语音)

点击上面蓝字关注我“点击即可听录音”1. 大部分单词可以直接在动词后:s例:like -- likes play -- playsShe likes cola.发音规则:所加的“s”在清辅音后,发【s】,works在浊辅音及元音后,发【z】, plays在…

c语言sleep函数_做游戏,学C语言,小球碰撞游戏,菜鸡者从黑窗口到图形化编程...

CMD黑窗口小球运动这次教程,我们实现一个弹跳小球。需要学习完基础的变量、运算符、表达式,printf、scanf输入输出函数的用法,if-else、while、for语句的用法。第1步,显示静止的小球。效果为:第2步让小球斜着弹跳。主要…

语言五子棋无ai程序框图_2020输入法报告 如何选择更好的AI语音输入法?

不少人认为,现在输入法均已内置语音输入方式,只要是语音输入就没有什么差别。其实不然。近日,Mob研究院发布《2020中国第三方输入法行业洞察》报告,深入挖掘分析语音输入法行业现状及变化趋势。《报告》统计显示,讯飞输…

对应的ctrl_取消单元格合并,对空白单元格填充数据,学会Ctrl+Enter五秒搞定

Excel统计数据过程中,相信大家最不想碰到的就是合并单元格,因为合并区域会对我们的数据统计造成各种麻烦。取消单元格合并后,除第一个单元格有内容外其他的单元格都成了空值。案例说明:如上图所示,我们需要将左边合并单…

对比两个字符串相等_字符串匹配问题

0.题目在一个主串S{a, b, c, c, b, c, a, b, d}, 模式串T{a, b, d};请找出模式串在主串中第一次出现的位置提示: 不需要考虑字符串大小写问题,字符均为小写字母第一次在7的位置匹配上1.BF算法Brute-Force算法,简称为 BF算法,是一种简单朴素的…

eclipse 导入maven项目_解决Eclipse导入JAVA WEB项目错误的问题

蓝字关注远浩老师一、 本文问题在开发中不可避免地要涉及导入项目。Eclipse作为常用开发工具,导入JAVA WEB项目文件也很方便,但是我们经常发现导入完的项目有红色的叉来做错误提醒,甚至一些代码也出现错误提示的红线,如下图。 为了…

并发执行变成串行_大神浅谈数据库并发控制 锁和 MVCC

在学习几年编程之后,你会发现所有的问题都没有简单、快捷的解决方案,很多问题都需要权衡和妥协,而本文介绍的就是数据库在并发性能和可串行化之间做的权衡和妥协 - 并发控制机制。如果数据库中的所有事务都是串行执行的&#xff…

docker 部署_Nginx K8s + Docker 部署 ,虚拟机部署教程。

Nginx K8s Docker 部署 ,虚拟机部署教程!Linux 虚拟机 部署1、下载nginx:http://nginx.org/download/2、选择一个版本进行下载:wget http://nginx.org/download/nginx-1.14.0.tar.gz3、解压:tar -xvf nginx-1.14.0.tar.gz4、安装…

双机热备_双机热备软件哪个好?双机热备软件推荐

服务器维护和管理是企业健康稳定运营的一项重要工作,而双机热备可以提供服务器的高可用性。但是成熟好用的双机热备软件有哪些呢?下面就给大家推荐几款。微软MSCSMSCS(Microsoft Cluster Service)实际上是微软自带的,不…

Json和Xml

一、前言 学习心得&#xff1a;C# 入门经典第8版书中的第21章《Json和Xml》 二、Xml的介绍 Xml的含义&#xff1a; 可标记性语言&#xff0c;它将数据以一种特别简单文本格式储存。让所有人和几乎所有的计算机都能理解。 XML文件示例&#xff1a; <?xml version"1.…