为您解决研发管理上的难题,一款研发管理工具产品体验有感

为您解决研发管理上的难题,一款研发管理工具产品体验有感_第1张图片

 

最近一直在研究软件开发的过程管理体系,如何能够帮助开发团队实现开发规范的落地,开发效率的成倍提高,同时又不会让开发人员用起来不是累赘。研究了市面上不同的管理工具,今天就给大家分享一下百度上广告比较多的一个产品:码市。

注册了一个体验帐号,看到的第一个功能是项目管理,这个功能是绝大部分软件开发管理工具的必备功能。从免费的禅道,到其他各种收费的项目管理工具,感觉功能都差不多,无非就是需求管理、任务管理,BUG管理等。相对于传统的单机版项目管理工具,码市的项目管理模块还是使用起来很方便,也很人性化的。同时适合在线多人,团队之间的协同。

为您解决研发管理上的难题,一款研发管理工具产品体验有感_第2张图片

 

代码仓库管理是整个软件开发的核心,码市这块封装了一层GIT,不用自己建立代码仓库服务器了,而且通过WEB方式就可以配置好GIT仓库,还是很方便的。除了提供了代码仓库空间,其他的功能跟直接用GIT命令或客户端,差别不是特别大。

为您解决研发管理上的难题,一款研发管理工具产品体验有感_第3张图片

 

另一个比较大的功能是持续集成,没太理解它的作用,我估计是代码仓库跟测试服务器之间的一个持续集成的配置,可以代码一提交,在测试服务器就能集成好并通过地址可以直接访问,不需要在本地再部署调试环境了。

为您解决研发管理上的难题,一款研发管理工具产品体验有感_第4张图片

 

基于容器的在线部署,也就是DEVOPS能力,这是一套自动化部署的体系,让开发人员不用直接接触生产服务器,就能把测试好的代码,直接部署到生产服务器,避免各种安全隐患,还是很有用处的。在小公司一般都是开发人员直接用ROOT连接生产服务器,在生产服务器随便折腾,特别容易造成生产服务器的安全隐患,程序或数据的删除等等。通过DEVOPS体系就能大大减轻开发运维人员的工作,并能提高生产环境的安全性。这个是好功能。

为您解决研发管理上的难题,一款研发管理工具产品体验有感_第5张图片

 

制品库没搞明白是啥东西,大概是保存了不同版本的生产服务器版本,可以方便的在不同版本之间随意切换代码。

为您解决研发管理上的难题,一款研发管理工具产品体验有感_第6张图片

 

测试模块,主要是测试用例及测试计划的管理,也没什么特殊的地方。

为您解决研发管理上的难题,一款研发管理工具产品体验有感_第7张图片

 

从功能上分析,这个产品涵盖了需求管理,项目管理,测试管理,运维等工作,还是很全的。但是根据我多年的团队开发经验来看。这些工作会额外增加开发人员的很多工作。比如需求管理,传统做法是我做好原型,做好PRD就好了,如果用这个工具,还得把需求一个一个录进去,会额外增加工作量。特别是对于开发人员来说,每天上来提交开发任务和进度,会成为一个负担,最后就是流于形式,就像很多开发团队的日报一样,每天做的事情都差不多,发日报就是应付差事。所以没有从根本上解决开发的效率。

最近看了一篇阿里团队内部敏捷开发的方法体系,感觉收益很多。软件开发目前要解决的不是所谓的项目管理工具问题,而是理念的问题。

首先从甲方角度(公司内部称为需求方),做了很多价值的需求,以及需求不停地返工。因此发生在软件开发之前的需求澄清工作至关重要,在软件研发过程中,大多数的时间浪费在需求的反复确认和澄清过程中。

如何做好需求澄清呢?就是实例化需求,是业务、产品、开发和测试一起坐在一起,从场景出发,以用户的操作实例来澄清需求。实例是具体的,其典型形式是:“在什么情况下,做什么操作,会得到什么结果”。基于具体的实例,更加便于沟通中的双向确认,保证理解的一致和场景覆盖。

需求澄清是需要甲方多个角度的配合和沟通的,这也是目前外包市场失败的主要原因:甲方的需求只是简单的几句话,然后包含无限的含义,让开发团队去猜测去简化,造成需求澄清不了,从而扯皮

其次,验收测试驱动开发

  • 需求进入开发团队的队列(等待开发)后,业务、开发和测试立即通过实例化需求活动澄清需求,用结构化的方式生成需求的验收标准。
  • 在开发实现这些需求的同时,团队会将这些需求实例会转化成测试用例,并把部分测试用例自动化,做到功能实现和自动化测试开发同步完成。
  • 需求实现完成后,团队会有加工好的测试用例来验收这些需求。甚至可以将部分测试用例提前给到开发人员,让开发提前进行自测。

并且这些测试驱动的过程,能利用自动化手段,无时不刻的在测试开发的程序是否正确。

最后,任务的小粒度拆分,甚至到小时级别

在整个迭代过程中,团队以小粒度的需求为单位开发,持续地集成和测试它们,即时发现和解决问题。

唯有实现了这些开发的功能和一些自动化手段的工具,才能真正提高软件开发的质量,真正实现开发效率的倍增。仅仅是一个项目管理工具和代码管理工具,不会有多大的作用。

以上是个人的观点和研究,欢迎大家的拍砖和点赞。

你可能感兴趣的:(互联网,人工智能,软件开发)