Advertisement

Achieving Agility through Architecture Visibility

  • Carl Hinsman
  • Neeraj Sangal
  • Judith Stafford
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5581)

Abstract

L.L.Bean is a large retail organization whose development processes must be agile in order to allow rapid enhancement and maintenance of its technology infrastructure. Over the past decade L.L.Bean’s software code-base had become brittle and difficult to evolve. An effort was launched to identify and develop new approaches to software development that would enable ongoing agility to support the ever-increasing demands of a successful business. This paper recounts L.L.Bean’s effort in restructuring its code-base and adoption of process improvements that support an architecture-based agile approach to development, governance, and maintenance. Unlike traditional refactoring, this effort was guided by an architectural blueprint that was created in a Dependency Structure Matrix where the refactoring was first prototyped before being applied to the actual code base.

Keywords

architecture dependency agility 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Buschman, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. Wiley, Chichester (1996)Google Scholar
  2. 2.
    Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Reading (2003)Google Scholar
  3. 3.
    Ducasse, S., Ponisio, L., Lanza, M.: Butterflies: A Visual Approach to Characterize Packages. In: Proceedings of the 11th International Software Metrics Symposium (METRICS 2005), Como, Italy (September 2005)Google Scholar
  4. 4.
    Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)Google Scholar
  5. 5.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)zbMATHGoogle Scholar
  6. 6.
    Hautus, E.: Improving Java Software Through Package Structure Analysis. In: Proceedings of the 6th IASTED International Conference Software Engineering and Applications (SEA 2002), Cambridge, Massachusetts (September 2002)Google Scholar
  7. 7.
    Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999)Google Scholar
  8. 8.
    Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture. In: Process and Organization for Business Success. Addison-Wesley, Reading (1997)Google Scholar
  9. 9.
    Kruchten, P.: Architectural Blueprints: The “4+1” View Model of Software Architecture. IEEE Software 12(6), 42–50 (1995)CrossRefGoogle Scholar
  10. 10.
    Melton, H., Tempero, E.: An Empirical Study of Cycles among Classes in Java, Research, Report UoA-SE-2006-1. Department of Computer Science, University of Auckland, Auckland, New Zealand (2006)Google Scholar
  11. 11.
    Melton, H., Tempero, E.: The CRSS Metric for Package Design Quality. In: Proceedings of the thirtieth Australasian conference on Computer science, Ballarat, Victoria, Australia, pp. 201–210 (2007)Google Scholar
  12. 12.
    Perry, D., Wolf, A.: Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes 17(4) (October 1992)Google Scholar
  13. 13.
    Poulin, J.S.: Measuring Software Reuse. Addison-Wesley, Reading (1997)Google Scholar
  14. 14.
    Poulin, J.S.: Measurements and Metrics for Software Components. In: Heineman, G.T., Councill, W.T. (eds.) Component-Based Software Engineering: Putting the Pieces Together, pp. 435–452. Addison Wesley, Reading (2001)Google Scholar
  15. 15.
    Sangal, N., Waldman, F.: Dependency Models to Manage Software Architecture. The Journal of Defense Software Engineering (November 2005)Google Scholar
  16. 16.
    Sangal, N., Jordan, E., Sinha, V., Jackson, D.: Using Dependency Models to Manage Complex Software Architecture. In: Proceedings of the 20th annual ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications, San Diego, California, pp. 167–176 (October 2005)Google Scholar
  17. 17.
    Stafford, J., Richardson, D., Wolf, A.: Architecture-level dependence analysis in support of software maintenance. In: Proceedings of the Third International Conference on Software Architecture, Orlando, Florida, pp. 129–132 (1998)Google Scholar
  18. 18.
    Stafford, J., Wolf, A.: Software Architecture. In: Heineman, G.T., Councill, W.T. (eds.) Component-Based Software Engineering: Putting the Pieces together, pp. 371–388. Addison Wesley, Reading (2001)Google Scholar
  19. 19.
    Lieherherr, K.J., Holland, I.M.A., Riel, A.J.: Object-oriented programming: an objective sense of style. In: OOPSLA 1988 Conference Proceedings, San Diego, California, September 25–30 (1988); ACM SIGPLAN Not. 23(11), 323–334 (1988)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Carl Hinsman
    • 1
  • Neeraj Sangal
    • 2
  • Judith Stafford
    • 3
  1. 1.L.L.Bean, Inc.FreeportUSA
  2. 2.Lattix, Inc.AndoverUSA
  3. 3.Tufts UniversityMedfordUSA

Personalised recommendations