用于Web开发的软件生命周期模型

时间:2009-11-25 14:55:54

标签: php lamp

我主修了一个很棒的软件工程课程,并教授了过程的重要性和生命周期模型的步骤。我熟悉经典的“瀑布”模型。虽然我们探索了其他人,但无论你的新时代模型多么狡猾或狡猾,瀑布都能很好地列出可能的任务。所以这是一个很好的起点。

当我完成学业时,.NET正在崛起,因此我们没有采用一种良好的生命周期模型来探索Web开发的新方法。现在我在网上商店工作,我们正在尝试建立一些我们没有的良好实践和流程。由于我6​​年前才毕业,并且在更有条理的软件环境中有经验,所以我就是介绍一些新东西的人。

现在办公室只是一片混乱。昨天我从一位项目经理那里得到了很多笑声,告诉他“我们的过程就是单手拍手的声音。”我们迫切需要流程,但我们不知道该怎么做。当我们应该首先收集需求时,每个人都采取向后的方法,想要一个工具来告诉他们如何做事。

我们是一个共9人的商店。我们需要能够快速完成工作。现在有哪些优秀的软件开发模型是行业标准?其他人都这样做,所以我们需要学习,这家店自1995年以来一直在建设网站。我在哪里可以找到最佳实践的良好资源?我们是LAMP商店。

编辑:我还应该补充一点,我们希望在现有网站上添加流程。因此,我们不会建立新的项目,这些模型总是面向这些项目。我们正在维护10年前的网站怪物(确定更像是3 - 5年,但客户年龄更大)并让他们继续前进,同时逐步增加新功能。这有什么帮助吗?

6 个答案:

答案 0 :(得分:4)

许多商店现在使用的是敏捷开发方法。它可以从单个开发人员扩展到您可能拥有的任意数量。使用此方法可以轻松跟踪任何一个人在给定时间内完成的工作量。查看描述方法的维基百科页面:

http://en.wikipedia.org/wiki/Agile_software_development

还有一些很棒的开源和免费工具可以帮助您设置团队,项目,迭代和所有内容。

但是,我会说我曾经在瀑布商店工作,除非管理人员参与改变,否则你将无处可以尝试从瀑布变为敏捷。

编辑(回答问题编辑):是的! Agile肯定会帮助您完成现有项目的维护和增强版本,以及可能的重构版本。它包罗万象。

〜的md5sum〜

答案 1 :(得分:1)

我知道这是一个非常古老的帖子,最近的原始海报并没有活跃。但是,我想知道这可能不是一个仍然需要答案的当前问题。我是StackOverflow的菜鸟,但我对这个问题有一些了解。

这篇文章有很多事情需要解决。首先,你想知道"最好的" SDLC模型的类型。有许多不同的模型,但没有一个正确的答案。这取决于你想要完成什么以及你的团队如何最好地工作。

根据您的帖子,Agile和Scrum的组合将是管理流程排序的好方法。敏捷将允许您在迭代中更快地工作,而Scrum将帮助您的团队识别任务,职责,优先级,挑战和解决方案。

在建立最佳实践和方法时,重要的是,应该解决流程识别和对SDLC方法本身的关注。组织应评估需要完成哪些项目,需要的人员和需求,问题和潜在解决方案,以及有助于管理创建流程的每项任务需求的工作分解结构。

**例如,**如果您需要向现有网站添加页面,可以创建流程指南(因为每个页面都不同,客户也是如此)。您可能有一个类似于以下的进程: 1.收集客户关注点,要​​求,想法,期望等:    (要求面试) 2.现有标准/实施标识 3.列出完成页面添加所需的每个任务 4.为每个人创建精心设计的工作分解结构(WBS)和时间表/截止日期    任务 5.创建进度管理系统(这是一个待开发的新流程。) 6.委派任务/截止日期/团队/等。 7.建立团队沟通 8.审查/测试进度 9.根据已建立的敏捷/ Scrum方法调整任务/ WBS /时间表 10.重复直到完成/满足要求。

您可能在设置其他流程之前设置了Agile和Scrum流程,并且您可以调整它们,直到它们适用于您提供的服务。

您不必根据其他人正在做的事情使用敏捷或Scrum或特定的可用性组合。有这么多人可以选择的美妙之处在于你可以混合搭配它们,直到找到适合你项目的东西。

为了使您的任何流程有效,您需要与您的团队沟通哪些有效,无效或有效,但需要改进。我听到很多赞美的一些工具是: 1. Slack dot com:这是一个团队项目管理工具。 2. G Suite:这是一个付费的应用套件,但您可以轻松使用Gmail,Google驱动器,Google表格,文档,日历,环聊,Google +以及其他免费工具。
3. Trello dot com:这是一个很酷的协作板,我和一些朋友一起用于我的项目。您可以拥有个人电路板或共享电路板:日历,团队,电子邮件连接,提醒等。我真的很喜欢这个网站工具。

这些只是我认为不错的一些,但还有更多提供不同的功能,所以你可以选择适合你的功能。

最后,项目管理是一项艰巨的任务,但是你雇用的人应该能够帮助你解决这个难题。但是,以下是一些可能帮助您进行项目管理的网站: 1. PMI dot org:这是项目管理机构。即使您不是项目经理而且不想成为项目经理,对于负责监督项目后勤的管理职位的人来说,这里也有很多见解和提示。
2. SDLC PM:这仍然是PMI.org,但此链接特定于您的问题。 3. Projectmanager.com:这里有项目管理工具。这里还有一个附加资源的链接。

嗯,我希望这些信息可以帮助您和其他人。我会有更多的链接,但我需要更多的声誉点。但是,我试图将它们偷偷带进去。最好的问候。

-AudreyLin

答案 2 :(得分:0)

AgileeXtreme Programming (XP)都运作良好。我对Rational Unified Process (RUP)也有很好的经验。

所有这些都是迭代的,这使得他们在瀑布上占据了一席之地,因为你不会卡住实现大量功能而无法了解它将如何被感知(更不用说你的用户获得更少的功能)远远超过传统的单片版本。)

RUP在预先收集需求方面做得很好。敏捷和XP都采用了一些非常有趣的技术来确保快速周转的质量。我会看看这三个并找出哪个最适合你的团队(或者为你的应用程序选择三个最好的部分)。

答案 3 :(得分:0)

Scrum,这是一种敏捷实践,是一个试图控制一些混乱的建议。您的项目经理有哪些实践经历?这可能是一个更大的问题,因为笑声可能来自那些感觉受到威胁的人。

编辑:正如其他需要考虑的那样,你有没有这些:

  • 测试 - 您是否有任何自动化测试?
  • 持续整合 - 你知道吗?完全使用它?
  • 来源控制 - 您是否有分支机构和程序或签到?
  • 发展方法 - 临时或“只是做有效”的心态?
  • 环境 - 是否有开发,测试和生产环境?

答案 4 :(得分:0)

炒作是敏捷的。我喜欢Lean背后的原则,它源于敏捷社区。

答案 5 :(得分:0)

我认为一个好的起点是乔尔测试。这是Joel Test for web development。一旦你看了这个,你就会知道从哪里开始改进。这些是基础知识。