A Case Study On Using The Mendix Low Code Platform To Support A Project .

Transcription

2018 Proceedings of the EDSIG ConferenceNorfolk, Virginia USAISSN: 2473-3857v4 n4721A Case Study on Using the Mendix Low CodePlatform to support a Project Management CourseLionel Mewlmew@richmond.eduUniversity of RichmondRichmond VADaniela Fielddaniela.field@mendix.comMendix CorporationBoston MA 02210AbstractThis paper discusses the experience of using Mendix, a low code platform, to support the goals andobjectives of an undergraduate project management course in information systems curriculum forstudents who are continuing studies in a bachelor’s program. Model Driven Development (MDD) toolssuch as Mendix have evolved from the Computer Assisted Systems Engineering (CASE) tools of theeighties and nineties. They now yield capabilities that push these tools into mainstream development.A tool such as Mendix is designed to allow system development at a higher level of abstraction andgenerates fully functional applications from a model driven environment. The legacy CASE tools neverreached the anticipated wide use because the technology of the time was not able to fully support thehype. The CASE tools required intensive resources, maintenance, support, training, knowledge of use,and rarely performed fully as advertised. As the new tools continue to emerge into the mainstream,students and practitioners must develop competencies in their use. This paper provides insight intousing Mendix to support a project management course and discusses the successes and the challenges.Keywords: Mendix, low code, project management, model driven development, CASE, InformationSystems.1. INTRODUCTIONThis paper reports on the use of Mendix, a lowcode application development platform. Itshowcases and provides details on how Mendixsupports the learning objectives of a projectmanagement course in an information systemsbachelor’s degree program. The use of this toolin support of the course is a result of theemergence of Model Driven Design tools such asMendix in a new wave of Computer AidedSoftware Engineering (CASE) tools with expandedcapabilities.generate fully functional applications did notemerge until decades later. CASE tools aresoftware tools used to design and generateapplications. This occurs at a higher level ofabstraction than application development usinglinear programming methods (Halpern & Tarr,2006).The CASE tools of the 1980’s facilitated higherlevels of abstraction by automating andsimplifying application development using thecontext of domain models, with the toolgenerating development documentation, code,and in some cases, fully functional applications.From the advent of CASE tools about 1970, theability of these tools to easily and reliably 2018 ISCAP (Information Systems & Computing Academic Professionals)http://iscap.infoPage 1

