您遵循个人软件流程吗?您的组织/团队是否遵循团队软件流程?[关闭]

StackOverflow https://stackoverflow.com/questions/28197

  •  09-06-2019
  •  | 
  •  

了解更多信息 - 维基百科上的个人软件流程维基百科上的团队软件流程.

我有两个问题:

  1. 您从这些过程中看到了什么好处?
  2. 您使用哪些工具和/或方法来遵循这些过程?
有帮助吗?

解决方案

我参加了培训,然后公司出钱让我去卡内基梅隆大学参加 PSP 讲师培训课程,获得讲师认证。我认为目标是将此作为我们公司 CMM/CMMI 工作的一部分。我遇到了瓦茨·汉弗莱(Watts Humphrey),发现他是一个善良、温柔的人,对流程有一些根深蒂固的想法。我也读过他的几本书。

简而言之,这是我的看法——它对于大多数人来说过于结构化,无法遵循,假设你严格按照规定行事。基于历史信息进行估算的想法是可以的,特别是在课堂环境中,但在现实世界中,由于需求和方向的变化,估算在一天之内就被撤销,因此它的用处要小得多。我还进行了宽带德尔菲估计,这还可以,但老实说不一定比我做出的“最佳猜测”更好。

我的团队对 PSP 不太热衷,这就是问题的一部分——开发商的支持。我的公司这样做的原因是错误的 - 只是说“嘿,看我们使用 PSP 并且有一些经过认证的讲师!”。

最后,我发现使用“敏捷”方法会更好。我有大量积压的工作要做,并且通常可以很好地估计它。我已经这样做了足够长的时间,我可以对时间做出相当好的粗略估计,坦率地说,我不认为时间跟踪真的能改善很多事情。也许在某些环境中它会运作良好,但在我的地方,我们将继续推出高质量的软件,而不会产生所有会带来可疑收益的流程障碍。

只是我的两分钱。

其他提示

我曾经遇到过这个问题,甚至尝试过使用 PSP Dashboard。

跟上太难了。谁想在所有活动中都使用秒表?遵循 Joel 关于无痛调度和基于证据的调度的建议。

+1 这个问题,-1 给 PSP。

我已经熟记 PSP 和 TSP 流程 4 年了(尽管那是我软件职业生涯的开始)。作为一个理想主义者,你会喜欢你所做的事情,当然,也会有令人惊奇的结果。
尽管PSP提倡将你的缺陷记录到核心(例如;或拼写错误),我正在与先生交谈。Watts Humphrey 很多人向他询问编译器的进步和面向对象的缺失(我觉得,它是如何缺失的,因为我是一名 OO 程序员并且正在成功地使用它)。他提供了一个非常好的答案。它接着说,“PSP,或者事实上任何过程方法论,都不是一个停留在单一想法上的概念。核心思想是向人们介绍质量方法和分析。
“它总是自适应的。您可以根据您的需求进行定制。如果您觉得自己会采用功能点方法,那么您可以继续使用。对于任何估计技术都是如此。但你应该不断地、重复地这样做。
“编译器的进步也是如此。如果您觉得PSP结构中的WBS不适合您的开发,请修改它并使用,然后再不断地这样做。
“当你不断地这样做时,你将收集你的历史数据,并对所有参数进行统计上的可预测和准确的估计”
也许我回答的晚了,但当我读完所有的回复后,我觉得我想分享这个。根据工具,我们有流程仪表板、PSP Excel 表等等。

对于PSP,我见过 软件流程仪表板, ,但似乎很难使用。

