MATRIX BASED PROBLEM DETECTION IN THE APPLICATION OF SOFTWARE PROCESS PATTERNS

Chintan Amrit, Jos Van Hillegersberg

Abstract

Software development is rarely an individual effort and generally involves teams of developers. Such collaborations require proper communication and regular coordination among the team members. In addition, coordination is required to sort out problems due to technical dependencies that exist when components of one part of the architecture requires services or data input from components of another part of the architecture. The dynamic allocation of the different tasks to people results in various socio-technical structure clashes (STSCs). These STSCs become more pronounced in an Agile Software Development environment and managerial intervention is constantly required to alleviate problems due to STSCs. In this paper we propose a technique based on dependency matrices that detects STSCs in the organizational process structure. We illustrate this technique using two examples from Organizational and Process Pattern literature.

References

  1. Alexander, C., Ishikawa, S., and Silverstein, L. A. (1977). A Pattern Language. Oxford University Press, New York.
  2. Cataldo, M., Wagstrom, P. A., Herbsleb, J. D., and Carley, K. M. (2006). Identification of coordination requirements: implications for the design of collaboration and awareness tools. In CSCW 7806: Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work, pages 353-362, New York, NY, USA. ACM Press.
  3. Conway, M. (1968). How do committees invent. Datamation, 14:28-31.
  4. Coplien, J. O. and Schmidt, D. C. (1995). Pattern languages of program design. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA.
  5. Coplien, James, O. (1994). A development process generative pattern language. pages 1-33.
  6. Coplien, James, O. and Harrison, Neil, B. (2004). Organizational Patterns of Agile Software Development. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.
  7. de Souza, Cleidson, R. B., Redmiles, D., Cheng, L.-T., Millen, D., and Patterson, J. (2004). Sometimes you need to see through walls: a field study of application programming interfaces. In CSCW 7804: Proceedings of the 2004 ACM conference on Computer supported cooperative work, pages 63-71, New York, NY, USA. ACM Press.
  8. Fowler, M. (1997). Analysis Patterns: Reusable Object Models. Addison Wesley, Reading MA.
  9. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Elements of Resuable Object Oriented Software. Addison Wesley, MA.
  10. Herbsleb, James, D. and Grinter, Rebecca, E. (1999). Architectures, coordination, and distance: Conway's law and beyond. IEEE Softw., 16(5):63-70.
  11. Li, B., Zhou, Y., Wang, Y., and Mo, J. (2005). Matrixbased component dependence representation and its applications in software quality assurance. SIGPLAN Not., 40(11):29-36.
  12. Myers, Christopher, R. (2003). Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs. Physical Review E (Statistical, Nonlinear, and Soft Matter Physics), 68(4):046116.
  13. Parnas, D. L. (1972). On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053-1058.
  14. Schmidt, D., Fayad, M., and Johnson, R. E. (1996). Software patterns. Communication of the ACM, 39:37-39.
  15. Scott, J. (2000). Social Network Analysis: a handbook. Sage Publications Inc.
  16. Sosa, M. E., Eppinger, S. D., and Rowles, C. M. (2004). The misalignment of product architecture and organizational structure in complex product development. J Manage. Sci., 50(12):1674-1689.
  17. Steven, D. E., Daniel, E. W., Robert, P. S., and David, A. G. (1994). A model-based method for organizing tasks in product development. Research in Engineering Design, V6(1):1-13. 10.1007/BF01588087.
  18. Sullivan, K. J., Griswold, W. G., Cai, Y., and Hallen, B. (2001). The structure and value of modularity in software design. In ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering, pages 99-108, New York, NY, USA. ACM Press.
  19. Wagstrom, P. and Herbsleb, James, D. (2006). Dependency forecasting in the distributed agile organization. Commun. ACM, 49(10):55-56.
  20. Warshall, S. (1962). A theorem on boolean matrices. J. ACM, 9(1):11-12.
  21. Williams, L., Kessler, Robert, R., Cunningham, W., and Jeffries, R. (2000). Strengthening the case for pair programming. IEEE Softw., 17(4):19-25.
Download


Paper Citation


in Harvard Style

Amrit C. and Van Hillegersberg J. (2007). MATRIX BASED PROBLEM DETECTION IN THE APPLICATION OF SOFTWARE PROCESS PATTERNS . In Proceedings of the Ninth International Conference on Enterprise Information Systems - Volume 3: ICEIS, ISBN 978-972-8865-90-0, pages 316-320. DOI: 10.5220/0002395503160320


in Bibtex Style

@conference{iceis07,
author={Chintan Amrit and Jos Van Hillegersberg},
title={MATRIX BASED PROBLEM DETECTION IN THE APPLICATION OF SOFTWARE PROCESS PATTERNS},
booktitle={Proceedings of the Ninth International Conference on Enterprise Information Systems - Volume 3: ICEIS,},
year={2007},
pages={316-320},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002395503160320},
isbn={978-972-8865-90-0},
}


in EndNote Style

TY - CONF
JO - Proceedings of the Ninth International Conference on Enterprise Information Systems - Volume 3: ICEIS,
TI - MATRIX BASED PROBLEM DETECTION IN THE APPLICATION OF SOFTWARE PROCESS PATTERNS
SN - 978-972-8865-90-0
AU - Amrit C.
AU - Van Hillegersberg J.
PY - 2007
SP - 316
EP - 320
DO - 10.5220/0002395503160320