150 likes | 279 Vues
Discover the essentials of Agile Modeling (AM) in software engineering through core values like communication, simplicity, and feedback. This comprehensive guide outlines AM principles such as assuming simplicity and embracing change, which are vital for iterative and incremental development. Explore practical approaches including active stakeholder participation, collective ownership, and using multiple models effectively. Understand how AM can be tailored within methodologies like Extreme Programming and the Unified Process, ensuring that your software development process meets your unique needs.
E N D
Agile Modelling in Software Engineering Audrey Nemeth, Vladimir Borisov
AM Values • Communication • Simplicity • Feedback • Courage • Humility Source: http://www.agilemodeling.com/values.htm
AM Principles • Assume Simplicity • Embrace Change • Enabling the Next Effort is Your Secondary Goal • Incremental Change • Maximize Stakeholder Investment Source: http://www.agilemodeling.com/principles.htm
AM Principles • Model With a Purpose • Multiple Models • Quality Work • Rapid Feedback • Software Is Your Primary Goal • Travel Light
AM Principles (Supplementary) • Content is More Important Than Representation • Open and Honest Communication
AM Practices • Active Stakeholder Participation • Apply the Right Artifact(s) • Collective Ownership • Create Several Models in Parallel • Create Simple Content • Depict Models Simply Source: http://www.agilemodeling.com/practices.htm
AM Practices • Display Models Publicly • Iterate to Another Artifact • Model in Small Increments • Model With Others • Prove it With Code • Single Source Information • Use the Simplest Tools
How AM Practices Fit Together Source: http://www.agilemodeling.com/essays/practicesFitTogether.htm
What is AM used for? • You are taking an agile approach to development in general • You plan to work iteratively and incrementally • The requirements are uncertain or volatile • The primary goal is to develop software • The active stakeholders are supportive and involved • The development team is in control of its destiny • The developers are responsible and motivated • Adequate resources are available for the project
AM in Software Development Projects AM is meant to be tailored into other, full-fledged methodologies, enabling you to develop a software process which truly meets your needs.
AM in eXtreme Programming The three most common misconceptions are that software designers: • don’t model • don’t document • if they do model, only use modeling artifacts of UML www.extimeprogramming.com
AM in Unified Process In the RUP there are three disciplines that encompass modeling activities for a single project – Business Modeling, Requirements, and Analysis & Design– and the EUP adds Enterprise Business Modeling and Enterprise Architecture
How to Save Time • in Modelling • Design models that are just barely good enough • For a given model, use the simplest tool • Effective developers make use of multiple models • in Documentation • Unit tests form much of the detailed design documentation • When dealing with a part of the software that is really complicated, either document it thoroughly or redesign it to make it simpler