How Agile Models Can Help You Create Better Products Faster

What’s an agile model?

Some people will tell you it’s a very important diagram that models your solution in order to handle complex use cases… And some others will say no! Agile models are simply diagrams with stick men and swim lanes:  the team draws what the user will see in order to achieve his objectives.

Agile models can contain any kind of diagram, every agile development team uses different types of models with different names, some are even unique to their team. The goal is always the same however: solving problems by drawing them out…

Finally, we’ve compiled this article and other resources to help teams looking for Agile consulting and training services:

  1. Agile Modeling Has Nothing To Do With Your DNA
  2. You Have More Power Than You Think
  3. Agile Models Address the Most Vital Concerns First 
  4. The Product Owner Represents The Business 
  5. The Value Of Communication 
  6. Create a Shared Understanding 
  7. Iterations Are Better With Models 
  8. Weave a Common Thread Through Your Work 9. Ensure Transparency 
  9. Save Time and Money While Reducing Risk 
  10. Consider Agile Modeling Next Time You Need to Solve A Problem.

Agile models have been an essential part of agile practice since the early years of Scrum. They help teams to understand and visualize their product, but most importantly they provide a common vocabulary that allow developers and business people to discuss user stories before writing them down.

But how does it work? Are Agile Models Just Useful Pictures?

Diagrams are a great way to visualize information, but they’re just that! Their main goal is not to deliver business value, but rather they help people understand the problem space before they start doing something about it… Think of an illustration in a children’s book: it delivers content, but most importantly it helps kids imagine new worlds and teach them how the world around them works.

In the same way, a picture on an agile board acts as a placeholder. It does not deliver business value or replace prototyping, but rather it helps stakeholders imagine new solutions to problems they face on a daily basis… In fact, I’d go as far as saying that if you’re looking for someone who can help you convert your ideas into working software – Agile Modeling is not the best place to start!

Discovering Requirements With Modeling?

So why do we use models then? Models are effective because of their visual nature: they allow people involved in a project (e.g. developers and testers) to understand what’s going on with minimal investment… Agile modeling is just one type of modeling that we can use to discover (and validate) requirements of a system. As such, Agile Modeling is an activity that takes place in the early stages of a project before “traditional” prototyping kicks-in. Traditional prototyping ?” you may ask yourself. Well…

See also  Tips You Should Consider When Moving or Shifting

 

Prototyping With Rapise

Rapise allows us to create functional prototypes by leveraging pre-recorded user actions and JavaScript functions wrapped within so-called ‘macros’ that can be leveraged throughout our test script. Each recorded action supports validation points that allow us to verify expected behavior from the UI under test . In fact one of my favorite Rapise features is how it enables collaboration between business analysts and testers as both team members work together on creating new test scenarios and validations.

Rapise allows us to create functional prototypes by leveraging pre-recorded user actions and JavaScript functions wrapped within so-called ‘macros that can be leveraged throughout our test script.

When saving a recording, Rapise offers a couple of options for reusing recorded actions. One approach is to save the recorded macros as a shared object that we can access from any test suite in our project . In addition, Rapise offers the possibility of packaging all created macros as a stand alone application – perfect for distributing your reusable action libraries!

The downside is that both approaches require some manual work to deploy these test objects to other machines or testers who should run them as part of their local test suites. Also sharing recordings with other testers is often complicated, since there are some requirements to be met in order for your scripts to run successfully on another machine.

For this reason, the new release of Rapise introduces a Browser Service that allows you to remotely connect with other browsers that are running scenes saved locally in any test suite. Now recording an action script is only one step away from sharing it for executing within another browser session!

The idea behind the Browser Service is simple: Let’s say you have several test suites which share the same infrastructure setup . One of these suites runs three tests for checking specific functionality of your application. The problem is that these tests require different browser instances and configurations which also change across test runs/users. Since setting up all required infrastructure can be a real pain, especially if you have multiple configurations/test setups, the Browser Service comes to the rescue.

The idea is very simple: You install a service which just acts as a client for browsers running in headless mode. Now all you have to do is register these browser sessions at the service and configure your suites to use this service instead of launching a local browser instance directly. This way all test runs within a suite using this service will share the same configuration and execution environment!

  • Add Your Comment