You are on page 1of 25

Become a Rapid Developer

Module 2
Collaborating with Your Team
Module 2 – Collaborating with
Your Team
In this module, you will explore how Mendix supports Agile methodology and enables collaboration between IT
and business. That will allow you to quickly bring value to the market and to innovate.

2.1 Application Lifecycle Management


Some say that an app resembles a living organism, and Mendix can support you through all the stages of
building your app, from the first baby steps to retirement. This is called application lifecycle management
(ALM). It is an integrated system of people, processes, and tools that guides the journey of an app. There are
various frameworks describing that journey, which can differ per company or per app. Here is an example of
how ALM could be depicted:

2
Mendix supports ALM, because developing transformative applications at speed requires rapid
experimentation, frequent iteration, and close collaboration between business and IT. While many application
development tools focus on deployment, Mendix supports each stage of the cycle. It brings together cross-
functional teams, allows them to build software together, and also creates a common language between
business and IT. Mendix facilitates a more iterative, flexible process that allows organizations to adapt to
changing requirements.

In other words, you can manage the whole lifecycle from only one place – Mendix!

2.2 Our Use Case: LearnNow

3
The Puzzle
Jimmy is the director of the LearnNow company, which offers various training courses. He uses Excel to
manage the trainings that the company offers. As the company is growing, it’s becoming more and more
difficult to keep a clear overview of all the courses.

The Solution
Jimmy decided to use an app to keep track of everything. He wants to be able to easily register new
participants, enter new courses into the system, and quickly schedule them in his agenda. The trainers will also
benefit from a clear overview of when they have to teach which class.

For the rest of this learning path, you will be helping Jimmy create the app he is dreaming of!

Jimmy has decided to invest resources in building an app, but he wants to make sure he handles this project
the right way! He happens to have a friend who works as a Product Owner at an IT company and another
friend who works as a UX Designer. He calls them for advice and they tell him the following things: work in
Agile, compose a clear list of requirements, and get a UX Designer involved from the start.

Following this advice, Jimmy starts working on the requirements straight away, and the initial design is created
by the UX Designer. He isn’t too sure about how to work in Agile, though. Luckily, Mendix is specifically tailored
for working in Agile and you are here to help Jimmy out! Jimmy asks you to create the project for him, so the
development of the app can begin.

• The lifecycle of the app starts right there, at Capture. Once there is a problem that needs to be solved,
an app might come as the solution to this problem. Mendix supports the ideation process by providing a
variety of collaboration features. For example, you can use the Buzz to brainstorm with your
teammates, ask questions, set up a poll, and make decisions.
• Then, the actual develop phase of the app takes place! The team joins forces and all members try their
best to develop a functional app as fast as possible. Mendix provides a system where all team
members can collaborate with each other. You synchronize and control the app development process
using Mendix Studio and Mendix Studio Pro, and you plan tasks and sprints based on user stories.
With version control, you can reconcile the work of multiple developers into a single version.
• When the app is developed, Mendix takes cares of the deploy phase. Users can access it directly on
their mobile, laptop, or other device.
• Once they access it, users can provide feedback directly from the app. Feedback is facilitated as an
integrated system within the app. After receiving feedback, you can review and implement it directly in
your app. That is the fourth stage of the agile application lifecycle management: the iterate phase.

You can see below how this is reflected in the Mendix platform. If you think you recognize these phases from
the Application Life Cycle Management diagram we've just seen, you're right!

4
2.2.1Create a New Project
It’s time to create your app project, so you can plan the work that needs to be done and build the app.

Open Mendix Developer Portal to get started. In the top-right corner, you see the Create App button, so go
ahead and click it. On the Starter Apps tab, select the Blank App and then click Use this App. Name the app
“LearnNow Training Management”, and then click Create App.

When you create a new app project in Mendix, you automatically get the SCRUM Master role for that project.
You will learn further on in this module what this means and what Scrum is.

2.2.2Explore the Buzz

After you create your app project, you will see the Application Buzz. This is like a timeline of the development of
the LearnNow Training Management app. It is different from the Company Buzz. If you have colleagues that also
work with Mendix, you can communicate with them in the Company Buzz and see which apps they have created.

5
6
2.3 Project Methodology
Introduction

