what-when-how
In Depth Tutorials and Information
15.3 IdentifyingHowSocialandTechnical
DependenciesCanRelateTasks[2]
As discussed earlier, it is widely accepted that there are two parts to any software
development project: a technical component and a social component. It is said that
in order for any software development project to be successful, the technical and
social elements must be aligned [2]. he way to connect these two dimensions is the
first step in taking action toward reducing the experts' time away from their own
work. Connecting the technical and social dependencies is the idea to focus on.
Any software engineer is familiar with the larger aspect of technical dependen-
cies inside a development project. hese kinds of dependencies can refer to func-
tional dependencies, data dependencies, or any other kind of dependencies that may
hinge on actual data transfer inside the software algorithm. Social dependencies are
the connections between different people working on the projects themselves. If
two programmers' workloads never intersect, then, theoretically, they should never
have to deal with each other. his is only in theory, and the true process for inding
technical and social dependencies is much more technical than simply what the
programmer is working on currently.
Some research done at Carnegie Mellon University has been conducted to try
and coordinate which dependencies lead to which assumptions about the software
itself [2]. he researchers at Carnegie Mellon University in the Institute for Software
Research have come up with a mathematical formula for realizing which engineers
should be coordinating their activities, thus keeping people out of the loop who
should not be there to begin with. he mathematical formula revolves around ind-
ing two sets of data to start with.
he first set of data that needs to be found is called Task Assignments, or T A [2].
his value is whether or not an individual is working on a task. It is represented in
the form of a matrix with m rows and n columns, where m is the number of workers
in the development project and n is the number of tasks that need to be completed.
A 1 in a cell ( i , j ) means that worker i has been assigned to task j . A sample T A matrix
is shown below in Figure 15.1.
In Figure  15.1, the matrix means that worker A has been assigned to task 2,
worker B has been assigned to tasks 2 and 3, and worker C has been assigned to tasks
1 and 2. he other set of data that needs to be found to complete the mathematical
formula found is called a Task Dependencies, or T D , matrix. A sample is shown in
Figure 15.2. he data in this igure means that task 1 is dependent on tasks 1 and 2,
task 2 is dependent on all other tasks, and task 3 is dependent on task 2 and 3.
If the two sets of data (in their matrix form) were multiplied, a matrix would be
obtained that would be in the form of “workers by tasks.” his matrix would show
which workers need to know and be in the loop regarding certain tasks. Every “1”
in the row of a worker would be connected with a task that the worker needs to
be involved in the completion of, according to the assignments and dependencies.
To complete the mathematical formula, this matrix is multiplied by the transpose
Search WWH ::




Custom Search