你如何管理你的项目生命周期? [英] How do you manage your project life cycle?

查看:62
本文介绍了你如何管理你的项目生命周期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您如何管理项目生命周期?

How do you manage your project life cycle?

例如:您是否从模板开始?您是否使用SVN等版本控制作为权威来源?您是否归档项目,如果是,何时以及如何归档?当一个项目恢复(工作恢复)时,如何处理?您是否使用自动化脚本来执行诸如创建 IIS 站点、数据库、存档、启动等操作?

For example: Do you start with a template? Do you use versioning such as SVN as the authoritative source? Do you archive the projects, if so when and how? When a project is revived (work resumes), how’s that handled? Do you use automated scripts to do things such as create IIS sites, DBs, archive, launch, etc?

特别感兴趣的是在不同开发点管理许多项目.

Of particular interest is management of many projects at varying points of development.

推荐答案

开发:我们不会从模板开始,因为世界变化得很快,模板维护成为全职工作.我们确实鼓励每个人使用相同的 IDE (Eclipse),这样他们就可以在各自的环境中互相帮助.

Development: We do not start with a template, because the world changes quick enough to make template maintenance a full time job. We do encourage everybody to use the same IDE (Eclipse), so that they can help eachother with their environments.

项目管理:我们使用 GForge 来管理我们的项目.Sourceforge 稍好一些,但 GForge 便宜得多,并且有不同的许可费模式.GForge 结合了 CVS、SVN、文档存储、问题跟踪器并很好地集成了一切.这样可以轻松查看项目所在的位置.开放问题和关闭问题与相关代码更改,一切都集成在一起.

Project Management: We are using GForge to manage our projects. Sourceforge is slightly better, but GForge is much cheaper and has a different licensing fee model. GForge incorporates CVS, SVN, Document storage, Issue trackers and integrates everything nicely. This makes it easy to see where the project is at. Open issues, and closed issues with connected code changes, everything is integrated.

版本控制:虽然我们尝试过 SVN,但我们还是切换回了 CVS,因为它更适合我们的需求并且运行良好.

Versioning: Although we tried SVN, we switched back to CVS because it fits our needs better and works fine.

备份:我们的 GForge 服务器包含我们所有的项目和源代码,在 VMWare EX 服务器上运行.每天都会在 VM 级别进行备份,如果我们觉得出于某种原因需要更频繁的还原点,我们会制作 VM 快照.

Backups: Our GForge server, housing all our projects and sourcecode, is running on a VMWare EX server. Backups are done daily on VM level and we make VM snapshots if we feel that we need more frequent restore points for some reason.

重振项目:这在我们的业务中很常见.每个项目在 CVS 中都有它的所有库和构建要求.该项目总是有一个最新的开发手册,它描述了让开发环境运行的所有步骤,并且有一章包含所有非默认的东西,需要注意.我们尝试在尽可能默认的环境中构建软件,这样开发人员就不必花几天时间调整他们的设置.

Reviving projects: This is very common in our business. Every project has all it's libraries and build requirements in CVS. The project always has an up-to-date development manual which describes all the steps to get a development environment running, and has a chapter with all the things which are not default, to pay attention to. We try to build software in an as-default-as-possible environment so that developers don't have to spend days tweaking their settings.

几乎所有项目都是使用 Maven 构建的,这也让我们的开发人员的工作变得轻松.通常恢复一个项目只需要几个步骤:

Nearly all projects are built using Maven, which also makes life easy for our developers. Ususally reviving a projects only takes a few steps:

  • 下载eclipse
  • 通过 SSH 连接到 CVS(extssh 内置于 Eclipse)
  • 签出项目(默认签出"选项)
  • 运行Maven Eclipse"并刷新Eclipse
  • 在 Eclipse 中运行单元测试以查看是否一切正常.

构建:我们所有的项目都构建在单独的构建服务器上.每天早上,如果所有单元测试都成功,构建服务器会执行完整的构建并标记 CVS.白天,每小时进行一次构建,当出现故障时,团队会自动收到一封电子邮件.通常我们每个项目使用一个构建服务器,它是一个简单的 luntbuid 服务器(Linux、Tomcat、Luntbuild).

Builds: All our projects are built on a seperate build server. Every morning the build server does a complete build and tags CVS if all unittests succeed. During the day, hourly builds are made and when there are failures the team automatically gets an email. Usually we use one build server per project, and it is a simple luntbuid server (Linux, Tomcat, Luntbuild).

构建服务器,有时甚至开发者机器都是虚拟机.这使得恢复项目非常容易.从文件服务器获取 VM,启动它,然后一切顺利.

Both the buildserver and sometimes even the developer machines are VM's. This makes reviving a project really easy. Get the VM from the fileserver, start it up, and you're good to go.

构建服务器创建每日站点,显示单元测试覆盖率统计信息、复杂性测量、CVS 活动和开发人员活动(谁更改了什么以及何时更改).

The build server creates daily sites which show unittest coverage statistics, complexity measurements, CVS activity and developer activity (who changed what and when).

我们所有的软件都带有内置的自建数据库脚本.将配置文件指向数据库,启动软件,它会弄清楚它需要对数据库本身做什么.这真的很方便,因为构建服务器可以直接启动软件.无需特殊步骤.我们的客户也很高兴,他们无需担心他们的数据库或升级脚本.

All our software comes with self-building database scripts built in. Point the config file to the database, start the software, and it figures out what it needs to do to the database itself. This really comes in handy because the buildserver can just start the software. No special steps needed. Our customers are also happy, they never need to worry about their database, or upgrade scripts.

在 GForge 中管理、记录和跟踪整个项目生命周期,并添加了一些用于预算跟踪的外部电子表格,因为这更简单.

The whole project lifecycle is managed, documented and tracked in GForge, with the addition of some external spreadsheets for budget tracking because that's simply easier.

不管你是否有一个集成的项目服务器,我认为拥有一个系统真的很重要.这使您可以在项目之间切换开发人员而不会迷失方向.它可以节省时间.特别是当客户在 2 或 3 年后回来找您对旧软件进行修改时(是的,确实发生了这种情况).

Wether you have an integrated project server or not, I think it is really important to have a system. This enables you to switch developers between projects without them getting lost. It saves time. Particularly when a customer comes back to you after 2 or 3 years for modifications on old software (yes, that happens).

我们使用的所有东西都是开源的(您甚至可以使用 GForge 的开源分支).关键不在于工具,而在于您如何使用它们.

All the stuff we use is open source (you can even use an open source fork of GForge). It's not in the tools, it's how you use them.

这篇关于你如何管理你的项目生命周期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