Table of Contents
- What Development Process Works Best for Mendix?
- Why Should I Use the BizDevOps Process?
- How Does Mendix Support the BizDevOps Process?
- What Are the Key Roles in a Mendix Development Team?
- How Does Mendix Fit into Agile?
- How Does Mendix Fit into DevOps?
- How Does Mendix Fit into Traditional App Development?
The app development process Mendix used from day one was later identified as a combination of Agile and DevOps, though optimized for low-code app development. Due to the high focus on business and IT collaboration, the Mendix development process can be better described as BizDevOps or DevOps 2.0. Mendix has optimized the BizDevOps approach for low-code usage.
The Mendix development process encourages developers, operations staff, and business teams to work together so that the organization can develop software more quickly, grow more responsive to user demand, and ultimately maximize revenue. In this approach, not only does the business team set the requirements, they also work directly with the development team. The development team is composed of business analysts and professional developers working alongside the business.
This section explains the concept of Mendix BizDevOps and compares this with other software development processes.
Adopting the Mendix development process known as BizDevOps in combination with the Mendix low-code development platform drastically shortens the feedback loop. In turn, there is an increase in efficiency, which results in better outcomes, lower costs of app development, and shorter time-to-market.
In Mendix app development projects, there is an instant feedback loop between the business analysts and the developers. With the Mendix Platform’s capabilities of one-click-deployment and visual modeling, the development team can handle an hourly feedback loop from the business and product owners. This means it is often the provisioning of feedback from the business that determines the duration of the feedback loop. In practice, this results in a feedback loop of 1–2 weeks between the business and the development team, which enables monthly releases.
Just as Agile reduced time-to-market by roughly 50% by implementing shorter feedback loops, we are seeing even better results with the Mendix process. The BizDevOps approach not only reduces time-to-market by another 50%, it also reduces the development effort by 70%.
Mendix has optimized the BizDevOps approach for low-code, resulting in a feedback loop of less then a month. This short feedback loop is ensured due to four important factors in the Mendix Platform:
- Integrated requirement management – The business provides their requirements and feedback on the live app (minimal viable product) through a user-friendly feedback mechanism, which is integrated in the Mendix IDEs. This provides developers with contextual metadata, such as the page, user, and browser from which the feedback was given.
- Visual modeling – With the Mendix low-code platform, the business analyst is enabled to visually build apps and work together with the professional developer on a common model in a shared environment with ongoing real-time feedback. Any issues are quickly detected and resolved, ensuring apps meet business and customer expectations with the first release.
- Team synergy via multiple IDEs (Mendix Studio and Mendix Studio Pro) – With tailored-made IDEs for the different roles, Mendix enables everyone to contribute to their strengths while still working on the same model.
- One-click deployment – The one-click deployment to any cloud ensures the app can be released in minutes, enabling the business to provide their feedback on the next iteration.
The core development team in Mendix low-code BizDevOps projects consists of three main roles:
- Business representative – This role is key in the BizDevOps process. The business user is—as a product owner—responsible for providing input from the business via requirements for or feedback on the app, and then translating these into user stories.
- Business analyst – This role talks to the business and works together with a more technical developer to run the entire application delivery lifecycle, including the operations. The enablement of the business analyst is key in interpreting the requirements and feedback from the business correctly. In other words, they speak the same language to verify the UX/UI (pages), business rules (logic), and the conceptual data model of the app in development.
- Developer – This role delivers tangible results by supporting the business analyst to build the app. The developer focuses on the technical work with the integrations, data model, security, and performance.
This core development team runs the entire application delivery lifecycle without the direct help of a Java programmer. All of these roles are important, especially in an enterprise-scale delivery of multiple applications. However, they are also part of a higher-level Center of Excellence, which is often spread between multiple Mendix application development teams.
Other roles—such as UX/UI expert and test engineer—are involved too as enablers and specialists (fly-in experts) in the project.
The Agile methodology is adopted in the DevOps approach. The Agile methodology changed traditional Waterfall projects from a linear approach to an iterative, team-based approach for software development. This approach emphasizes the rapid delivery of an application in complete functional components per “time-boxed” phases called Sprints. Each Sprint has a defined duration with a running list of deliverables, planned at the start of the Sprint. The Agile approach enables the business to review a minimal viable product (MVP), which is a product with just enough features to satisfy and enable the business to provide feedback for future development.
Mendix enables development teams to adopt an Agile approach based on Scrum, in which they collaborate closely with internal and external stakeholders in short iterative development cycles. Mendix provides capabilities such as Sprints, story management, and integrated feedback management via embedded feedback widgets that enable end-users to provide instant feedback directly within an application. The closed feedback loop allows the development team to quickly resolve queries from the business, facilitating rapid iteration as emphasized in the Agile methodology.
To learn more, see the Requirements Management chapter.
DevOps is a software engineering culture and practice that aims to unify software development (Dev) and software operations (Ops). The main characteristic of the DevOps practice is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, and releasing to deployment and infrastructure management. DevOps aims for shorter development cycles, increased deployment frequency, and more dependable releases, in close alignment with business objectives.
Mendix provides DevOps tools out of the box for CI/CD, test automation, and monitoring, among other services, empowering your development teams to embrace the DevOps way of working. For more details, see the DevOps chapter.
Compared to DevOps, the BizDevOps approach knocks down the silos between DevOps teams (meaning, the development teams and operations staff) and business teams.
In traditional app development, feedback can only be given on full working applications, which contrasts with the iterative approach of the Agile methodology. Compared to DevOps teams, traditional app development projects, development teams, operation teams, and business management teams all operate in silos, instead of unifying software development (Dev) and software operation (Ops).
Mendix can be used in this traditional process as a low-code development platform to enable developers to build apps faster. Operations can use the Mendix Developer Portal to manage and monitor apps. Of course, in this approach, you will be missing a big part of what makes building apps with Mendix so successful – the Mendix BizDevOps process.