多么可笑的公司呀,他们是搞Scrum工具的

2024-04-17 16:18

本文主要是介绍多么可笑的公司呀,他们是搞Scrum工具的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天收到yahoo group中极限编程组(extremeprogramming@yahoogroups.com)的一封求助信,大意是:“需要自动化构建和持续集成的收益数字,好让他们的VP能让他花上一段时间专门优化他们的构建脚本,以便将时间从3、4天缩短到12个小时。因为他们的单元测试运行时间太长,而且构建经常因为单元测试的失败而失败。”

这也没什么可笑的,因为这种事在很多公司都常见,但是,当这件事发生在一个号称“敏捷”,而且是买Scrum管理工具的软件公司里,就变得有些可笑了。

不过也难怪,他们是搞Scrum的,Scrum才不管你的构建呀、单元测试呀、持续集成呀。


笑过之后,指出一些可能的bad smell和可能的对策。当然,不是指说服他们VP的对策。——哈哈哈。

  • 做为一个开发人员,优先构建和开发新功能并不矛盾呀,是开发人员自己让事情发展成这样的呀,你为啥怪VP不给你时间呢
    • 因为一直为了讨好VP,只管快速开发功能,忘记自己应该做的事情了吧——只管赶工,等债台高筑了,VP说是:“你自己欠的,自己加班还吧”
  • 构建时间较长
    • 需要看看编译和打包脚本,估计有很多浪费
    • 如果是C/C++,可以使用分布式编译啊
  • 单元测试时间太长
    • 写的根本就不是单元测试
      • 可能是集成测试(比如那些talk to db, file system, network),依赖于很多基础环境,而这些环境经常有问题
      • 可能是这些集成测试本身写的不好,有很多wait(10s),并且一个测试中有测试很多场景
    • 单元测试真的很多(这个可能性不大,数千个单元测试的话,在分钟内也可以跑完呀)
      • 失败较多的话,很可能根本没有做持续集成中的基本实践(六步提交法),开发人员本地不跑单元测试
      • 没有使用并行运行策略来缩短时间

-----------------------------

求助信原文:

Can anyone point me to some real numbers on the benefits of automating the builds and continuous integration.

Perhaps there's a good white paper on this topic.

I don't need to be convinced, but trying to make a case to our VP on doing this first rather than working on new features.

We do have automated builds but the unit tests take forever to run and often times the build fails due to unit test failures.

We want to make a substantial effort to get to builds in 12 hours from 3 or 4 days.

Just hard to quantify the benefits.

Thanks
jack


公司:


这篇关于多么可笑的公司呀,他们是搞Scrum工具的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/912275

相关文章

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

基于Go语言实现一个压测工具

《基于Go语言实现一个压测工具》这篇文章主要为大家详细介绍了基于Go语言实现一个简单的压测工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理客户端模块Http客户端处理Grpc客户端处理Websocket客户端

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

基于C#实现PDF文件合并工具

《基于C#实现PDF文件合并工具》这篇文章主要为大家详细介绍了如何基于C#实现一个简单的PDF文件合并工具,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下... 界面主要用于发票PDF文件的合并。经常出差要报销的很有用。代码using System;using System.Col