Description
Project teams that grow beyond five people generally experience escalating difficulties with group coordination. The members have trouble making efficient decisions and maintaining a common vision. Working toward a near-term deadline is essential to encourage the team to focus and begin producing a solution.
Context
Derived from: “Warm Bodies”
Skilled developers are essential to the success of a project. So-called heroic developers are exceptionally productive, but as few as 1 in 20 have this talent. They produce an order of magnitude of more suitable solutions than an average developer. Large-scale projects are prevalent in many industries. These projects employ hundreds of developers to build an enterprise system; a staff of 100 to 400 on a single project is not atypical. Many times this is not modelled, such that the smell must not become evident during design, but only afterwards in practice.
Detection
In the EA domain, we can represent the team concept by “Actor” or “Work package” elements. An actor can represent several people, and a work package can accommodate a group of employees. Work packages in ArchiMate are similar to agile iterations and represent designed actions for achieving a specific task at a particular time. To identify the number of team members in such elements, we assume that there is a property that specifies the size of the team. If such a property exists and the number of team members exceeds a certain threshold, the element in the model is a candidate for the “Warm Bodies” EA Smell.
Solution
The ideal project size is four developers; the ideal project duration is four months. Software projects are subject to the same group dynamics as committee meetings (Design by Committee).
Example
Graphical examlple illustrates The element “Hardware Update“ has a property named ‘Members’ which has seven as team size
Cypher query
MATCH p=(n:Actor|WorkPackage) <br /> where ANY (x in keys(n) WHERE x IN $staffProperty and n[x] > $staffSize) <br /> RETURN pCypher count query
MATCH (n:Actor|WorkPackage) <br /> where ANY (x in keys(n) WHERE x IN $staffProperty and n[x] > $staffSize) <br /> RETURN COUNT (distinct n) Diagram

Aliases
Deadwood, Seat Warmers
Tags
application, soa, microservices
Query parameters
[
{
"name": "staffProperty",
"type": "list",
"default": [
"staff",
"members",
"Personnel",
"size"
],
"description": "Property name(s) specifying the size of a team."
},
{
"name": "staffSize",
"type": "number",
"default": "4",
"description": "The acceptable number of people assigned to an actor or work package element."
}
]