For many years, software developers used defined methods of working and managing projects, such as
Waterfall. The requirements were defined in the beginning of the project, and the work was scheduled over a
longer period of time.

As market needs change quickly and project requirements become more complicated, Waterfall is not able to
respond to the challenges that arise. In 2012, Gartner published a research paper titled The End of the
Waterfall as We Know It, showing that the longer the duration of a waterfall project, the higher the risk is.

Developing transformative applications at speed requires rapid experimentation, frequent iteration, and close
collaboration between business and IT. By prioritizing speed and agility, you can increase productivity and
improve project outcomes. In other words, you can make an app in just days instead of months or years, so as
you can see below, agile adds a lot more value in terms of speedier prototyping, time to market and overall
quality.

Agile

Agile is an umbrella term for several iterative and incremental software development approaches. Agile
promotes a highly iterative process for application development, with multiple development cycles called
sprints. It is designed so that all parties can provide feedback as the software is developed in an efficient and

7
effective manner. Some Agile frameworks include Scrum, Kanban, and Extreme Programming.
Scrum is by far the most popular of the Agile methods. It is a simple way to develop complex products. Scrum
is based on a cycle of events, a flow of work, and a clear definition of roles.

The Mendix Agile Process

The Mendix approach to Agile is based on Scrum (see below). In Scrum, you start by creating a product
backlog. Those are the work items that you potentially want to work on. The Product Owner defines the priority
of those items. Then, the team selects which items they want to work on, and they work on those items for a
fixed duration of time, called a Sprint. There are daily short meetings (daily standup) that give insight into what
each team member is doing and ensure that everyone is on the same page. At the end of the Sprint, the team
has produced a product increment, which means an improvement on the product being developed! There is
working software, and the users can provide feedback. The product owner evaluates that feedback and sets
the priorities of the product backlog. The team has gained some valuable experience and is ready to start the
next Sprint!

In this module, you will learn more about Scrum and how you can implement it using Mendix! If you want to get
more in-depth knowledge on how Scrum works, you can find more information on Scrum Alliance and
Scrum.org.

8
2.4 Project Roles
Introduction

In Scrum, it is important to have small cross-functional teams. That way, you can achieve greater focus and
higher productivity. There is more effective communication, easier documentation, and faster knowledge
transfer.

Each Scrum process needs a couple of vital roles to be successful: the Product Owner, the Scrum Master, and
the Development Team. Altogether, these roles comprise the Scrum Team.

Scrum Roles

• The Product Owner keeps track of the project stakeholders’ expectations and defines the

9
requirements for the project. In addition, the Product Owner communicates the vision to the team in
order to set priorities.
• The Scrum Master makes sure that the Scrum team can work according to the Scrum methodology
and focuses on optimizing processes within the team. If the team gets stuck because of things that are
out of their control , it's the Scrum Master's job to remove those impediments.
• The Development Team consists of the people who actually build the app. A Mendix App Team
usually consists of two to three members such as engineers, designers, architects, and testers. These
members have different skillsets and potentially different experience levels. There can also be a
number of specialists included during the project These are “fly-in” experts who are there for a short
period of time, because their specialism is required in a Sprint.

The entire Scrum team works together on making sure the project is successful. They ideally cross-train each
other, so the team's success isn't reliant on a single person. The Scrum team organizes itself to make things
happen!

Scrum in Mendix Projects

Within a Mendix app project, you have a couple of project roles available to you by default. Other than the
Product Owner and SCRUM Master role, you can also choose a role for the different members of your
development team. In Mendix, developers are called Business Engineers.

The SCRUM Master is usually the one with the most administrative rights within the app. In some teams, there
is a dedicated SCRUM Master. When the team is small, one of the team members usually takes over the role
of the SCRUM Master parallel to development.

You can also have a Performance Engineer/Tester and/or Application Operator. They can monitor how smooth
the app is running and deploy the latest version of the app. However, they are not involved with building the
app itself. Stakeholders can be assigned the End User role, which will allow them to take part in the ideation
phase, but they won’t be able to edit the app.

You can add additional project roles or edit existing roles, based on your preferences and needs for the
project. But usually you won’t need to do this, because the default roles will be enough.

