

















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth exploration of agile modeling (am), a practice-based methodology for effective modeling and documentation of software-based systems. It covers the five values of am (communication, simplicity, feedback, courage, respect) and the core and supplementary principles of am. The document emphasizes the importance of communication, simplicity, feedback, courage, and respect in agile modeling, and discusses the role of each value in the software development process.
Typology: Slides
1 / 25
This page cannot be seen from the preview
Don't miss anything!


















Lecture 5
The Agile Manifesto
■ We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
— Individuals and interactions over Processes and tools
— Working software over Comprehensive documentation
— Customer collaboration over Contract negotiation
— Responding to change over Following a plan
■ That is, while there is value in the items on the right,
The five values of Agile Modeling (AM) are:
■ Communication ■ Simplicity ■ Feedback ■ Courage ■ Respect
■ Communication is very important aspect of agile development.
■ Through continuous communication with stake holders of a project, the development team can gather most valuable and changing requirements.
■ To give the right people the right information when they can use it to its maximum advantage.
■ Kent Beck says in Extreme Programming: “Optimism is an occupational hazard of programming, feedback is the treatment”.
■ Feedback from the stake holders, enables you to act on that advice.
■ Update the system as the user says it in feedback
■ Courage is important because you need to make important decisions and be able to change direction by either discarding or refactoring your work when some of your decisions prove inadequate.
■ To make the right decisions, even when they’re difficult, and to tell stakeholders the truth when they need to hear it.
■ Principles are applications of values to an industry.
■ Two types are:
— Core Principles
These principles must be adopted to be able to claim that one is truly taking an Agile Model Driven Development.
— Supplementary Principles
which you should consider tailoring into your software process to meet the exact needs of your environment.
i. Assume Simplicity ii. Embrace Change iii. Enabling the Next Effort is Your Secondary Goal iv. Incremental Change v. Maximize Stakeholder ROI vi. Model With a Purpose vii. Multiple Models
viii. Quality Work
ix. Rapid Feedback x. Working Software Is Your Primary Goal xi. Travel Light
■ Requirements evolve over time.
■ Project stakeholders can change as your project moves forward, new people are added and existing ones can leave.
■ Project stakeholders can change their viewpoints.
■ You should accept these changes.
■ When you are playing the software development game your secondary goal is to setup to play the next game.
■ Your next effort may be the development of the next major release of your system or it may simply be the operations and support of the current version you are building.
■ Factors that you need to consider include whether members of your existing team will be involved with the next effort, the nature of the next effort itself, and the importance of the next effort to your organization.
■ In short, when you are working on your system you need to keep an eye on the future.
■ Your project stakeholders are investing resources -- time, money, facilities etc.
■ They deserve to have the final say in how those resources are invested or not invested.
■ You (The developer) must know why and for whom you are creating a model. You should know the purpose.
■ An important implication of this principle is that you need to know your audience. For example, if you are creating a model for maintenance developers, what do they really need? Do they need a 500 page comprehensive document or would a 10 page overview of how everything works be sufficient? Don't know? Go talk to them and find out.
■ Nobody likes sloppy work (careless and unsystematic).
■ Customers want you to develop such a system that fulfills their requirements.
■ The time between an action and the feedback on that action is critical.
■ Working closely with your customer, to understand the requirements, to analyze those requirements, or to develop a user interface that meets their needs, provides opportunities for rapid feedback.