2018 Proceedings of the EDSIG ConferenceNorfolk, Virginia USAWhile many professionals used case tools as aidsto the development process, very few of themused the tools for full-blown database applicationgeneration engines. The cost and complexity ofimplementing and maintaining the tools, trainingand retaining their users, coupled with the tool’sabilities and failure to perform as predicted led tothe tools having very little commercial impactduring the 1980’s and 1990’s (Schmidt, 2006).Jones (2002) notes that as much as 70 percent ofCASE tools were not being used by the end of thefirst year.It is widely accepted that reasons for the firstgeneration CASE tools not gaining widespreadacceptance include unrealistic performanceexpectations and inadequate training. (The FFIECIT Examination Handbook Infobase) Theemergence of better tools for Model DrivenDevelopment (MDD), evolving from firstgenerationCASEtools,hasimprovedperformance to the extent that they are nowbeing used for large-scale development projectsaccording to Gartner 2018 Magic Quadrant reportand assessment of such tools.Efforts are being made to address the trainingissues. It is imperative for students about toenter the workforce to have some exposure tothese new and innovative tools. IncorporatingMendix into this project management course is aneffort to provide students with exposure to adevelopment project using an MDD tool, inaddition to fostering student understanding ofworking in teams. Students work in groupprojects and have diverse roles and the Mendixtool fosters their collaboration throughout thedevelopment process.2. STUDENT DEMOGRAPHICThe student population at the School ofProfessional and Continuing Studies (SPCS)consists of mostly nontraditional mographic information gives perspective to thetypical student. The average student age is 37,although information systems students tend to becloser to 30. Although the majority of studentshave traditionally been men, the number ofwomen in the program is slowly increasing, withwomen accounting for more than half ofenrollments in the current semester. Experiencelevels and goals of female students are similar tothose of the male students.Eighty-one percent of students are part-time.Both part-time and full-time students are workingISSN: 2473-3857v4 n4721on either Bachelor of Science in ProfessionalStudies degree with a major in InformationTechnology Management or Information Security,or a post-bachelor Certificate in Applied Studiesin Information Systems or Information Security.Student experience varies, with some studentswho have associate’s degrees or at least somecommunity college work, and students who haveimmediately transferred to SPCS with a desire tocomplete their bachelor’s degree. Some studentshave been in the workforce for some time andneed a degree for promotion. Whereas others aretrying to break into the information systems field,often with significant work experience andsuccess in other fields.The factors which make SPCS students uniqueleadstoawidevarianceinstudentunderstanding, experience and ability. All majorcore courses are classroom courses, althoughsome are offered in the hybrid format of in personand online courses.There are currently nocompletely online information specific systemscourses. Most of the students live in the localmetropolitan area and most of the studentsdecide to stay in the area after graduation.Courses are generally capped at 15 students,allowing significant individual attention andinteraction with instructors.The projectmanagement course is a four-credit hour coursemeeting weekly in the traditional format.This demographically diverse student populationpresents numerous opportunities as well aschallenges. Many of these opportunities andchallenges are well known and well documentedelsewhere. An example of opportunity is thebenefits of experience and maturity of the studentpopulation. A challenge is their family and workobligations. The applied aspects of the projectmanagement course arguably add more value tothis student population – whereas the traditionalstudents continue to mature and learn to thinkcritically during their degree programs, it isexpected that the continuing students in ourprogramfocusmoreonprofessionalcompetencies. Thus, the primary focus forinstructors is to help students grow professionallyand gain industry-relevant skills.To facilitate learning amongst this targetpopulation, the high-level philosophy is to providean applied aspect for each course. The projectmanagement course, offered for over a decade inthis program, has long included a course project.It was hoped that by using Mendix, the studentswould add additional realism and domain skills tostudent repertoires. 2018 ISCAP (Information Systems & Computing Academic Professionals)http://iscap.infoPage 2

