>So my question to the list is this: How do you organize your teams of
>developers successfully? Please let me know what you do, or what you have
>seen that actually works.

Hi Nathan.

I manage a team of 11 technical folks, and when I was promoted to management we 
had a similar challenge.

Internal teams that build apps that support the business tend to get into this 
silo'd structure because what they're building has a specialized purpose, and 
as the business demands more of these specialized applications, it usually 
starts off with just one guy building it... and then they become the lone 
expert. With a heavy demand for change, the low hanging fruit it to use the guy 
who knows the app vs. risking someone unfamiliar with it who'll have to go 
through the learning curve.

Management wise, it is a motivator to give people ownership.

But, it is also a huge risk to have SPOKs (Single Points of Knowledge). Sure 
you can have knowledge bases, Yammer.com, IMs, Wikis, etc... and it's good to 
do that, but that's just information. It's only until you have a deep 
understanding of the domain/context are you able to leverage that information 
as knowledge. 

One technique I used was to maintain is a Knowledge Matrix of all our 
applications/features, I map out who knows what and what their strength is, and 
how critical/complex that feature is in order to calculate risk. I can then 
prioritize by risk, and make sure that other developers are getting exposure to 
these areas.

Another highly successful thing we did was switching to Agile/Scrum development 
practices. Although you guys on a Visio chart are one team, you're functioning 
as independent one man teams. 

A Scrum practice you can start tomorrow are daily standups - from 10am to 
10:15am everyone stands up together and discusses what they did yesterday, what 
they're doing today, and if they're stuck on anything (in order to invite 
others to help). It's time limited, no additional conversation allowed - that 
can be done outside of that meeting, no sitting down and getting comfortable... 
the team needs to feel confident that it never ever goes beyond 15mins.

It'll help promote some awareness of what everyone is doing and encourage some 
communication. But it won't be enough to solve the problem as no one will 
really know deeply what you're talking about unless they're very familiar with 
the application.

So the next step would be to truly get the team functioning together cohesively 
by going full Agile. Everyone is working together on the same cycle, and 
although different applications, you're working together as if it were one 
project. Very short iterations of 2 to 4 weeks, requirements are broken down 
into small little pieces - the team picks who is working on what, but no one is 
limited to working on just "their app". 

You can try to learn it yourself - but getting in an agile training 
organization like cPrime.com to give your company a 3 day onsite bootcamp on 
how the process works is the fastest way to make it happen.

Hope that helps.

Tariq Ahmed
http://www.aftershox.com 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:347206
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to