2

I am a web developer in a small web design studio (15-20 employees). It was founded back in 2005 and since that time we've made over 700 different sites (~500 projects, ~300 clients). I started working here in 2011, so I had not participated in any discussions over decisions to use any PM tools. Here's what we have now:

  • A pile of tables filled with information about domains, hosts, hosting accounts, domain accounts, FTP access, admin panel access, etc. All this information is presented in quite a messy way on a local website.

  • A small CRM made for internal use; to some extends it is capable of time tracking, global "task" tracking, it stores project-client relations, basic project information and monthly money flows.

  • Redmine, which is used as a bug tracker for some of the projects.

  • One shared mailbox.

The problems are:

  • We still have to maintain websites that we made several years ago (not all of them, hopefully, but still this can not be neglected). Some of them smell. Some require secret knowledge.

  • Many projects have a huge backlog, it is not stored anyhow except mail history/documents; e. g. you can't tell precisely, whether local and testing versions are synced (without a file manager). You can hardly tell who designed the frontend, who programmed the backend; to learn that, you have to spend some time searching.

  • An enormous load of important information is stored by mailserver, and messages are not assigned anyhow to projects/clients/issues in internal CRM/Redmine.

  • The workflow is not yet stable and I guess it never was. Some sites have a precise spec, some do not; I guess, only a couple of them have VCS and 10-20 have passed the testing stage. Most of the testing often was done by clients themself, which is awfully bad.

  • There is a lot of SEO information associated with almost every site; we have a few interfaces to manage cross-links and seo pages, but it was never something neat.

Now we have faced all these problems, as it gets more stressful to work with old sites. I don't have any big hopes that one system can solve all these problems (almost certainly it will even get worse). But I believe that bird by bird all this mess can be puzzled out and organized.

Strategies, products and workflows are welcome.

  • 3
    Project management is primarily about processes and process controls. Aside from feeling overwhelmed, what is your actual process problem? What are you trying to control for? – Todd A. Jacobs Aug 29 '13 at 14:25
  • Hi mad, although your question presents a very good explanation of your current scenario, is hard to identify what's your specific problem, as stated by CodeGnome. Would you mind make your problem more explicit / focused? – Tiago Cardoso Sep 10 '13 at 12:33
1

I have had really good luck corralling some legacy projects, as well as new and on-going projects with Microsoft SharePoint and a Microsoft Project Server. without knowing your budget, and feelings towards Microsoft I can't say definitively that this solution will work for you. however, for most of your points these solutions should work for you.

We still have to maintain websites that we made several years ago (not all of them, hopefully, but still this can not be neglected). Some of them smell. Some require secret knowledge.

SharePoint allows you to set security for documents pretty easily to address the secret knowledge issue specifically.

Many projects have a huge backlog, it is not stored anyhow except mail history/documents; e. g. you can't tell precisely, whether local and testing versions are synced (without a file manager). You can hardly tell who designed the frontend, who programmed the backend; to learn that, you have to spend some time searching.

Version Control is the core of SharePoint

An enormous load of important information is stored by mailserver, and messages are not assigned anyhow to projects/clients/issues in internal CRM/Redmine.

Again, SharePoint is perfect for this task, both in tracking documents and assigning tasks.

The workflow is not yet stable and I guess it never was. Some sites have a precise spec, some do not; I guess, only a couple of them have VCS and 10-20 have passed the testing stage. Most of the testing often was done by clients themself, which is awfully bad.

This is where a Project Server will work well for you, allowing both tracking of responsibilities and monitoring progress

There is a lot of SEO information associated with almost every site; we have a few interfaces to manage cross-links and seo pages, but it was never something neat.

Another strong point for SharePoint, setting up specific SP sites for each project/site will allow you to assign tasks and organize the whole project.

In closing I'd add that I came late to Microsoft's solutions, and have only been using them for the past 3 years, but I've found that they worked really well for my team, and for me personally. The best thing to do if you want to go down this road is to contact a Microsoft partner and work out an RFQ, because unless you have someone experienced Microsoft implementations on your team you will be hard pressed to have an easy time going live. It's worth doing it correctly.

1

The problems you are facing is what we call technical debt. In the past when those projects were done there were time pressures and things left undone and not worrying about the future maintenance of the products. Now you have to deal with those systems, but have lost the original context and finding it hard to deal with them. On top of this, the technologies you are now working with have likely changed a lot and you do things completely differently as you did when you first started.

The first thing to do is Stop creating technical debt for new projects and make sure you give sufficient time to ensure the product is maintainable in the future.

Using a combination of several things helps protect the future of the product, these include

  • Using an agile methodology to manage work, e.g. Scrum, Kanban or Lean

  • Introducing TDD practices with unit testing into your code base to retain intent. This will require some level of mastery to make sure you retain the Intellectual Property in the tests.

  • Having good ALM tooling with source control, continuous integration and deployment really helps keep a system in good shape.

  • Learn new development approaches and principles that help make highly testable web sites

  • Constantly seek to improve the way you do things and learn from your past mistakes

  • Focus on quality

  • Don't take short cuts as they will come back and bite you

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.