the most effective learning situation is one where a small number of apprentices work alongside an even smaller number of journeyman, who are receiving guidance from a master craftsman
Agile Modeling (AM) is a practice-based methodology for effective modeling and documentation of software-based systems. Simply put, Agile Modeling (AM) is a collection of values, principles, and practices for modeling software that can be applied on a software development project in an effective and light-weight manner. As you see in Figure 1 AM is meant to be tailored into other, full-fledged development methodologies such as XP or RUP, enabling you to develop a software process which truly meets your needs. The techniques of AM, in particular Agile Model Driven Development (AMDD), the lifecycle for which is depicted in Figure 2, enable you to scale agile software development to very complex situations.
Agile Development is one of the big buzzwords of the software development industry. But what exactly is it? Agile Development is a different way of managing software development projects. The key principles, and how Agile Development fundamentally differs from a more traditional Waterfall approach to software development, are as follows:
C. Paris, N. Colineau, and R. Wilkinson. HT '09: Proceedings of the Twentieth ACM Conference on Hypertext and Hypermedia, New York, NY, USA, ACM, (July 2009)
D. Rosca, S. Greenspan, M. Feblowitz, and C. Wild. Requirements Engineering, 1997., Proceedings of the Third IEEE International Symposium on, (January 1997)
T. Sohn, K. Li, W. Griswold, and J. Hollan. Proceeding of the twenty-sixth annual SIGCHI conference on Human factors in computing systems, page 433-442. New York, NY, USA, ACM, (2008)