How to Build an Enterprise App in 5 Days 1
TABLE OF CONTENTS STAGES OF TRADITIONAL APP DEVELOPMENT 3 STAGE 1: DEFINE 4 STAGE 2: BUILD & TEST 4 STAGE 3: ROLLOUT 6 STAGE 4: MANAGEMENT 7 BUILDING AN ENTERPRISE APP IN 5 DAYS 9 DAY 1: MODELING & DESIGN 11 DAY 2: INTEGRATION 15 DAY 3: TESTING & REVIEW 19 DAY 4: QUALITY TESTING 22 DAY 5: ROLLOUT 24 How to Build an Enterprise App in 5 Days 2
Traditional app development requires a huge workload for programmers and can literally take months. And that's not the worst part! Even after investing months in development, app management and maintenance is an ongoing drain on critical IT resources. What if there was a way to bypass the most difficult challenges, and timeconsuming tasks of traditional app development? What if there was a platform that could shave months off development timelines, while making management and maintenance simpler? While we're dreaming, what if development and maintenance could be performed by citizen developers rather than professional programmers? The typical steps required to publish enterprise apps are: 1. Define 2. Build and Test 3. Rollout 4. Management In this ebook, we ll examine how each stage can easily stall, or completely derail, the app development process. Then, we ll look at a way to bypass the roadblocks of traditional development, showing how it s possible to create a fully integrated mobile enterprise app in 5 days. How to Build an Enterprise App in 5 Days 3
The 4 Stages of Traditional App Development Stage 1: Define This first stage is where the app is completely planned out. All features and capabilities of the app, such as GPS, camera, or offline functionality, must be clearly defined before development can begin. Stakeholders must clearly communicate the business needs and desired functionality that requires mobilization or webenablement. Once all requirements are discovered, business and logic flows must be mapped out in-depth and everything must be added to a project spec. The difficulties of the Definition stage are exacerbated by the expectations of user experience. More than ever before, mobile apps are expected to have a higher level of user experience beyond that of traditional enterprise applications or web apps. As a result, requirements are fluid, steadily changing to keep pace with the realities of business. Enterprise users expect updates to their apps every three months on average. Stage 2: Build & Test After the app has been thoroughly planned, mapped out, and into a detailed project spec and design document, it s time to put developers onto the task of programming the app. Programmers How to Build an Enterprise App in 5 Days 4
must develop front-end components for the various mobile devices the app will support. Then, integrations into various backend systems and business and integration logic has to be coded. Finally, the app must go through a comprehensive testing period to ensure it s fully functional. 70% of the time spent on enterprise app development, on average, is sunk into integrations and security. When utilizing a platform into the build phase, setting up the platform can take a lot of time and resources. Of course, this depends on the platform vendor you choose to utilize. Almost all platforms require skilled developers, who then have to learn the platform tool kit, to build the needed apps. While most platforms tackle the development stage quite well, many are greatly lacking when it comes to mature integration capability. As a result, 70% of time spent on enterprise app development, on average, is sunk into integrations and security. Maintenance of business and integration logic is a notorious nightmare for developers. If the source application has business logic, you don t want to replicate it into your mobile development process. However, because the data coming out of backend applications don t come out in an easily consumable format for the mobile app, developers are forced to add business and integration logic between the backend source system and their mobile apps. As a result, the logic component is duplicated and requires maintenance itself, apart from everything else. How to Build an Enterprise App in 5 Days 5
Also, almost all development platforms focus solely on development, not considering the customizations done in the backend applications. As a result, developers must customize on top of customizations in order to export the correct data in a consumable format. After the app has been coded, it must go through a rigorous test cycle, finding bugs and fixing them one at a time. While testing isn't rigorous in itself, fixing bugs can take up precious time and resources. Not only that, but addressing missing, or misunderstood, features and functionality usually means going back through the define stage to clear up miscommunications between what the stakeholder requires and what the programmers think they are coding. All of this must be addressed, and fixed, in the build and testing phase. Almost all development platforms focus solely on development, not considering the customizations done in the backend applications. Stage 3: Rollout Now that the app has been through the test cycles, and all bugs and errors have been fixed, it has to be published and installed by end-users on various devices. IT must identify the various users who are going to be using the app. They must assign apps, authorizations, and permissions to the users to ensure the How to Build an Enterprise App in 5 Days 6
functionality and user-permissions are correct across different levels of employees. The normal challenges of an app rollout vary largely on the technology of the chosen platform. Most development platforms don t support a robust rollout infrastructure, which increases the time and effort of app rollouts. Post-rollout, the biggest challenge is user adoption, which is typically low due to a combination of these factors: 1. The app took too long to develop. 2. Core business requirements changed, changing user expectations. 3. The development team understood the app specifications differently than the stakeholders, developing an app very different from expectations. Stage 4: Management Now that the app has been published, and made available for end-users, managing the app becomes it s own project. User adoption must be measured, making decisions based on how to on-board the workforce meant to use the app. Inevitably, due to long development cycles and miscommunicated requirements, the app will undergo a series of change requests for modifications and enhancements. For each of these changes, the app must again go through the development, testing, and rollout cycles - which make iteration of the app a lengthy process in itself. Inefficient development processes primarily drive the challenges in this phase. When end-users need an enhancement or change How to Build an Enterprise App in 5 Days 7
to the app, it can take months to roll out the changes. By then, business users lose interest and move on. Not only that, but every single tool has to follow the traditional app development process (see Traditional vs. Model-driven blog post.) This multiplies the problems of IT never being able to deliver exactly what the business users really need. Finally, after the app is in its final form, it still must be managed throughout it s entire lifecycle up until its complete retirement. Breaking Free from the Traditional Development Paradigm What if you could bypass most of the pitfalls of traditional app development, shortening the development lifecycle to only a few days? At appsfreedom, we asked ourselves this question and decided we could build such a platform. In order to take a step into a future of better, more efficient app development, the appsfreedom platform has been designed to cut through the challenges of each of these stages, allowing IT departments to not only deliver apps extremely quickly, but to be able to build the right thing the first time, and to make quick iterations as well. Now, let's see how appsfreedom empowers citizen developers to create a fully integrated enterprise app in 5 days utilizing the appsfreedom platform. While this is in a perfect world scenario, it will showcase the power behind our platform and how it can literally revolutionize the way IT develops solutions for their enterprise. How to Build an Enterprise App in 5 Days 8
How to Build an Enterprise App in 5 Days 9
Building a complex enterprise app in 5 days does come with some prerequisite requirements. As we said, if everything is done exactly right, it s possible to develop an app in five days, which we are going to show in the following chapters. However, in order to accomplish this goal, we have to make sure we consider and plan for anything that could delay the development with these prerequisites: 1. Finalize the business requirements and scope of the apps beforehand. 2. Line up the required resources for the appropriate tasks: a. A technical specialist to manage network configurations if required. b. If the citizen developers are not conversant with the backend applications, line up appropriate resources that understand the backend applications and data access. c. Business subject matter expert to test the apps. 3. An appsfreedom platform account, including a current ID with platform user access. 4. Knowledge of the appsfreedom platform. How to Build an Enterprise App in 5 Days 10
How to Build an Enterprise App in 5 Days 11
As you can imagine, developing an enterprise app in 5 days require full days of work on each day. Day one is no exception. On day one, there are 5 critical tasks to tackle. Notice, at this stage, we are not concerned with the following: 1. Backend Systems & Applications 2. Backend Data or Business Logic 3. Integration Logic 4. Customizations in Backend Applications Task 1.1: Process Modeling In the appsfreedom platform, go to the Process Modeler and draw the business processes from the finalized business requirements. The focus should be on the logical process model, not on UI or other items listed above. AppsFreedom is based on the Frontline Methodology, where the focus is on end-user processes and user experience. As a result, the primary step is to get the processes completely right. This How to Build an Enterprise App in 5 Days 12
way they are designed exactly the way the end-user requires without compromising on user experience, or UX. This step alone, which is typically performed by a citizen developer, can take from a few minutes to a few hours, depending on the complexity of the app. Task 1.2: Generate the App Clicking on the Generate button in the Process Modeler generates the base app framework for all devices and the browser. At this point, you have an app with all the logic and navigation flow embedded. However, it will not have all the desired screen elements. Task 1.3: Design Now, we need to go to the App Designer and open app that was generated from the Process Modeler. This app will have various pages, and the relationship between them, if there is such. In the App Designer, we can open each page and drag-n-drop the mobile components into the UI. The mobile components can be from simple elements like dropdown and text boxes to more advanced elements like charts and bar-code scanners. How to Build an Enterprise App in 5 Days 13
All in all, step 3 can take from a few minutes to a few hours, again depending on the complexity of the app. A citizen developer can also complete this step. Task 1.4: Real-Time Stakeholder Reviews After the app has been designed, share it with business stakeholders using the Collaborator. This allows stakeholders to test the app from their mobile device and provide real-time feedback all from within the collaborator. Review the feedback and make appropriate changes to the app. Business users can see the changes in real-time and continue the review process until all the app screens are completely finalized. This step only takes a few minutes, and can also be completed by citizen developers. How to Build an Enterprise App in 5 Days 14
How to Build an Enterprise App in 5 Days 15
Day two is focused on the integration of the app to backend systems. Considering how integration alone can often take months, it's amazing that we're about to tackle it all in a few hours. Task 2.1: Picking Integration Data Sources There are 3 distinct options to choose for integrating to backend enterprise applications: 1. Connect to an on-premise business application (SAP, Oracle, etc.)* 2. Connect to a cloud-based business application (Salesforce, Concur, etc.) 3. Connect to the Freedom database. * If the data source is #1, download and install the Freedom Plugin from the Freedom Manager. The appropriate technical person typically completes this task. Task 2.2 Setup Backend Business Application Integration This task largely depends on the application chosen for integration. A. Freedom Database Using the Database Designer in the Freedom Manager, setup the appropriate tables, as well as the relationships between the tables. How to Build an Enterprise App in 5 Days 16
Depending on the number of tables and relationships to be created, this should only take a few minutes. Again, a citizen developer can complete this activity. If the requirements are very complex, a more technical person may be required to establish and setup the database. B. Cloud-Based Business Applications 1. Connect to the cloud business application from the Platform Configurator, using the right parameters and credentials from the backend application. 2. Test the Connection. This entire step should only take a few minutes, depending on the backend application. A citizen developer with the right credentials should be able to easily complete this step. C. On Premise Applications 1. Install the Freedom Plugin on a Java application server. This is a simple installation that should only take a few minutes. 2. Open the DMZ port to make a connection between the Freedom Plugin and the Freedom Manager. 3. Setup the Freedom Plugin configuration under the Platform Configurator. This entire activity should only take a few minutes but, depending on the network infrastructure, it could take a few hours to complete the setup. How to Build an Enterprise App in 5 Days 17
Task 2.3: Building Integration Logic For this task, open the Integration Builder and start building the integration logic for the generated app. This activity should include building the business and integration logic required by the application. All business and integration logic is done via drag-ndrop components in the integration builder. A citizen developer can complete this activity, provided their familiarity with the backend application and the chosen integration method isn t above their skill level. If the business or integration logic is too complex, or if the backend application is highly customized, a developer may be required to build the logic correctly. This activity can take from a few minutes to several hours depending on the complexity of the app, the customization of the backend enterprise application, and the integration option chosen, as well as the knowledge and skills of the person doing the integrations. At the end of Day 2, the core app development process should be complete. How to Build an Enterprise App in 5 Days 18
How to Build an Enterprise App in 5 Days 19
Day three consists of 4 major tasks, which include getting users involved in testing and running through any bugs in the system. Task 3.1: Publish the app in the Configurator Once the app is published, users need to be created and assigned to the app. You may be required to define users into appropriate user groups, as well as assigning permissions and roles to the different groups. Then, an OTA (over-the-air) link needs to be setup in order to download the app. Task 3.2: User Testing Once users have been created, business users should download the app, check their permissions and credentials, and then start testing. This round of testing is executed in the appsfreedom Development platform, and the focus should be on testing the functionality, end-to-end integration, and user interface. This activity can take up to a few hours, typically executed by citizen developers and key business users. How to Build an Enterprise App in 5 Days 20
Task 3.3: Collecting and Squashing Bugs Bugs encountered during the first testing phase should be collected by the citizen developer and rectified immediately in the App Designer or Integration Builder. These changes should be published using the Platform Configurator so the business users can see the changes and continue testing. This process should be repeated until all bugs are squashed and any missing features or functions are taken care of. This entire activity can take several hours, depending on the number of bugs identified. Task 3.4: Transport for Quality Testing The last activity for Day 3 is to publish and transport the app to the appsfreedom Quality platform. This will provide for further testing in a real-world environment. This last task should only take a few minutes and can be completed by your appsfreedom administrator. How to Build an Enterprise App in 5 Days 21
How to Build an Enterprise App in 5 Days 22
Day Four is a complete day of expanded testing in a real-world environment, ensuring quality for the final release on Day 5. Task 4.1: Expanding Tests To kick off day four, more business users should be added for further testing. They ll need to download the app on their devices using the OTA link created on Day 3 by the appsfreedom administrator. The focus of this round of testing should be on everything from the first round of testing, plus testing the performance of the app itself as well as UAT (User Acceptance Testing) and sign-off. Task 4.2: Squashing Bugs If any bugs are identified, they should be fixed immediately in the appsfreedom Development Platform, then transported immediately to the appsfreedom Quality Environment for continued testing. The goal is to get a complete sign-off from business stakeholders before rolling out the app to production. The end-user testers, as well as the citizen developer, work together in conjunction to identify and remove any and all bugs and missing features or requirements. Task 4.3: Configuring User Groups, Users, and Roles While business users are doing the final round of bug testing, the appsfreedom administrator should create the user groups, users, and roles in the appsfreedom production environment. This is done from the Platform Configurator. This step can take from a few minutes to a few hours depending on the number of users and groups to be created. How to Build an Enterprise App in 5 Days 23
How to Build an Enterprise App in 5 Days 24
Day Five focuses on rolling out the apps to production. Assuming all the steps were executed correctly, this day should be somewhat easier on workload. There are two major tasks for Day 5: Task 5.1: Publishing the App Day 5 starts with publishing and transporting the app to the appsfreedom Production Environment. Then, the appropriate users should be assigned the app. The citizen developer, or a small group can do an initial test of the app before publicizing it to everyone. This generally only takes a few minutes, and is performed by your appsfreedom administrator. Task 5.2: Releasing the App Once the small group is satisfied that everything is working correctly in production, all business users are notified that the app is available to download. They will all receive a URL as well as their credentials to download the app. Once they ve downloaded the app, they can login and start using it. Task 5.3: Analyze Usage Once business users have downloaded and deployed the app, you can analyze usage and adoption. This allows you to capture usage patterns to update the app with improvements. How to Build an Enterprise App in 5 Days 25
How to Build an Enterprise App in 5 Days 26
Congratulations! You ve built a fully integrated enterprise app in 5 days. Note: The 5 Day deployment process does not include advanced requirements, such as SSO configuration, MDM configuration, and the like. Although these are generally quick steps in the appsfreedom platform, the time it takes to implement largely depends on the customer s environment as well as the tools used. Therefore, we did not include them on the 5-Day deployment plan. Conclusion Compared to the traditional app development process, appsfreedom empowers IT departments to sidestep most of the time-consuming activities. This literally results in building fully integrated enterprise apps in days as opposed to months using other development methods. If you have yet to experience the appsfreedom platform, we recommend you take a test drive. This will allow you to get a feel for the platform, seeing first-hand how it can empower your citizen developers to build and deploy enterprise apps in days, as opposed to months. How to Build an Enterprise App in 5 Days 27
iiiillllllllllll iiiillllllllllll iiiillllllllllll iiiillllllllllll iiiiliillll iiiillllllllllll iiiillllllllllll iiiillllllllllll iiiilllllllllllliiiiiiiiiiii iiiillllllllllll iiiillllllllllll iiiillllllllllll iiiillllllllllll iiiiiiiiiii SHARE THIS: iiiiiiiiii iiiiiiiiiiiii iiiiiiiiiiiii iiiiiiiiiiii iiiiiiiiiiii How to Build an Enterprise App in 5 Days 28