Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I read somewhere that Amazon has a dedicated team for each of its major products. This approach facilitates the growth of the domain knowledge for each product team and as a result of this retained knowledge, it allows Amazon to rapidly add new functionality to products.

I have experience working with lots of companies where they follow more of a matrix based resource model. In this model, the company has a portfolio of products, but architects, developers and project managers are very frequently moved around from product to product. For example, if new functionality is to be added to a product, a completely new project team will be created for this. The project team is likely to have no previous exposure to the product.

As a result of this matrix resourcing, the product technical architecture becomes weak (each architect will use a different approach/style), and adding new functionality takes much longer because of the domain knowledge that the new project team needs to acquire before starting the project.

Information leak is sometimes used to describe the effects of lost knowledge such, which seems to be exacerbated by the matrix resourcing approach.

Questions: Is there any research or documentation that supports my experience and identifies the impact (cost/time) of information lost due to matrix resource models?


Also, most of the companies had a tendency to switch resources mid-project. This cost a lot of time lost due to:

  • handovers required between old and new staff (if they even happened at all)
  • new staff getting up-to-speed on the project
  • low morale due to constant resource changes on projects

Link describing Amazon's Philosophy: you build it; you own it.

share|improve this question

closed as off-topic by gnat, Bart van Ingen Schenau, Robert Harvey, MichaelT, Dynamic Nov 23 '13 at 0:03

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, Bart van Ingen Schenau, Robert Harvey, MichaelT, Dynamic
If this question can be reworded to fit the rules in the help center, please edit the question.

Possible counterpoint to this: By "leveling out" the skills of the developers, you avoid a situation in which one developer is hit by a bus and leaves you with a sudden gap in domain knowledge that could be very difficult to fill. You may sacrifice some implementation speed, but it can provide better insurance against disaster. Amazon (and other tech unicorns) can probably avoid this issue by being able to hire only very highly skilled developers who take measures to prevent this occurring. – Phoshi Nov 21 '13 at 12:56
@Phoshi - I've found that the insurance doesn't actually pay off because no one ends up with the domain knowledge. Also, in my experience, the sacrificed implementation speed can be significant. – SHC Nov 21 '13 at 17:41
SO Administrators, can you please give me some tips why the question is on hold? As per RalphChapin's answer, Capers Jones books are about software engineering, and so is my question. I'm also asking for facts rather than subjective points of view on the topic. – SHC Nov 23 '13 at 11:19

1 Answer 1

up vote 2 down vote accepted

Google "Capers Jones". I stumbled on one of his books ages ago and it covered matrix management among a lot of other things (like offices with doors vs. cubicles). The guy was estimating software development time based on a vast array of things: proposed languages, programmer skills, etc., etc.. He'd collected a vast amount of statistics on completed projects. Interestingly, his data came from formal, thoroughly documented, carefully managed projects, but a lot of it could apply to anybody: hobbyists and people working in 2 man start-ups.

(This is actually a duplicate answer. See here for original.)

As I recall, between Project Management, where your boss is the project leader, Resource Management, where your boss is the guy in charge of programmers for whatever project that comes along, and Matrix Management, where you don't have a boss when you have a problem and have a lot of bosses the rest of the time, Matix Management delayed projects the most. But my memory may be fuzzy or out-of-date so check out Capers Jones.

share|improve this answer

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