我已经完成了 PSP 课程,下一门应该是 TSP,正如其他人所说,它是为了团队动力。我对 PSP 的感受很复杂(大部分是负面的,但结果很有趣),我得出以下结论:

  • 首先 我感到沮丧的主要根源是设计模板太乏味且不切实际. 将它们更改为 UML 和 BPMN,从一开始就告诉您的导师,如有必要,请强制实施. 。书本身说设计模板是为那些不了解或不想学习UML 的人准备的。
  • 第二, 估计对我来说是唯一有价值的部分. 。这本书本身说你可以使用除了代码行之外的其他东西,它甚至告诉你如何知道它们在统计上的相关性。我对此的看法(计算代码行数)是,必须存在与您的 VCS(git、mercurial)连接的工具/插件,并自动构建您的个人数据库,否则跟踪基础/添加/重用的部分太繁琐。
  • 这个过程本身很好,但是 不适用于大型项目, , 为什么,因为 它只是不能应对迭代. 。在现实世界中,由于需求变化,您总是必须重申项目。您仍然可以将该规则应用于小型程序化任务,即:计划、设计、审查你的设计(有设计标准和一个你可以记住的小清单)、编码、审查你的代码(有清晰的编码标准和一个你可以记住的小清单)、测试、思考你的错误。任何有经验的程序员都会知道这些最终是需要遵循的直观步骤。 我在实际实践中的建议:遵循流程,但不要记录除设计之外的其他内容,如果您确实实施了单元测试,请妥善记录它们.
  • 这个过程实际上可能值得遵循并且实用......对于实时系统编程来说,绝对没有出错的余地,否则感觉不值得。
  • 如果您正在寻找一种组织和提高注意力的方法,请尝试 GTD(把事情做好)番茄钟 第一的。
  • 如果你有强迫症,你可能真的会喜欢 PSP =)。

我最后的建议,从中学习作为参考,可能会带来更好、更实用的东西。这东西太学术了。

附:安息吧瓦茨·汉弗莱

过去六个月我一直在使用 PSP。

这很耗时。据我估计,我必须花费 7% 的时间填写表格。不得不一遍又一遍地犯“缺少分号”的错误是令人沮丧的。

但另一方面,随着我习惯了这个过程,它变得很重要,因为我开始了解我主要犯了哪些错误,并且我开始“自然地”避免它们。

它还可以让您“检查”您的代码,以便您可以在点击编译按钮之前查看是否存在任何问题。

对于工具,我建议使用 Timetracker: http://0xff.net/

我建议至少尝试 PSP 几个月,因为你会养成一些习惯,有助于减少编译和纠正小错误所花费的时间。

我在大学最后一个学期学到了它,它对我很有用。我知道,通过严格遵循它,我可以确信我可以点击“编译”并且不会出现任何错误,并且通过点击“运行”,我将不必再花时间修复和重新编译程序来一次又一次地运行它直到混乱被解决。

人们抱怨必须记录“缺少的分号”之类的东西,但是当您使用程序 7 时,您将不再犯这种微不足道的错误,而是在程序的重要部分中发现了缺陷。虽然我还没有机会将其应用到实际场景中,但我真的很期待!

我会尽可能遵循 PSP 2.1 流程。它确实帮助我集中注意力,不跳过项目中重要但不那么令人兴奋的部分。通常这是小型项目的设计和设计审查。

要跟踪时间,您可以使用 PSP 仪表板,它具有大量内置功能和脚本,可帮助您跟踪流程。

如果您只是在寻找时间跟踪工具,我也喜欢 http://slimtimer.com. 。它还可以做一些像样的报告。

几年前,我关注了 PSP 几个星期,因为我的团队想尝试一下它。我发现与它一起工作非常令人失望,甚至令人恼火。它耗尽了我的耐心。我的主要缺点是:

  • 对诸如拼写错误或缺少分号之类的事情进行可笑的强调。
  • 您必须手工填写的不切实际的表格。
  • 专注于过程编程而不是面向对象。
  • 估计涉及计算循环、函数等的数量。

我发现这浪费了很多时间。我宁愿选择离开这个职业,也不愿被迫追随PSP。

相关材料: 我对一本PSP书的回答 在“你不会向开发人员推荐什么编程书籍”问题中。

我在大学期间使用过它,但在工作中我们实际上根本没有流程。直到最近我们才开始使用版本控制。

我的经验是,它似乎太乏味了,没有什么用处。如果它不是自动化的,那么它就会消失。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top