How do you manage your project life cycle?
For example: Do you start with a template? Do you use versioning like SVN as the official source? Do you store projects, if and how? When a project is revived (the work begins), how is it handled? Do you use automated scripts to create IIS sites, db, archive, launch, etc.?
There are several projects to manage various points at different points of development of special interest.
development: We do not start with a template because the world changes To maintain the template's maintenance as a full-time job, we encourage all of us to use the same IDE (Eclipse) so that they can help everyone with their environment.
Project Management: We are using Geoffh to manage our projects. Sourceforge is a bit better, but GForge is very cheap and has a different license fee model in it. GeForce includes CVS, SVN, Document Storage, Issue Trackers and integrates everything well, it makes it easy to see where the project is. Open issues with connected code changes, and closed issues, everything is integrated.
Versioning: Although we tried SVN, we changed back to CVS because it fits better our needs and works well.
Backup: Our GIFO server is running on a VMWare EX server, housing all our projects and source code. Back up is done at the daily VM level and we do VM snapshots if we think we need more restoration points again for some reason.
Reviving projects: This is very common in our business. Requirements are required in its library and CVS in every project. The project always has an updated development guide that describes all the steps to run the development environment, and pay attention to all the things with which there is a chapter which is not the default. We try to make the software as a minimal-possible environment so that developers have to spend tweaking days on their settings.
Almost all the projects have been created using Maven, which can make life easier. Just a few steps are taken for our developers to revive one of the projects:
- Download Eclipse
- Connect to CVS on SSH (Created in Extal Eclipse Run
- Check out
- Run "Maven Eclipse" and refresh Eclipse
- Run Units in Eclipse to see if everything is working is.
Build: All of our projects are created on separate build servers. Build Server creates a complete build every morning and CVS tags if all are successful one time . During the day, an hour is generated and when failure occurs, the team gets an email. Normally we use a build server on a project, and it is a simple LTT server (Linux, TOMKAT, LintBuild).
Both builders and sometimes developer machines are also VM. It revives a project is really easy. Get VM from FileRaver, start it, and you want to proceed.
Build server creates daily sites that cover coverage figures, complexity measurements, CVS activity and developer activity (which and when).
Comes with a self-creation database script built into all our software. Point the database to the config file, start the software, and find out what the database itself should do. It is really easy because builders can only start software, no special steps are needed, our customers are also happy , They never have to worry about their database, or do not need to upgrade the script.
In addition to some external spreadsheets for budget tracking throughout the project life cycle, managed in Giforg, it's just that easy.
Wether Whether you are an integrated project server or not, I think it's really important for a system that helps you switch developers without losing between projects, it saves time. Especially when a customer comes back to you after 2 or 3 years for modifications on old software (yes, it happens).
All the things we use are open sources (you can even use an open source fork, a unit). It's not in the tool, how you use it.
Comments
Post a Comment