2018 Proceedings of the EDSIG ConferenceNorfolk, Virginia USAISSN: 2473-3857v4 n47213. MODEL DRIVEN DEVELOPMENT4. MENDIXBackgroundModel Driven Development (MDD) is a softwaredevelopment methodology that uses modelarchitectures to raise the level of abstraction sothat complexity can be decreased, andproductivity increased. The use of CASE toolsbegan in the early 1970’s. Teichroew & Hershey(1976) discuss how a tool was used to ions for information systems. Duringthe 1980’s and 1990’s, first generation CASEtools were most prolific and reached their apogee.In the 1980’s CASE tools were used to collectrequirements, and by the 1990’s the tools weregenerating partial application code. However,these tools never lived up to expectations, andnever had the expected effect on developmentparadigms (Yourdon, 2001; Henkel & Stirna,2010; Schmidt, 2006).Mendix was used for the course due to itsfunctionality, simplicity and the support offeredby Mendix. The platform is the leading low-codesolution recognized by analyst reports likeGartner and large enterprise companies such asSAP and IBM. It is a full stack platform designedto build applications rapidly. The platformabstracts and automates the various applicationdevelopment layers from the front end to backend. For example, the data structure is buildusing unified modeling language (UML). Thebusiness logic uses Business Process ModelingNotation (BPMN) and the user interface is builtwith widgets following a what you see is what youget (WYSIWYG) model.Current StateEvolving from the CASE tools of the eighties andnineties, the current crop of MDD tools haveimproved functionality to the extent that they canreliably generate applications and are easier touse and maintain than ever (Selic, 2003). Henkeland Stirna (2010) provide a structure forevaluating MDD tools. They list metrics for thedesired functionality of the tools. Areas of desiredfunctionality include modeling support anddevelopment support. According to Henkel andStirna, modeling support consists of language(s)for modeling constructs in the specific domain.This is supported by key underlying areas ofabstraction, understandability, executability andmodel refinement.Regarding developmentsupport or support for development processes,Henkel and Stirna found the literature suggestssix areas:observability, turnaround time,collaborative development support, integration,developer competence support and reusability.When evaluating Mendix against these criteria,Henkel and Stirna found Mendix suited to theweb-based development of small to mediumcomplexity, for small projects with short deliverytimes. These qualities were determined to makeMendix a good fit for supporting this course.The FFIEC IT Examination Handbook Infobase(n.d.) proposes four areas of risk whenconsidering the implementation of CASE tools,including inadequate standardization, unrealisticexpectations, inability to implement quickly andweak repository controls. Mendix was chosenbased on their ability to manage these risks.The platform allows for business and IT tocollaborate and build applications that addbusiness value. It handles 6 main functions: CollaborationData Structure and Domain ModelBusiness LogicUser Interface and ExperienceSecurity and user authenticationDeploymentCollaborationCollaboration is the key to building successfulapplications that solve business problems. Thebusiness understands the critical businessproblems and needs digital solutions to fix thoseproblems. Whereas, the IT department needs tosupport the business by providing the solutionsthat work. Communication across these twodepartments has always been challenging. Forboth business and IT to collaborate, speaking thesame language is vital to delivering businesssolutions on time and under budget. In addition,it is unreasonable for solutions to be deliveredmonths and years after the original businessproblem has been identified.To deliver applications as quickly as 2-3 weeks,there needs to be a process change. The agilemethodology follows the iterative process andbusiness can have a minimal viable product withinweeks and can iterate as needed (Frydenberg,Yates & Kukesh, 2017). The agile methodologyallows for iterative development and for thebusiness to provide input and shape the productbefore it is delivered.When students create a Mendix project, thecollaboration workspace is automatically createdwith all the built-in agile process features. Forexample, students can capture their user 2018 ISCAP (Information Systems & Computing Academic Professionals)http://iscap.infoPage 3

