Re: [PHP] Tool for programmer team

2008-01-22 Thread Robert Cummings

On Tue, 2008-01-22 at 08:52 +0100, Sándor Tamás (HostWare Kft.) wrote:
 It depends. If the project built up of slightly different modules, putting 
 the coders on a big, white table seems to be a good idea. But if the modules 
 are completely different, you should separate them, so each of them can be 
 focused on their own subject. In this case, you have to have some people to 
 make the whole project as one, seeing other programmers' works to combine.
 
 There are many tool you can use to manage the project. (I personally like 
 open tools, like OpenProj which compatible with Microsoft Project, and if 
 you want to have version controlling, I can suggest Microsoft Visual 
 SourceSafe, or JEDI VCS). Each of them can handle a variety of subjects. 
 OpenProj can organize jobs, and resources. Microsoft VSS and JEDI VCS are 
 version controlling systems, which can handle the code itself, you can 
 check-out modules, make changes, then check-in, so others can use your 
 module as well. (and if you screwed something, you can change back to a 
 previous version).

With all the open source version control systems available (CVS,
Subversion, GIT) I wouldn't touch something closed source and more
importantly tainted by the Microsoft moniker :/ (yes I am fortunate
enough to work within Linux all day long).

As for other tools... a big stick :)

Seriously though, a good method of communication can be useful, it can
also be annoying if someone has ADHD and keeps fire off messages or if
you constantly find yourself in boring bogged down in bureaucracy
meetings :( For project management I'd use something simple like the
Mantis bug tracking system (it's quite useful for managing tasks despite
being a bug tracking system).

Cheers,
Rob.
-- 
...
SwarmBuy.com - http://www.swarmbuy.com

Leveraging the buying power of the masses!
...

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Tool for programmer team

2008-01-22 Thread Richard Lynch
On Tue, January 22, 2008 1:40 am, Ronald Wiplinger wrote:
 What is a good tool to coordinate a team of programmers efficiently?

 To give each one a different part of the project is a start, but it
 needs to
 get combined at some points to be a working project.

 Not to debug code you have written was a hint, to see actually bugs as
 a bug
 and not as a feature.

 Some hinted let programmer be on different places, others say put them
 together on a big table, ...

 Where can I find more information about that subject?

As far as code management and combining goes, I'd put it in subversion
and have it combined from the beginning.

No last-minute gotchas at the integration phase.

Subversion will handle the minor file-to-file multiple developer issues.

On the large scale, documenting what works how is the best idea -- And
having it in writing, clear and crisp, with the person writing the
code involved in the creation of the documentation.

You may also want to look into unit testing and test-based
development since the idea there is to write some simple code tests
to define what the code should do, then code to the test.

It may be bad to teach to the test, but coding to the test will
probably save you a lot of grief.

-- 
Some people have a gift link here.
Know what I want?
I want you to buy a CD from some indie artist.
http://cdbaby.com/from/lynch
Yeah, I get a buck. So?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Tool for programmer team

2008-01-22 Thread Nathan Nobbe
On Jan 22, 2008 2:40 AM, Ronald Wiplinger [EMAIL PROTECTED] wrote:

 What is a good tool to coordinate a team of programmers efficiently?


that is a big question, primarily because there are many facets of
 coordination with different tools to help out.
obviously version control is one of the fundamental tools of this
coordination.
it lets you do things like maintain 'versions' of your software.  there are
many
ways to leverage this concept.  development version vs production version;
customerA version vs. customerB version and so on.  there is also the nice
aspect where multiple developers can work on the same file simultaneously.
any one of the standard tools (others have already mentioned) cvs, svn, git
will have literature on basic usage of the software and the underlying
concepts.

in general though i think the question of managing efficiently is not the
greatest
perspective.  i would instead focus on managing 'effectively', see the 7
habits of
highly effective people.  and its still somewhat of an art in the end.

To give each one a different part of the project is a start, but it needs to
 get combined at some points to be a working project.


here you are getting into several potential topics as well.  so, the main
thing here
is dependencies.  say 2 developers are given a number of 'components' to
work on.
pretty simple right, look at the requirements, devA gets tasks 1-4, devB
gets tasks
5-8; no problem.  what you need to consider here are the relationships
between the
tasks, in particular, are any of tasks 5-8 dependent upon any of tasks 1-4?
if so,
then devB could end up having to wait for devA to complete a dependent task
before
progress on said dependent task is possible.
your decision here can also have an impact on the design of the software as
a whole.
see, organizing the tasks in such a way that there are no dependencies in
the tasks
devA and devB have (or next to none anyway) then you will get a high degree
of
throughput, because they can both be working on completing different
objectives
simultaneously; its sort of like threading.  i am of the opinion however,
that this can
get you some poorly designed software.  the developers may not be leveraging
the
strengths and covering the weaknesses of each other.  furthermore, its ideal
to divide
software into horizontal layers rather than vertical towers.  its more
complicated, but
you have a better product as a result.  so anyway this topic is a big
overall decision.


 Not to debug code you have written was a hint, to see actually bugs as a
 bug
 and not as a feature.


obviously you will have to debug code you write that isnt working.
generally,
functionality is perceived as 'features' near the beginning of a development
cycle,
and as 'bugs' towards the release of a development cycle.  watch out for
deeming
everything as a bug, because then youll get trapped in a horrible realm
where you
only implement functionality to fix these 'bugs'.  you should have a cycle
with well
defined phases and stick to it.  one important phase is after a major
release, you
need to go through the code, re-organize it, consolidate things and remove
the dust.
this will keep you in good shape for the next round of features (if you
perceive them
as such ;))


 Some hinted let programmer be on different places, others say put them
 together on a big table, ...


probly you should start small with everyone at the same location until you
have the
basics down.


 Where can I find more information about that subject?


check out the mythical man month if you get a chance.  its a short book that
is
generally considered as legendary.  its been recommended to me by 2
completely
unrelated millionaires and the dude who wrote the Solar framework;
basically, its key ;)
(but it wont help you to master any of these modern tools)

-nathan


Re: [PHP] Tool for programmer team

2008-01-21 Thread HostWare Kft.
It depends. If the project built up of slightly different modules, putting 
the coders on a big, white table seems to be a good idea. But if the modules 
are completely different, you should separate them, so each of them can be 
focused on their own subject. In this case, you have to have some people to 
make the whole project as one, seeing other programmers' works to combine.


There are many tool you can use to manage the project. (I personally like 
open tools, like OpenProj which compatible with Microsoft Project, and if 
you want to have version controlling, I can suggest Microsoft Visual 
SourceSafe, or JEDI VCS). Each of them can handle a variety of subjects. 
OpenProj can organize jobs, and resources. Microsoft VSS and JEDI VCS are 
version controlling systems, which can handle the code itself, you can 
check-out modules, make changes, then check-in, so others can use your 
module as well. (and if you screwed something, you can change back to a 
previous version).


I hope you can use these advices. And I think, your question is not 
definitely PHP question ... :)


SanTa

- Original Message - 
From: Ronald Wiplinger [EMAIL PROTECTED]

To: php-general php-general@lists.php.net
Sent: Tuesday, January 22, 2008 8:40 AM
Subject: [PHP] Tool for programmer team



What is a good tool to coordinate a team of programmers efficiently?

To give each one a different part of the project is a start, but it needs 
to

get combined at some points to be a working project.

Not to debug code you have written was a hint, to see actually bugs as a 
bug

and not as a feature.

Some hinted let programmer be on different places, others say put them
together on a big table, ...

Where can I find more information about that subject?

bye

R



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php