最近还在研究软件开发的流程管理系统,它如何帮助开发团队实现开发规范的落地,开发效率成倍提升,同时开发者使用起来不碍眼。 研究了市面上不同的管理工具,明天给大家分享一个百度上广告比较多的产品:代码市场。
注册了体验号后,首先看到的功能就是项目管理,这是大部分软件开发管理工具必备的功能。 从免费的禅道到其他收费的项目管理工具,感觉功能都差不多,无非就是需求管理、任务管理、BUG管理等。相对于传统的单机项目管理工具,项目管理模块码城的使用还是很方便的禅道项目管理软件教程,很人性化。 同时适合在线多人对战和团队协作。
代码仓库管理是整个软件开发的核心。 代码城封装了一层GIT,不需要自己搭建代码仓库服务器,可以通过WEB方式配置GIT仓库,非常方便。 不仅提供代码仓库空间禅道项目管理软件教程,其他功能与直接使用GIT命令或客户端没有太大区别。
另一个比较大的功能是持续集成。 不太明白它的作用。 恐怕是代码仓库和测试服务器之间的持续集成配置。 提交代码后,即可集成到测试服务器上,可直接通过地址访问。 接入,无需在本地部署调试环境。
基于容器的在线部署,即DEVOPS能力,是一种手动部署系统,可以让开发者在不直接接触生产服务器的情况下,将经过测试的代码直接部署到生产服务器上,杜绝各类安全问题。 隐患还是很有好处的。 在小公司,开发者通常使用ROOT直接连接生产服务器,在生产服务器上随意折腾,很容易导致生产服务器安全隐患,程序或数据被删除等。 通过DEVOPS系统,可以大大减少开发和维护人员的工作量,提高生产环境的安全性。 这是一个很好的功能。
产品库没搞清楚是什么东西。 它可能保存了生产服务器版本的不同版本,您可以轻松地在不同版本之间切换代码。
测试模块主要是测试用例和测试计划的管理,没有什么特别的地方。
从功能上分析,该产品包括需求管理、项目管理、测试管理、运维等,相当全面。 而根据我多年的团队开发经验。 这种工作会额外减少开发人员的大量工作。 比如需求管理,传统的方法是我做好原型和PRD。 如果我使用这个工具,我必须一个一个地输入需求,这样会减少工作量。 尤其是对于开发者来说,每天晚上提交开发任务和进度会成为一种负担。 终究只是一种方式。 就像很多开发团队的晚报一样,每天晚上做同样的事情。 送晚报只是应付差事。 所以开发效率没有根本的解决办法。
最近看了一篇阿里团队内部敏捷开发的方法体系的文章,感觉收获不少。 目前软件开发需要解决的不是所谓的项目管理工具的问题,而是理念的问题。
首先站在乙方(公司内部叫需求方)的角度,提出了很多没有价值的需求,需求不断返工。 因此,软件开发前的需求厘清工作非常重要。 在软件开发过程中,大部分时间都浪费在需求的反复确认和明确中。
如何明确要求? 是需求实例化,业务、产品、开发、测试坐在一起,从场景出发,用用户的操作实例来明确需求。 例子是具体的,它的典型方式是:“在什么情况下,进行什么操作,会得到什么结果”。 基于具体的例子,更便于沟通中的单向确认,保证理解的一致性和场景的覆盖。
需求澄清需要乙方多角度的配合和沟通,这也是目前外包市场失败的主要原因:乙方的需求只是简单的几句话,然后包含了无限的含义,让开发团队能够揣测和简化,导致需求无法澄清,所以搪塞过去。
二、初步测试驱动开发
但是,这个测试驱动的过程可以通过人工的方式,时刻测试开发的程序是否正确。
最后,细粒度的任务划分,甚至细化到小时级别
在整个迭代过程中,团队以小规模需求为单位进行开发,不断集成测试,实时发现和解决问题。
只有实现这种开发功能的工具和一些手工的方法,才能真正提高软件开发的质量,真正使开发效率成倍提高。 仅仅一个项目管理工具和代码管理工具是起不了多大作用的。
以上为个人观点和研究,欢迎大家指正和点赞。