10
2.5 Creating a Project Team in Mendix
Mendix can help you bring your collaboration to the next level! But for that, you first need to choose your team
members! With Mendix, you can build large or complex applications with only two project members: one with a
business focus, the other with a technical focus. A wide range of users can understand Mendix’s visual
modeling, which allows non-technical team members to quickly and easily build business applications.

In our scenario, Jimmy stops for a moment to think about that. He decides to pair one of the senior trainers
(who has a lot of experience about the LearnNow company and also Scrum knowledge) and a junior trainer
(who doesn’t know a lot about the company but seems to have an interest in development). He calls them to
confirm their availability and willingness to cooperate. They both seem excited, so he invites them to his
Mendix project right away!

On the Team page in the Developer Portal, you can do everything related to your team. You can invite new
members, delete existing ones, and manage the roles and rights of each member.

2.5.1 Invite members to your project


At the moment, you are the only member in your project. Go ahead and invite two new members to your app
project! To do so, click on the (+) button on the right of your screen, and follow these steps:
1. Add at least two valid email addresses. Keep in mind that only corporate or educational email addresses
are allowed, and that a confirmation email will be sent. Then, click Add to invitee list. Take a moment to
think:
• What should the roles be of the team members you just invited?
• Who should be able to do what within the app?
2. Select a role for each new team member for this project, then click Next.
3. Type in a personal message, then click Next again.
4. Review if all the data you filled in is correct, then click Send invitations.

Grab yourself some coffee and wait for a while. The invitation will appear in the invitee’s mailbox. Once they
accept, you will be able to see them in the Team section of your app project.

Hey ho! Your team is set up and ready to go!

11
2.6 User Stories
Now that you've set up your project team, let's get started on the Capture phase! A user story is a way to
translate the needs of your users into items you can work on. You probably have some basic ideas on how
your app should function, and what it should be able to do. So now it’s time to create user stories based on
those ideas. The more these user stories reflect the needs of your users, the happier your users will be!

Eventually, those user stories will fill your product backlog. The product backlog is a list of work items that can
be done. Everyone in the Scrum Team can add items to the product backlog, but it is the responsibility of the
Product Owner to prioritize those items in negotiation with the various stakeholders. The product backlog is a
living document that needs constant refinement, as items can be added and others changed or removed.

When working with Scrum, you do not estimate how much time you will need to complete some work. Why?
Because you already have a timebox, your Sprint! The Sprint is a fixed period of time, during which the team
tries to achieve a certain goal. The Scrum team choses one, two, three, or four weeks as the Sprint duration.
Usually a two-week sprint is a good length to start with. Short sprints provide short feedback cycles, which help
you to achieve fast outcomes! A Sprint usually starts with the Sprint planning and ends with the Sprint review
and retrospective.

Let’s have a better look at those elements of a Sprint. In traditional plan-driven approaches, you set certain
requirements, and then you negotiate how much time and resources you will need in order to meet those
requirements. With Agile and value-driven approaches, the time and resources are set, as you have a timebox
for your Sprint (for example, two weeks) and a certain number of people working on a team. What you can
negotiate is the value of features you are going to provide to your users (in other words, how much effort you
are going to need in order to achieve a product increment). This effort is decided on and translated into story
points by the development team during the refinement sessions.

Here are three things to think of when creating a user story:


- Who is my app’s end-user? <user type>
- What does the end-user need to do? <business value>
- How can I help them do that? <what>

Then, you can use this simple user story template:


As a <user type> I want <what>, so that <business value>.

2.6.1 Jimmy’s User Stories


So, let’s apply this to our current situation. Jimmy has decided to build an app for his training management
system. What would be the user stories for this project?

User type
First, let’s think about his users. Who is going to use his app? Well, the app is mainly created for Jimmy
himself. Teachers and students should also be able to view parts of the app.

Business value
Next, what do the end-users need?
• Jimmy wants to be able to keep track of the various trainings his company is offering. He wants to keep

12
all his trainings up-to-date. He wants to be able to add new courses, assign teachers to them, and
schedule them over a period of time. He also wants to be able to see who is participating in each
course, and when!
• Teachers want to be able to see when the next class they need to teach along with a list of the students
participating in order to prepare accordingly. They also want to see the details of each participant. In
case participants are late, they want to be able to contact them.
• Students want to be able to view an overview of the available courses, and when they are scheduled.

