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

时间:2020-03-06 15:03:48  来源:igfitidea点击:

敏捷(SCRUM,XP,FDD,...),Waterfall,RUP ... ...为什么小公司首先要采用它呢?为什么不干掉每个项目才能完成(通常团队规模为1〜2)。

我正在针对该论点准备简短的演讲,但想听听每个人的想法。

解决方案

"黑客入侵"是一个开发过程,并不是一个容易跟踪或者预测的过程!

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

一致性是关键。如果我们从一个项目到另一个项目只是在"乱砍",那么与有标准和约定的地方相比,需要一个同事(特别是新员工)花费更长的时间来加快项目的速度。选择哪种标准/方法真的无关紧要,只要我们选择适合我们团队的标准/方法,并始终如一地使用它即可。

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

如果项目可由一个人管理并且时间很短(即少于3个月),则没有正式的流程可能没有任何意义。其中一些流程的原则很重要,但是大多数仪式都可以安全地取消。例如,以一种敏捷的方式,我仍然会跟踪具有技术故事(一句话左右),用户故事(一句话或者两个句子),任务等内容的卡片,因此我不会把球扔到任何东西。我不必做迭代,只是滚动。如果我们知道自己在Beta /预览版/其他方面有一些艰难的日子,则可以通过选择每周工作的卡片的优先级来相应地计划浪潮。

使用某些流程的好处之一是,我们可能会留下一些计划/管理工件(未完成的卡片,积压的订单等),因此,如果我们或者其他人需要恢复项目的开发,则可以更轻松地将其备份。

一个6mo及以上,有2个或者更多人的项目绝对应该有某种流程,以防止团队成员之间的事情变得太混乱和不同步。站立式工作在这里很重要,任务卡和责任制也很重要。

顺便说一下,所有这些东西都是项目管理/过程。即使在一个1人团队中,我仍然会使用源代码控制,持续集成,TDD等。这对于高质量的软件是必不可少的,而不管我们要使用什么流程进行任务分配。

如果"破解"过程允许小公司交付客户想要的东西,并以客户满意的成本支付费用,那么该公司显然不应该费心采取任何其他流程。

当然,问题在于,即使是在一家小型公司中,黑客入侵也会使产生这些结果变得更加困难。另外,如果公司或者其应用程序正在寻求增长,那么黑客将很快变得站不住脚。

我们使用软件过程来管理项目上的时间和资源。如果我们不在乎生产的产品是否超出预算,是否在所有截止日期之前交付且实际上不符合客户要求*,那么"单靠"对于单人项目来说是很好的选择。对于关心这些问题的项目,则将软件过程作为管理层引入。然后,管理人员可以更有效地监视开发生命周期,将精力集中在确定为关键,重要等的任务上,向客户提供有关他们处于哪个阶段的反馈,以及对开发人员,管理人员和管理人员似乎不重要的所有其他内容客户之所以喜欢,是因为它表明我们实际上在做他们认为有用的事情:)

*我并不是说这些都是黑客入侵的后果,或者结构化的过程会消除它们。最好将它们称为黑客入侵方法的"较高风险"区域,因此,仅黑客攻击,黑客攻击和黑客攻击几乎不会在乎它们是否发生的项目:)

我猜想与为什么要建造汽车和建造房屋的原因相同?

采用开发过程可以减少我们说"哦,应该考虑到这一点"的次数。

如果"黑客入侵"项目失败,则会发生以下情况:

  • 经理认为:""懒惰的程序员,他们应该更加努力"。
  • 程序员认为:"下一次我将真正进行单元测试"或者"我们应该使用* this 工具或者that *语言..."
  • 好的程序员认为:""大家好,我要走了"

而且,如果一个正在运行的"黑客入侵"项目延迟,经理往往会在该项目中增加更多的人员。俗话说:"我一个月需要这个婴儿给我送九个女人!"

棘手的事情是使现有流程适应公司和团队:

  • 了解过程
  • 分析过程的组成部分
  • 计划我们要如何引入和衡量流程集成
  • 开始亲吻以集成一个或者两个核心组件(例如日常会议或者一天一小时的一对编程,代码审查或者在办公室吸引客户)
  • 评估并重新配置计划

无论我们是否意识到这一点,我们都已经有了开发过程。深入研究流程的最显着点是,了解其他人已经找到了提高工作效率的方法。也许你也可以!

流程改进是流程的基础。采用流程的重点是学习如何系统地进行改进,以使改进不会将工作分解成碎片。

团队中只有两个人的事实并不是进入的障碍。我甚至在单人团队的项目中也使用精益原则和看板。我可以从这些中受益,因为我已经从它们中学到了东西,并且从中学到了我以前从未想过的更有生产力的方法。

如果我们已经觉得自己没有什么要改进的地方,那么我们可能不需要研究已经在做的事情之外的过程。如果我们确实有这种感觉,请在探索开发过程的想法中尝试详细观察自己的情绪状态。如果我们在进行此工作时甚至承受了最小的压力,那么我们可能会从对所涉工作的感知中回缩,而不是从对工作的学习和对他人的探索中获得的收益。这种内在的心理后坐力并不少见,但在遇到有意义的问题时却很少有帮助。