遗留物理模型的错误跟踪
我是开发物理模型的团队中唯一的软件工程师(大约 30,000 行代码)。 该团队的其他成员由科学家组成,他们开发代码库已有大约 20 年的时间。 我的工作流程是这样的:
- 科学家请求一个新功能,
- 我
- 通过测试和实现它。 验证后,我在数字深处发现了一个严重的问题
- 科学家请求一项新功能(没有修复#3中确定的问题)
我们的问题似乎是错误跟踪是通过电子邮件和便利贴完成的。 繁忙的工作安排让 bug 数月都被忽视。 我认为一些正式的错误跟踪器(即 Trac、Redmine、Jira、FogBugz 等)可以帮助我们。 以下功能是必不可少的:
- 非常易于使用
- 与版本控制软件集成(我们使用 Subversion)
有很多帖子建议 哪个 bugtracker 是“最好的”...但我想我更感兴趣的是:
- 您对 bugtracker 的开销是否值得的经验是什么
- 您如何说服物理学家(谁遵循 70 年代糟糕的软件工程“最佳实践”)认为 bug 跟踪器值得付出额外的努力?
- 我感觉如果我安装了错误跟踪器,我将成为唯一的用户。 还有其他人经历过吗? 还有用吗? 团队似乎需要一定数量的“买入”才能使错误跟踪器值得额外的开销。
I am the lone software engineer on a team that develops physics models (approx 30,000 lines of code). The rest of the team consists of scientists who have been developing their codebases for about 20 years. My workflow goes something like this:
- Scientist requests a new feature
- I implement it
- Via testing & validation, I find a serious problem somewhere deep within the numerics
- Scientist requests a new feature (without fixing the problems identified in #3)
Our problem seems to be that bug tracking is done via e-mail and post-it notes. Busy work schedules let bugs slip under the radar for months and months. I think some formalized bug tracker (i.e. Trac, Redmine, Jira, FogBugz, etc.) could help us. The following features are essential:
- Incredibly easy to use
- Integrate with version control software (we use Subversion)
There are plenty of posts that suggest which bugtracker is "best"... but I suppose that I am more interested in:
- What's your experience in whether or not the overhead of a bugtracker is worth it
- How do you convince a physicist (who follows poor software engineering "best practices" from the 70's) that a bug tracker is worth the extra effor?
- I get the feeling that if I install a bug tracker, I'll be the sole user. Has anyone else experienced this? Is it still useful? It seems like the team would need a certain amount of "buy-in" to make a bug tracker worth the additional overhead.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
错误跟踪器绝对值得,部分原因是它们规范了实现新功能和修复错误所需的工作流程。 您始终有一个工作负载的中心位置(“我的错误”、“我的任务”等)。 过去几年我工作过的几乎每个环境都有某种错误跟踪器,所以我不确定在购买方面应该推荐什么。是否有不止一位科学家来向您提出功能请求/bug修复? 如果是这样,那么也许您可以使用错误跟踪器作为某种冲突解决系统。 你有老板/经理吗? 那么拥有一个错误跟踪系统将为您的老板提供很多见解。
总的来说,作为软件开发人员,错误跟踪器非常有用。 我的建议是想办法让 bugtracker 增强你的 & 你同事的生活。 也许做一个快速演示。
HTH。
Bug trackers are definitely worth it, in part because they formalize the work-flow required to implement new features and fix bugs. You always have a central place for your work load ("My bugs", "My tasks", etc). Pretty much every environment that I've worked at in the last few years has had a bugtracker of some sort so I'm not sure what to recommend in terms of buy in. Do you have more than one scientist coming to you for feature requests/bug fixes? If so, then perhaps you could use the bug tracker as a conflict resolution system of sorts. Do you have a boss/manager? Then having a bug tracking system would provide a lot of insight for your boss.
In general, as a software developer, bug trackers have been very useful. My suggestion would be to think of ways that a bugtracker would enhance your & your coworker's life. Maybe do a quick demo.
HTH.
根据我的经验,错误跟踪器的开销是显而易见的,但绝对值得! 问题是,如果您决定使用错误跟踪器,只有每个人都使用它才能成功。 作为这样一个系统的唯一用户并没有那么有用。
话虽如此,即使我是唯一的用户(这种情况经常发生),我仍然安装 bugtracker(通常是 trac)。 如果您虔诚地使用它(将通过不同方式引入的所有内容都作为错误输入,并且始终在回复中提及错误#),那么随着时间的推移,团队通常会发现它。
输入里程碑(或您选择的跟踪器所称的任何名称)并将错误链接到它们。 每当有人问某件事的进展情况时,请调用里程碑报告或同等内容并向他们展示。 这有助于人们不再认为错误跟踪器是一种麻烦,而是认识到它可以成为宝贵信息的来源。
In my experience, the overhead of a bugtracker is noticeable but definitely worth it! The catch is that if you decide to use a bug tracker, it can only succeed if everyone uses it. Being the sole user of such a system is not quite as useful.
Having said that, even if I am the sole user (which tends to happen a lot), I still install the bugtracker (typically trac). If you use it religiously (enter every thing that comes in through different means as a bug and ALWAYS refer to bug# in your replies), the team generally tends to pick it up over time.
Enter milestones (or whatever your tracker of choice calls them) and link bugs to them. Whenever someone asks what the progress of something is, call up the milestone report or equivalent and SHOW THEM. This helps convert people from thinking of the bug tracker as a nuisance to realizing that it can be a source of invaluable information.
我建议您查看这篇Joel On Software 文章中的策略 2。 他基本上认为,如果您的公司不使用错误跟踪软件,您应该开始自己使用它,并演示它如何帮助完成工作。 还请其他人使用它来提交错误,以便他们了解它是多么容易使用。
I suggest taking a look at Strategy 2 in this Joel On Software article. He basically argues that if your company doesn't use bug tracking software, you should just start using it for yourself, and demonstrate how it helps get things done. Also ask other people to use it to submit bugs so they see how easy it is to use.
即使您是唯一的用户(这发生在我身上一次),也是值得的。 您可以开始这样说:“Bug 1002 被阻止了。谁可以帮助我解决这个问题,以便我们可以继续处理这个或那个功能。”
Even if you're the sole user (it happened to me once), it's worth it. You can start saying things like, "Bug 1002 is blocking. Who can help me with that so we can move on to this and that feature."
我们发现 redmine 比 trac 更好,只是因为它更容易使用。 它确实缺乏其他一些系统中的一些功能,但这也意味着非程序员遇到问题的东西更少。 它也非常好,因为它允许程序员以外的人了解系统的当前状态。 如果存在大量未解决的关键错误,则更容易让人们明白他们所请求的功能将不得不等待一段时间。
We found redmine to be a better than trac simply because it is easier to use. It does lack some of the features found in some of the other systems, but this also means there is less stuff for non-programmers to have a problem with. It's also very nice because it allows someone other than the programmers to get a feel for the current state of the system. If there is a large number of critical unclosed bugs it is easier to make people understand that their requested feature will have to wait a little.
这是一个类似的问题。
什么是最有效的算法开发人员和开发人员之间的工作流程?
它并没有说明哪个 bugtracker 最好,但它确实说明了如何说服物理学家接受。
This is a similar question.
What's the Most Effective Workflow Between People Who Develop Algorithsm and Developers?
It does NOT speak to which bugtracker is best, but it does speak to how to convince the physicists to buy-in.
使用颠覆? 这里有一个/。 有用的帖子:
Subversion 的最佳集成问题跟踪器?
一般来说,这是问题跟踪系统的比较。
Using subversion? Here's a /. post that is helpful:
Best Integrated Issue-Tracker For Subversion?
An in general, here's a Comparison of Issue Tracking Systems.