What
Based on the users and their needs, we can then think of what we need to create to help them resolve those
needs. For example, what would an administrator need in order to be able to keep his or her trainings up-to-
date?
• An overview of all the training courses
• An option to add, edit, or delete courses
• A detailed calendar of when each course is going to be held

And what would a teacher need in order to contact participants?


• The email address of each participant

User stories
Based on that, we create the following user stories:
• As an administrator, I want to be able to add a new training, so that I can keep my trainings up-to-date.
• As an administrator, I want to be able to edit a training, so that I can keep my trainings up-to-date.
• As a teacher, I need to be able to view the email address of each participant, so that I can send them
their certificates of participation.

Let's find out if there is a way of streamlining this process.

13
2.7 Create a Wireframe
To visualize your app and at the same time streamline the process of creating user stories, a wireframe may
come in handy. A wireframe is a visual way to show the basic features of the app you want to develop. It
doesn’t need to be detailed and perfect. It’s just a quick and easy way to explain how you imagine the app!

Jimmy and his team get together and have a vivid discussion regarding their wireframe. Discussing it in a
group helps them to better understand the reason behind having the app and the most important elements it
should have!

Here is what they came up with:

The office tends to get messy sometimes, so they don’t want to risk someone throwing their wireframe away!
They quickly take a picture and upload it to the documents page of their app project. In that way, they can look
back at it when creating the app.

2.7.1 Create wireframes of your homepage


Time to be creative! Take a piece of paper and fold it one time horizontally and one time vertically, to create
four rectangles. You’ve already seen how Jimmy and his team envisioned the app. Draw four different ways
that the homepage of your app could look! After you do that, think about the following:
• What are the most important elements to have in the homepage?
• What is the simplest way to make that happen?
Once you are finished, share your designs in the project on the Documents page.

14
15
2.8 Adding User Stories to Your Project
Having created a wireframe of your app, you’ll now have a much better idea of what your users need and what
your app is going to look like.

Next you’ll need to add the user stories to Mendix. From there, you can add more details on what needs to be
done. You will be able to pick a new item to work on as you go. You will then be able to communicate your
progress and collaborate with your team mates. Last but not least, this will give you a better overview of what
needs to be done before the end of the Sprint!

How to add a new user story


On the Buzz page of your app, which we discussed earlier, you can navigate to the Stories entry in the menu.
To add a story you can simply click New story and fill out the details.

The story points represent the effort it will take to finish that user story. The team process of defining how easy
or difficult you find a user story to be is called refinement, which is done prior of the planning of each sprint.

16
You can further break down the work that needs to be done for the user story into tasks. In that way, developers
know exactly what they need to do to complete the story.

Tip
You can use the arrows to the left of each user story to move them up and down
in your backlog, based on your priorities for the upcoming Sprints!

2.8.1 Add your first user story


Time for you to try! Add one of the user stories we defined earlier. Use the following details:

• User story: As an administrator, I want to be able to manage my data, so that I can make changes at
any time.
• Story type: Feature
• Story points: Add an estimate. How much effort do you think it will take?
• Description: How would you describe this user story so that your team understands what it’s about?

We will need that user story for the next part of the training, so make sure you add it to your backlog!

17
2.8.2 Importing User Stories
Usually, when working as a team, you will be adding user stories progressively when talking with a stakeholder
or receiving user feedback.

On average, you will spend approximately one-tenth of your Sprint time refining user stories. That is time well
spent, though, as it helps you better understand the needs of your users and build features that cover those
needs!

In this course we want to teach you how to develop your first app in Mendix rapidly, so we won't ask you to
spend hours thinking out and writing all those user stories! So, in the Resources, you will find a small gift from
us. We created an Excel sheet with all the user stories you will be working on during this learning path. You
can simply import this into Mendix by following these steps:

1. Click More and select Import/Export from the drop-down menu options.

2. Select Update stories from Excel.


3. Pick the file you just downloaded from the Resources tab.
4. Import.
5. Click Next to accept the changes.

18
This is what your Stories page should now look like:

