Mendix Projects and the Wizardry of Epics
When you’re building an application, you’re going to need a plan. If you’re forming a plan, there’s a good chance you’re going to need somewhere to store and manage that plan. Whilst there’s a whole host of different products available to do that, I’m here to tell you about a new and exciting one built straight into your favorite low-code application platform:
Say, “Hi” to Epics!
Mendix projects and the next iteration
For those of you who have used Stories in Mendix before, you may already be familiar with Mendix’s earlier version of project management. It covered off-story creation and loosely tied it to version control but, overall, from a project management perspective, it left a lot to be desired.
Epics is a ground-up rewrite of that functionality and offers a much more robust way to manage an Agile project using either a Scrum or a Kanban approach. The idea is that you can run your project all in one place without having to split focus across multiple platforms when you’re tracking work in progress and what’s up next.
Mendix projects and the basic components
Epics comes with a few basic components that you’d expect from a project management tool.
First up, is the application’s namesake: Epics. Gone is the flat story structure you may have known before. You can now build a list of epics to group your feature stories together. This makes it easier to track which section of the system is being worked on. It even gives you a handy progress check for the stories within the epic so you can see at-a-glance how much work has been done and how much is left to do. As linked stories are completed, progress is automatically updated on the epic until it’s finally complete.
Epics, the item not the tool, can also be assigned to people, tagged with key information to make them easier to find. You can add comments and attachments to have discussions, share design work or anything else you can think of!
Within an epic you can then nest your features (or stories). A story comes with similar attributes to an epic, in that it has a description, tags, assignee, attachments, and discussion capabilities. Speaking of story and epic description, here’s a couple of nifty little tricks – you can easily link a story or an epic if you type # and then a part of the name and then select the right item from the dropdown.
@mentioning another team member is an option as well and if you do that in the story/epic description or a comment, they will get a notification – gone are the days of reaching out to check if a story is ready for review, now you can get notified when it’s time for you to take over.
Stories also come with a field to capture story points; a measure of how complex the story is going to be (check out this link for more about story points and how they work).
Finally, there’s a status to choose from, which comes with six, out-the-box options:
- To Do
- In Progress
This list is customizable, and you can add further options when you’re looking at the board view by clicking the “+” symbol between two columns.
A couple of other handy little features are available in the top right. You can archive your story when you’re done with it (or finally accept that it’s something you’ll never implement), and you can clone your story as well. Cloning will make a copy of the story, excluding comments and attachments, so you can quickly reproduce the format ready for changes.
Now, if you’re looking at the status list and saying to yourself, “That looks an awful lot like it would track well on a board…”. You’d be totally right! We’ll get to that in a second but first let’s talk a bit about Scrum mode and sprints.
Mendix projects and the planning of the sprint
If you’re familiar with Scrum, then you’ll want to be able to plan your sprints, and the new Epics Planning tool has that covered. You can create sprints with a title, start/end dates, and an overarching goal for the sprint. Once you’ve got one up and running you can then start allocating stories to it…but wait. What about the backlog and refinement? Don’t worry, we’ve got that sorted too.
When you create a story, it will end up in your backlog by default if you’re on the planning page. You can then allocate stories from the backlog to a refinement pool where they can be reviewed and assessed before being put into a prep area ready for an upcoming sprint.
Once your sprint is complete you can hit the “End Sprint” button, decide what to do with any incomplete stories (put them in the next sprint or back into refinement), and any completed stories are moved into the archive where they can be viewed later if needed, which keeps your planning view focused on the stuff that’s left to do. Then it’s onto the next sprint!
Mendix projects and the board of scrum
Let’s assume you’ve got your sprint prepped and you’ve picked your stories, how do you keep track of what you’re doing? You need the board! The board view changes depending on your current methodology but in Scrum mode you can expect to see your current sprint presented like this:
From here you can see details about the time frame and objectives for the current sprint and all the stories and their stage of completion. You can easily drag stories from one status to the next to indicate how things are progressing or click into the story and update the status using the dropdown. You can also add new stories straight into your “To Do” list from this page.
Mendix projects and the switch to Kanban
That’s Scrum mode but remember I said you can switch to Kanban if you like? You’ll find the option under the cog icon on the Planning view:
If you switch to a Kanban management style your board will look very similar, but you’ll lose the ability to create and group by sprint as it’s not part of the Kanban methodology, so your board will look more like this:
Which methodology you choose to use is down to personal preference. Personally, I like to start in Scrum when I’m working with a new team and once we’ve hit our stride, then I’ll switch it over to Kanban. I prefer the flexibility of Kanban, but it very much depends on the team!
Epics and the rest of the Mendix platform
Epics is fully integrated with the rest of the Mendix ecosystem. If your project is Epics enabled, you can easily link your commits from Studio Pro to a story in Epics – that way you will document exactly which piece of work is related to which story.
If you accept a feedback item in the Developer Portal, this will create a story in Epics. You’ll be able to recognise those stories at-a-glance by the purple quotation mark icon.
The unique ID of the feedback item will be automatically added to the title of the story and once you open it, you’ll also be able to quickly get back to the original feedback by clicking the same purple icon on the top of the page. Nice and easy!
Presto! Your project is done.
You’ve documented your epics. You’ve added your stories. Sprints have been planned. Commits added and stories resolved. Application completed… or is it? I’m a firm believer that no application is ever truly finished. There are always improvements to be made and new technologies that can improve the efficiency or process. That’s the case with Epics too!
See the below video from our Mendix 10 launch for more information!
This tool has many more features to be built and a backlog bursting at the seams. If you’ve got any suggestions for improvements, then please feel free to get in touch via our ideas board and leave your suggestions for us.