I'll try to be as much clear as possible, with how me and my team work in co-ordination.
Originally Posted by mooret
Collaboration in itself is a very big word to deal with. I suppose, that by collaboration you mean in terms of the tasks and goals to be completed. And, since my work is mostly related .Net technologies, most of the tools I use are based on Microsoft Technologies, which may or may not suit your environment.
1. improve collaboration amongst your team
2.Improve collaboration between the different components or projects in the Program
4. managing a program with multiple projects (each project with its own team )
7.keep program and projects in sync and the individuals working on these things together in terms of overall objectives / deliverables.
We use here some of the Microsoft tools like Project Server, Team Foundation Server for the above purposes. The Project server, help me in assigning and monitoring the progress of the project tasks allocated to each of my team member across multiple teams and also the progress of the complete team on a whole. Also I can provide them with clear guidelines, the deadlines and any other piece of information that may help my team members. The project server has various features like measuring the progress, crisis reporting, etc which will further help you in keeping the team in sync with each other, just in case one of the teams gets a lag in their progress.
The Team Foundation Server helps in maintaining the code for each of the modules as and when they are complete, in co-ordination with this, I also prefer to use the Visual Studio 2008 Team System edition, it helps going through the various processes of the SDLC in an organised manner, right from the designing till the maintaining of the product.
For this, you need to have some co-ordination experts or consultants on your side. People who are good with communication skills and can easily absorb the requirements, the processes and the know-hows of the system that has to be developed. There are people out in the market, who are very good at these and can help you in getting the detailed Software Requirements specifications of the project and will also help in creating the initial Software Design of the system.
3.Prevent charms ( ie the team has ideas on products and the customer whats the product but we seem to do the in between badly
Just in case, you dont want the information to be disclosed outside and maintain the confidentiality, you can sign in a "Non-Disclosure Agreement" with the person-in-charge, which will bind the consultant you hire, legally.
Apart from the above mentioned tools, you can also use available in the market for reviewing your code. This process is a very signicant as it helps in tuning the performance of the system and also in checking the quality of the written.
6.Best way to measure and track projects ( ie once KPIs or metrics have been defined) and tools you may have used.
Some example tools are:
Check this MSDN Link: http://msdn.microsoft.com/en-us/magazine/cc300497.aspx
* NUnit to write unit tests
* NDoc to create code documentation
* NAnt to build your solutions
* CodeSmith to generate code
* FxCop to police your code
* Snippet Compiler to compile small bits of code
* Two different switcher tools, the ASP.NET Version Switcher and the Visual Studio .NET Project Converter
* Regulator to build regular expressions
* .NET Reflector to examine assemblies
I have a Program Manager who deals with all the above. Sorry, cant provide more info on above.
5. we have development partnerships with vendors how did you track and correlate the information vendors ( ie SW/HW roadmaps ) gave you and help you deliver better products/solutions
Since you are new to all this, I would say "Welcome to the Real World". Managing processes is one of the process which are not one of the easiest jobs...its the most tedious and hectic job to do. You can start up with the above, which may release some pressure off your head.
Essentially its a new Program level team thus the organisation has many projects going at the same time, links with vendors already but no real project management experience or program management experience. things are not being tracked, people dont know what other people/teams are doing, essentially they have the resources in place but they are not leveraging them.
So what I am asking is if you were approach to be program manager what kind of things would you implement and how.
1. Find a very good Network Administrator - who can bind your Project Server/TFS/Exchange Server together. These apps work great together.
2. Find a good and experienced PM.
3. Keep as many people possible, who are good in communication skills.
4. Get organised ASAP, or your work burden is going to increase with chaos with each coming day.
BEST OF LUCK!