【问题标题】:Software life-cycle models for web developmentWeb 开发的软件生命周期模型
【发布时间】:2010-12-20 07:52:05
【问题描述】:

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

当我完成学业时,.NET 刚刚兴起,因此我们没有介绍使用良好生命周期模型进行 Web 开发的新方法。现在我在一家网店工作,我们正在尝试建立一些我们没有的良好实践和流程。由于我 6 年前才毕业,并且在更结构化的软件环境方面有经验,所以我是介绍一些新东西的人。

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

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

编辑:我还应该补充一点,我们希望向现有网站添加一个流程。因此,我们不会建立新项目,而这正是这些模型一直以来的目标。我们正在维护 10 年历史的网站怪物(好吧更像是 3-5 年,但客户年龄较大)并保持它们继续运行,同时逐步添加新功能。这些有什么帮助吗?

【问题讨论】:

    标签: php lamp


    【解决方案1】:

    我知道这是一个很老的帖子,并且原始发帖人最近没有活跃。但是,我想知道这是否可能不是当前仍需要答案的问题。我是 StackOverflow 的菜鸟,但我确实对这个问题有所了解。

    这篇文章有很多问题需要解决。首先,您想知道 SDLC 模型的“最佳”类型。有许多不同的模型,但没有一个正确的答案。这将取决于您要完成的工作以及您的团队如何以最佳方式工作。

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

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

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

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

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

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

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

    最后,项目管理是一项艰巨的任务,但您聘请的人应该能够帮助您解决这个难题。但是,这里有一些网站可能会帮助您进行一些自己的项目管理: 1. PMI dot org:这是项目管理机构。即使您不是项目经理并且不想成为项目经理,这里也有非常棒的见解和技巧,供任何处于监督项目后勤管理职位的人使用。
    2. SDLC PM:这仍然是 PMI.org,但是这个链接是针对你的问题的。 3、Projectmanager.com:这里有项目管理工具。这里还有一个链接,其中包含其他资源。

    嗯,我希望这些信息对您和其他人有所帮助。我会有更多的链接,但我需要更多的声誉点。然而,我试图把它们偷偷溜进去。最好的问候。

    -AudreyLin

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        Scrum,这是一种敏捷实践,建议尝试控制一些混乱。您的项目经理有哪些做法?这将是更大的问题之一,因为笑声可能来自在他们的位置上感到受到威胁的人。

        编辑:就像其他要考虑的事情一样,你有这些吗:

        • 测试 - 你们有自动化测试吗?
        • 持续集成 - 你知道吗?使用它吗?
        • 源代码控制 - 你有分支和程序或签到吗?
        • 开发方法 - 临时性或“只做有效”的心态?
        • 环境 - 是否有开发、测试和生产环境?

        【讨论】:

        • 不,笑声是真诚的,因为他知道我是对的。实际上没有过程。每个项目经理都做自己的事情。我们互相交谈并“完成”工作,然后最终灭火。真正的混乱。
        • 至少完成了一些工作。我可以想象有些地方什么都做不了,因为所有的指责都是他们的错,什么都没有做。
        • 是的,但是有几天——不——几周,甚至几个月,我会为了一些停机时间而杀人! :) 但你是对的。在我的办公室里,我们有着令人难以置信的协作精神,没有责备,只是共同努力解决问题并帮助客户。我从来没有见过这样的东西。
        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

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

          还有一些很棒的开源和免费工具可帮助您建立团队、项目、迭代和一切。

          但是,我会说我曾经在一家瀑布式商店工作,除非管理层支持这种变化,否则你将无法从瀑布式转变为敏捷。

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

          ~md5sum~

          【讨论】:

          • +1 表示每个人都必须参与,否则将无法正常工作。管理和开发人员。
          • 很高兴让您现有的开发人员参与进来,但如果他们不想合作,他们是可以更换的,此外,我还没有遇到任何在工作中有问题的“优秀”开发人员一种敏捷方法。不幸的是,你不能解雇你的老板。我以前工作的解决方案架构师负责选择使用的方法,虽然他是个好人,但我认为他不能用不到 3000 行 C# 代码解决 FizzBu​​zz 测试。他声称喜欢 Scrum,而且我们很敏捷,但我们更像是某种破碎的瀑布。没有水的瀑布也许......
          【解决方案6】:

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

          所有这些都是迭代的,这让它们比 Waterfall 更胜一筹,因为您不会在实现大量功能的过程中陷入困境,而无法了解其将如何被感知(更不用说您的用户会获得较小的功能)比传统的单体版本更频繁)。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-05-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多