|
Although I generally PreferFunctionalStaffOrganization the
arguments in favor of a technical orientation over a
FunctionalStaffOrganization cannot be dismissed lightly. Technical based organizations align people around technical
aspects of an IT project or organization. In a large company you'll
see specialists in web interfaces, databases, networking,
etc. You'll see teams dedicated to handling particular services
which can be used by multiple upstream services. Within a single
project you'll see similar organization by the natural layers of an application. Software development is complex, to build a realistic system you
need a host of skills and knowledge - far more than can fit in a
mortal's head. For anyone to really master and understand what they
are doing, they need to specialize into a particular area. That way
they can use the technology in the most efficient and effective
way. This is true particularly for people of lessor ability, who have
problems dealing with too many topics. But it's also true for high
ability people who prefer to concentrate on a focused set of
topics. In particular it allows you to allocate the best people to
the most complex and valuable parts of the IT infrastructure - in
particular to areas that are needed by many parts of the organization. In order to improve the efficiency of an organization, it's
imperative that you avoid duplicate effort. If every project builds
its own database interaction layer, or messaging system, you wasted
money both to build the duplicate capabilities and to maintain it
into the future. Functional teams tend to do things their own way
and not communicate with each other much, which leads to this kind
of wasteful duplication. Why do something a dozen ways in a crummy
way rather than doing something once properly? If developers concentrate on single applications, they don't get
a broad view of the overall business, which puts them into the same
siloed mentality as compartmentalized business units. These days
software is the glue by which a business hangs together - and IT
needs to think of the business in holistic way. By organizing along technical lines, people naturally network
with peers and can learn from each other to improve their technical
skills.
|