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:
J. Coplien. Proceedings of the 2nd European Conference on Pattern Languages of Programming (EuroPLoP '97). Siemens Technical Report 120/SW1/FB, page 51-60. Munich, Germany, Siemens, (1997)
M. Yasugi, Y. Matsuda, and T. Ugawa. Proceedings of the 11th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering - PASTE \textquotesingle13, ACM, (2013)