2018 Proceedings of the EDSIG ConferenceNorfolk, Virginia USAISSN: 2473-3857v4 n4721requirements and add user stories and sprints.They can create sprints that run for a fixed set oftime and manage the backlog of stories and workto be done. In addition, using the feedbackwidget, they can gather feedback from thebusiness or professor and implement additionalfeatures and functionalities. The application theybuild in the first sprint will be vastly different thanthe application they deliver at the end of thesemester. Students can see the process andworkflow as they build the solutions out. Theproject manages the code repository and codecheck-in and check-out process which allows formultiple students to work on a diverse set of userstories.Illustration 1 in Appendix A providesillustrative overview of the agile process.anUser interface and user experienceThe user interface and user experience are whatthe end users of the application will see. It isessential to build an application that not onlylooks good but the end users can navigate withease and fit their needs. The users shouldn’t haveto think about where to go and what to do. Youwant user adoption and the application should beeasy to use and delight the users.If the application has too many buttons andshows too many data, the end user will beexhausted and not know where to go. Thus,applications need to delight end users andprovide an experience that flows and feels naturalto the end users. In Mendix, the user interface isdesigned with a what you see is what you get(WYSIWYG).Database StructuresThe database structure is the foundation of thebusiness solution and where data is stored. In theMendix, students do not have to worry aboutwhat kind of database to create and manage, theydon’t have to create SQL queries and other codefunctions central to the architecture of anapplication.Students can drag and drop user interfacecomponents and arrange them as they see fit.The can design and iterate over the pages asneeded based on feedback and end-threuserbehavior. Mendix follows 3 principles for design:harmony, simplicity, and flexibility. Additionalresources may be found on the Mendix website(https://atlas.mendix.com/).The database structure follows the UnifiedModeling Language (UML) principles and iscomposed of 3 main components: entities,attributes, and associations. The entities aretranslated into database tables. The attributesare the table columns with a type and size. Theassociations store the primary keys of the relatedentities in the database automatically underneaththe hood. Associations are the relationshipsbetween entities based on cardinality: one tomany, one to one, or many to many.For a UI/UX dashboard example see Illustration 3found in Appendix A.Business LogicThe business logic is designed using the principlesof Business Process Modeling Notation (BPMN).The business logic is the logic layer in theapplication and students will build microflows.You can use microflows to add logic such asvalidations, calculations, integration pieces ons of all the logic and steps. Themain building blocks are start and end points,activities, exclusive splits, loops and much more.For a microflow example see Illustration 2 inAppendix A.The example microflow shows the business logicapplied to classroom registrations. It checks if theclass is full before allowing a student to register.Students can build responsive pages that willrender on any device type from desktop to tabletto mobile. In addition, they can build mobileapplications with fully native functionalities.SecurityIn today’s world, security and privacy areparamount. Thus, an application has to have userauthenticationandallowusersenoughpermissions based on their user roles.As a developer, user roles are defined in the userstories and implemented based on what the usersshould be able to see and do. Most applicationshave some form of user authentication andlimited permissions based on user roles. As adeveloper, user roles are created from the userstories. The developer can limit the access offorms, microflows, and specify the create, read,update, and delete (CRUD) permissions on theentity level. Through clicks and easy to navigatedashboards students can see the access rules andgive user roles permissions based on the userstories and functionality. 2018 ISCAP (Information Systems & Computing Academic Professionals)http://iscap.infoPage 4

2018 Proceedings of the EDSIG ConferenceNorfolk, Virginia USADeploymentIn addition to building the application, Mendix ispartnered with cloud providers to handle theinfrastructure of deploying applications. Thestudents can build their applications and deploythem into a free sandbox environment. They canshare their applications with anyone they want.ISSN: 2473-3857v4 n4721Objectives Studentswilldevelopabasicunderstanding of MendixStudents will become certified in MendixRapid DevelopmentStudents will use Mendix to develop anApp3. COURSE DETAILS AND DELIVERYThe course discussed in this paper is a threecredit undergraduate project managementcourse. It has been offered for over 10 years andhas always had an applied component using agroup project. In the current iteration of thecourse, the group project used Mendix instead ofthe traditional group processes such asbrainstorming to develop a scope statement,work breakdown structure, charter, etc.Learning outcomes for the course included threehigh-level goals with supporting objectives.These goals included:Goal One: Examine and understand projectcomponents and phases.The goal helps students understand the basicconcepts of project management from a holisticview.Goal Two: Understand the basic functionsrequired to create a project such as nt, task identification, acting, earned value analysis, and riskmanagement.The goal helps students learn to develop anotional IT Project Plan.Goal Three: Understand Uses and Limitations ofProject Management Software ToolsThe goal helps students understand how the tripleconstraint affects project implementation andcontrol using software tools.Mendix Goals and ObjectivesIn using Mendix for the course project, anadditional goal and supporting objectives wereadded:Goal Four: Work in teams on an Appdevelopment project Mendix.The goal helps students learn how to work insmall teams and to develop real-world apps in alow code environmentTo achieve this goal and objectives, the followingactivities were included in the syllabus: Completion of Mendix online rapiddeveloper training modules.The Requirement that students attainrapid developer certification.Classroom lectures and discussion onMendix.Group project with a deployed app usingMendix.Pedagogical DeliveryThere is a significant body of literature discussingpedagogical delivery methods for project relatedcourses. For example, a Lynch, Goold & Blainstudy (2004) discusses student preferences forhow project courses are delivered. The authorssuggest that the delivery method affects thecontrol amount instructors have over courseconduct, based on the pedagogy of the teachingmodel.They discuss four models: industrysponsored, studio, traditional and directed.The industry-sponsored model uses a scenariowhere students play the role of junior nt on enterprise needs. In the studiomodel, students collaborate with experts andmentors to gain insight into best practices. In thetraditional model, students collaborate in teamson projects, with a low level of interaction withfaculty. Finally, in the directed model, studentswork with a technical and a managerial facultymember, on a clearly defined set of deliverables.In Lynch, Goold and Blain’s 2004 study of l and directed models were examined.The most significant finding is that students muchprefer well-defined deliverables.It was determined that for this course, the mostappropriate delivery method would be thedirected model, with tenets of the traditionalmodel interjected.The Course Structure and ExperienceThe first seven weeks of the course consisted ofintroductory work on basic aspects of projectmanagement. To prepare for the applied portion 2018 ISCAP (Information Systems & Computing Academic Professionals)http://iscap.infoPage 5

2018 Proceedings of the EDSIG ConferenceNorfolk, Virginia USAof the course, students were assigned twomodules a week of the online Mendix RapidDeveloper certification self-study course.An immediate challenge was that of verifying thatstudents were keeping up with their modules.The fear was that students would procrastinateand not complete the modules until the lastminute when certification was due. The coursepolicies on late work (one letter grade a day, witha minimum of 50 percent for any completedassignment) served to motivate students tocomplete the assignments, but validatingcompletion proved to be a challenge. It wasdecided to have students upload a screenshot oftheir module completion screen to a Blackboardassignment, but the solution was never fullyimplemented due to time constraints. It wasdiscovered after course completion that Mendixprovides a way for instructors to check studentwork and ensure completion of assignments. Thisfunctionality will be used when the course istaught again.As students began to complete their trainingmodules, the process of testing began. The firststudent to take the exam was a hard-charging,highly motivated student. She already held abachelor’s and master’s degree in a technicalfield, yet, surprisingly failed the examination.She and other students opined that the test wasdifficult to understand, with a poor translationfrom the original language. This feedback waspassed to the Mendix team working oncertifications. The team was responsive to thefeedback, and they anticipate a new exam releasewithin months.Fortunately, Mendix provided superb support inresetting tests for students who failed on theirinitial try.This was significant, as Mendixprovided the certification tests to students at nocost, whereas a retake for a retail customer wouldincur a significant test fee. Most students passedthe test on the first or second try, with only oneof the six students requiring three tries, and onlyone student failing to become certified. AchievingMendix certification constituted 10 percent of thesemester grade.Following completion of the online training andcertification process, students began work ontheir course projects. From the beginning of thesemester, participants were placed in groups ofthree for the entirety of the semester. Earlyplacement of students in groups was deliberate,in hopes that this would jumpstart Tuckman’s(1965) model for the development of smallgroups. Tuckman proposed that all groups goISSN: 2473-3857v4 n4721through stages of forming, storming, norming,performing and adjourning.Introducing thisconcept to students was a critical part of thecourse, as these factors are critical to projectmanagement. Students were therefore aware ofthese processes and were able to experiencegroup development as part of their courseproject. They started by forming their groups andcreating a Mendix group project. The studentsstarting the storming and norming process bycreating the requirements and diving the work tobe done. Within Mendix, the professor can seewho is doing most of the work and how thestudents are tackling the requirements.At the start of the course, participants developeda project charter and work breakdown structureto kick off their projects. In addition to providinginsight on how the use of these deliverablesapplied to real-world projects, these exerciseshelped students scope and frame their courseprojects.There were no prerequisites for the course,although most participants had previouslycompleted systems analysis or database courses.These courses helped with the Mendix project.This an example of the kind of synergy thatprogram developers strive for – courses informingother courses, with students having opportunitiesto apply concepts learned in previous courses inreal-world settings.Students were required to provide lished by having an assignment (withrequirements listed) on Blackboard. When theycompleted the requirements, students wouldcommit and save their changes in Mendix, thennotify the instructor that there were itemsrequiring grading via Blackboard.After creating their Mendix projects andfamiliarizing themselves with the developmentenvironment, the first deliverable for studentswas to develop their use cases, referred to in theMendix processes as user stories.This wasaccomplished by having participants first developrequirements for application functionality. Theserequirements were translated into use cases byoperationalizing them and incorporated into anexcel spreadsheet as user stories.Thespreadsheets were then uploaded into the Mendixdevelopment environment, although one groupchose to bypass the spreadsheet phase, and typein the user stories directly into Mendix.After all user stories were uploaded into Mendix,the changes were committed and saved. 2018 ISCAP (Information Systems & Computing Academic Professionals)http://iscap.infoPage 6

2018 Proceedings of the EDSIG ConferenceNorfolk, Virginia USAStudents notified the instructor via Blackboard,and the assignments were reviewed in Mendix.Grades were entered using the rubric onBlackboard.The next milestone involved developing a domainmodel. As the course used a directive pedagogy,the instructor chose the wedding event planningapplication to be developed and the suggesteduse of the event app template in Mendix. Thisproved to be a mistake because the domainmodeling used to construct the template wasfound to be developed primarily to make thetemplate functional, rather than to provide anexample of a proper domain model. Studentswere not able to reconcile this model with theirmodels developed for the project. To precludethis outcome, future iterations of the course willnot use a template and will require students touse their own models in their entirety. Aftercompletion of this step, students again committedand saved their changes, the instructor reviewedthe work, and grading was conducted throughBlackboard rubric.Other reviews included the interim deliverables ofinterface design and business logic.Thesereviews were reviewed and graded the samemanner as the previous, using Blackboard tograde and reviewing in the Mendix discussion, in-class exercise and groupproject time. During the week before the projectpresentations, the class did not meet so studentscould polish their apps and prepare forpresentations.The presentations were professionally delivered,well-structured and concise. Presenters were wellversed in the application and the developmentprocess and could provide nicely articulatedlessons learned. They all agreed that use ofMendix contributed positively to their learningexperience and was unanimous in agreeing thatMendix should continue to be used in futureofferings.ISSN: 2473-3857v4 n4721communications, and inability to roll back to ahistorical version of their development model.There is no question that Mendix added to studentrepertoires of useful skills. Following certificationof the students, the instructor received acommunication from an out-of-state companyoffering certified students paid internshipsincluding housing. For those graduating, or forcertificate students, they were offering jobinterviews.ImprovementsAs the course progressed, several areas wherethe student experience could be improved werenoted. These areas include both pedagogical andtechnical areas for improvement.Mendix has a list of learning objective areas andhow Mendix supports a systems analysis course.It is recommended that a similar list should bedeveloped for a project management course.Ensuring that course goals and objectives whichcan be supported by Mendix would yield bettercourse organization.Students used an event template to start theirprojects, with the intent of modifying it to meettheir requirements.This did not work asintended. The architecture of the template wasdesigned to make the template functional, whichled to integration problems.For example,student developed domain models were notcompatible with the domain model in thetemplate. This caused application errors, with anadministrative underlying database causingconsistency errors, and not allowing students toupdate their applications. This problem could bemitigated by using a blank project instead of atemplate.Following presentations, the students discussedlessons learned.Areas, where they felt theMendix project contributed to their courseexperience included the definition of scope,development of work breakdown structures, userstories and database models, developing teamcommunications, and the shared experience ofteam investment in the project.Using the web modeler and free tier accesscaused students not to be able to roll back topreviously saved versions of their work, whichcaused them to have to reenter work numeroustimes. Students who used the desktop modelerdid not experience these problems, so these maybe associated only with the web modeler.Students also found that synchronization betweenweb modeler and desktop modeler was notalways fast or accurate. More investigation intothese occurrences must be made to determinewhether these issues are related to studentinexperience or application error. It is possiblethat these problems might be avoided by havingstudents use only the desktop

As the new tools continue to emerge into the mainstream, students and practitioners must develop competencies in their use. This paper provides insight into using Mendix to support a project management course and discusses the successes and the challenges. Keywords: Mendix, low code, project management, model driven development, CASE, Information