19
2.8.3 Starting a New Sprint
Now you have all the user stories and it’s time to start working on them. So, it’s time for a new sprint! You can
find everything you need regarding the process towards your goal under the Planning tab.

Completing the Get Started Sprint

To start working on a new Sprint, you first need to finish the previous one. As Scrum has timeboxed Sprints,
it’s not possible to start working on two Sprints at the same time!

In every app, there is a “dummy” Sprint called the “Get Started” sprint. You first
need to complete this, before starting with your first actual sprint. Go ahead and
click Complete current sprint.

After completing your current sprint, you can start your new one.

The Sprint Backlog consists of all the items that need to be finished during a Sprint. Most teams will visualize
those items on a board to show their progress. This is different from the product backlog, which has all the user
stories you have created that aren't added to a Sprint yet.

You create your Sprint backlog during the Sprint Planning. This marks the beginning of each Sprint. During
this meeting, the Scrum Team plans what they are going to work on during the upcoming sprint. The Product
Owner presents the features they would like to see, and the development team asks questions to understand
the requirements.

How can you start a new Sprint in Mendix?

First, you need to select which stories you want to finish during the next Sprint. Then you are going to add
those stories from your backlog to your new Sprint. In Scrum, that can also be called ”commit,” as you are
committing yourself as a team to finishing those user stories within the duration of your Sprint.

Under Stories, click New sprint:

You will jump to the Sprint Planning page to fill in the needed information.

20
Tip
Believe it or not, the hardest part of starting a new Sprint is finding a meaningful name for it!
The name is important, as it can be a strong motivation for the team to work towards the
goal of the Sprint.

Now, move all the stories that were imported in the backlog and the one you created yourself to the Sprint you
just created. You can select all the stories at once by using the Select All button.

After that, click Move to and select the Sprint you just created.

The Jimmy’s ideas sprint is now empty and can be deleted. Select the sprint and click the Trash icon to do so.
The Let’s rock the LearnNow App sprint will automatically become the current sprint.

21
Now let’s take a look at the Planning page.

The Sprint Status tab shows you how much you have progressed towards the goal of your Sprint. You can
see which user stories have yet to be picked up, which are currently in progress, and which ones are finished!
You can move user stories from one column to another to indicate their status. This tab shows the overall
progress of the team towards the goal of the Sprint.

The Burndown Chart tab offers another visual representation of your progress towards the goal of the Sprint.
It presents user stories and tasks, and also takes into account the effort needed to finish each user story.

The Release Plan tab gives you an overview of all the Sprints and upcoming releases. It can help you set
priorities and give you a better estimate of what needs to be done when!

Congratulations your Sprint is ready to go!

22
2.11 Summary
In this module you learned more about how you can use the Mendix platform to effectively work with your team.
In more detail, you learned:
• What the application lifecycle is and how it is managed in Mendix
• What Agile methodology is and saw how Mendix facilitates the implementation of Scrum
• How to invite your App Team and how to assign relevant roles to them
• How to create user stories based on your users’ needs
• How to select the user stories that you will work on for the following Sprint
• How you can visualize your progress in the planning

Can’t wait to start working on your app? Click on the next module to start building!

23
2.12 Knowledge Check
1. You can create a new app from the Mendix Developers Portal.
a) True
b) False

2. If a scrum team gets stuck, because of things that are out of their control, who is responsible to remove
those impediments?
a) The Product Owner
b) The Project Manager
c) The Scrum Master
d) The Development Team

3. Where do you capture your project requirements?


a) In a text document that you share with your team members.
b) The project manager maintains a requirements document.
c) In the Stories tab in Mendix Studio.
d) At the Stories tab underneath Collaborate in your project’s dashboard.

4. How many default App Team roles are there?


a) 5
b) 7
c) 6
d) 4

Answers:
1-a, 2-c, 3-d, 4-a

24
Mendix is the fastest and easiest platform to build and
continuously improve mobile and web applications at scale.
Recognized as a market leader by leading analysts, we help our
customers digitally transform their organizations and industries by
building, managing, and improving apps at unprecedented speed
and scale. More than 4,000 forward-thinking enterprises, including
Kuehne + Nagel, KLM, Philips and North Carolina State University
use our platform to build business applications to delight their
customers and improve operational efficiency.

Learn more at Mendix.com


25

You might also like