what-when-how
In Depth Tutorials and Information
For example, assume the software package has only six functions and is not
very complex; let the functional dependencies be fully represented by FigureĀ 15.4.
At the time of software execution, functions A and B are called. In time, function
A calls functions C and D, and function B calls functions E and F. his means
that C and D will never get called without function A; likewise, functions E and F
will never get called without function B. his means that functions C, D, E, and
F are functionally dependent on functions A and B, respectively. his is invaluable
information, because the workers on function F should never have to talk with the
workers on function A, theoretically. his would be proper division of communica-
tion if the only resource available were the call-graph information.
As can be easily seen in this section, there is ample data to be compiled to tell
how much communication and coordination should take place among program-
mers and engineers in a collaborative software development package. he real ques-
tion that we are faced with is this: how do we successfully and optimally manage
the data in question to compile teams among workers that are beneficial and lead
toward efective and distributed communication? he next two sections attempt to
describe two separate software implementations that have striven to meet this need
and answer this question in the best possible way.
Figure 15.4
Functional dependency of a software package. (From Cataldo,
Marcelo et al. Socio-Technical Congruence: A Framework for Assessing the
ImpactofTechnicalandWorkDependenciesonSoftwareDevelopment.Institute
forSoftwareResearch(2008).TechnicalReport,see:http://reports-archive.adm.
cs.cmu.edu/anon/isr2008/CMU-ISR-08-104.pdf.)
Search WWH ::




Custom Search