Content tagged with: agile
Use Cases are a classical format used in UML to describe user scenarios and document requirements. They have been mostly replaced by user stories when software development teams adopt Agile approaches like Scrum. This article by Paul Raymond discusses how classical use cases can be use to expand user stories during requirements elicitation in Scrum sprints.
Modelling is rarely at the forefront of discussions when looking at agile and the agile way of working. This is surprising because it has so many benefits with respect to communication and understanding.
In this article, Simon Brown discusses the impact of the Agile approaches on the conception and representation of software architectures. The main point of the article is that software developers seems to have abandoned the Unified Modeling Language (UML) or just haven’t learned it. The question is then: how would you represent the software architecture?
This article discusses the usage of modeling activities in agile approaches. It explains that agile modeling is aligned with Agile values and principles. Modeling should be included in your Agile toolkit, a models support communication and understanding. It recommends to create simple models using simple tools. As requirements are going to change, you should embrace change as you create models. Remember that the focus is to deliver software and not models. Use models when and where they add value.
This blog post discusses how and when to use UML use cases in Agile Scrum projects. Use cases are more specific and they describe how your system will act. User stories are focused on the result and the benefit of the thing you’re describing. According to the author use cases shouldn’t be used in Agile software projects unless the team really feel the need for them.
This article explains how with the application of Agile and Lean principles on model-driven development, we will get an Agile approach for constructing the architecture of a new Market Server Capability (MSC)definition which will eliminate the duplication and inconsistency, while still maintaining a short implementation phase. The resulting architecture has a single modeling level, with merged PIM and PSMs. The model is designed by reverse engineering of the legacy code in a Test Driven Development fashion.
Agile development often considers UML modeling a redundant tool/practice that needs to be abandonned. However, modeling can be an essential tool in big agile projects to improve communication and preserve high-level knowledge such as domain concepts, user roles and use cases, system composition/integration architecture, etc. Modeling is still immature and novice modelers might create models that directly replicate code details.
In this blog post Terry Quatrani discusses her vision of UML modeling in an Agile software development context. You only want to create enough diagrams to help you communicate and think out your problem.
Modeling is not reserved to plan-driven methods, and the problems sometimes encountered lie not with modeling but with overdosing on models and failing to use modeling as an opportunity for communication. Models that become an end in themselves and are drawn up by individuals in isolation from one another are often the culprit. Typically, the secret to effective modeling is more in the -ing than the model.
This article shows how working with models will help you in an agile project. Models can help you explore existing code, discuss new design, clarify needs, define tests. They can also be used generate some of the code.