为什么要采用软件开发流程?

时间:2008-10-03 05:46:42

标签: methodology sdlc

敏捷(SCRUM,XP,FDD,...),瀑布,RUP,......为什么一家小公司会首先采用一种方式。为什么不把每个项目都砍掉(通常团队规模为1~2)。

我正准备一个简短的陈述来反对这个论点,但我想听听大家的想法。

8 个答案:

答案 0 :(得分:16)

是的,我最喜欢的问题类型。每当SDLC出现时,适当的答案总是,“这取决于!” :)我和每个人一样讨厌这个答案,所以让我们深入挖掘。

如果您的项目可以由一个人管理并且非常短(即<3个月),那么没有正式的过程可能是有意义的。一些过程的原则很重要,但大多数仪式都可以安全地放弃。例如,以敏捷的方式,我仍然会跟踪有技术故事(一句话左右),用户故事(一两句话),任务等的卡片,所以我不会把球放在任何东西上。我不会做必要的迭代,只是滚动波。如果你知道你有一些测试版/预览版的日期,那么你可以通过选择你每周工作的卡的优先级来相应地规划你的wave。

拥有一些流程的一个好处是,您可能会留下一些计划/管理工件(撤消卡,积压等),因此,如果您或其他人需要恢复项目开发,您可以更轻松地重新选择它

一个6mo及以上的项目,2个或更多人应该有一些过程,以防止团队成员之间的混乱和不同步。在这里,站立起来很重要,任务卡和问责制也是如此。

顺便说一句,所有这些都是项目管理/流程。即使在单人团队中,我仍然会使用源代码控制,持续集成,TDD等。无论您使用什么过程进行任务分配,这都是高质量软件的必需品。

答案 1 :(得分:14)

“黑客攻击”一个开发过程,它不是一个容易被跟踪或预测的过程!

过程的重点是一致性和可预测性

答案 2 :(得分:4)

如果“黑客攻击”项目失败,则会发生这种情况:

  • 经理认为:"lazy programmers, they should work harder"
  • 程序员认为:"next time I will really do unit testing""we should have taken *this* tools or *that* language..."
  • 优秀的程序员认为:"Bye everybody, I'm leaving"

如果正在运行的“黑客攻击”项目延迟,管理人员往往会为项目增加更多人。来自there的说法是:"I need this baby in a month send me nine women!"

棘手的是让现有流程适应您的公司和团队:

  1. 了解流程
  2. 分析流程的组成部分
  3. 计划如何引入和衡量流程整合
  4. 启动kiss以整合一个或两个核心组件(例如每日会议,或每天一小时配对编程,或代码审核,或在办公室中获取客户)
  5. 衡量并重新配置您的计划

答案 3 :(得分:2)

一致性是关键。如果你从一个项目到另一个项目只是“乱砍”,那么一个同事(或者特别是一个新员工)需要更长的时间来加快项目的速度,而不是有标准和惯例。选择哪种标准/方法并不重要,只要您选择一种适合您团队的标准/方法,并始终如一地使用它。

答案 4 :(得分:2)

无论你是否意识到这一点,你已经有了一个开发过程。研究广泛的流程世界最重要的一点是了解其他人已经找到了提高工作效率的方法。也许你也可以!

流程改进是流程的基础。采用一个过程的关键是学习如何系统地改进,以便改进不会使工作分崩离析。

你团队中只有两个人并不是进入的障碍。我甚至在我作为一个人团队所做的项目中使用精益原则和看板。我可以从这些中受益,因为我从他们身上学到了东西,从那个学习开始,我的思想开始变得更加富有成效,这是我过去没有想到的。

如果您已经感觉自己没有什么可以改进的话,那么您可能不需要考虑您已经在做的事情以外的流程。如果你真的有这种感觉,当你在思考探索发展过程时,要尽量仔细观察你的情绪状态。如果你这样做的话,即使是最轻微的压力时刻,你也可能会从对工作的看法中退缩,而不是从工作中学习和探索他人的好处。这种内在的心理反冲并不罕见,但在面对一个有意义的问题时它很少有用。

答案 5 :(得分:1)

您使用软件流程来管理项目的时间和资源。对于单人项目来说,“黑客攻击”是好的,在这个项目中,你不关心你所生产的是过度预算,在所有截止日期前提供过去并且实际上并不符合客户要求*。对于那些关心这些的项目,然后引入软件过程作为管理层。然后,管理人员可以更有效地监控开发生命周期,将工作重点放在被识别为关键,重要等任务上,向客户提供关于他们处于什么阶段的反馈,以及所有其他对开发人员而言对管理者而言不重要的事情。客户喜欢,因为它表明我们实际上在做他们认为有用的事情:)

*我并不是说这些总是会导致黑客攻击,或者更结构化的流程会将其删除。它们被称为黑客攻击方法的“高风险”区域,因此一个只是黑客攻击和黑客攻击的项目几乎不关心它们是否发生:)

答案 6 :(得分:1)

我猜想为什么有建造汽车和建造房屋的过程的原因相同?

采用开发过程可以减少你说“哦,应该想到这一点”的次数。

答案 7 :(得分:0)

如果“黑客攻击”流程允许小公司提供客户想要的东西,并且客户满意的成本,公司显然不应该费心采用任何其他流程。

当然,问题在于,即使是在一家小公司,黑客攻击也会使这些结果变得更加困难。此外,如果公司或其应用程序正在寻求增长,黑客将很快变得站不住脚。