App development is still a hot topic. Whether for business process improvements or for customer engagement, every enterprise is looking to innovate, differentiate, or streamline costs through the release of new apps. But despite growing business demand, enterprise IT teams are expected to do more with less and deliver quicker than ever. On top of that, users expect the same kinds of intuitive and beautifully designed apps they use daily in their personal lives.
As you prepare to build your next business application, think about how you can make the process faster, and more repeatable, and deliver exactly what the business needs. Consider these five questions before embarking on your next business application project:
1. How unique are the business requirements? Will off-the-shelf software suffice or can you leverage and extend existing systems to meet new needs?
Now decades old, the build vs. buy debate rages stronger than ever in today’s digital economy. And what most pundits and practitioners alike agree on is that businesses should buy for commodity processes and build for unique or differentiating processes.
Thus, it’s important to consider the uniqueness of the requirements and whether there is packaged software available that sufficiently meets those needs. In-house development resources are best utilized building apps that unlock the next competitive advantage. As noted in a recent CIO Journal article, “If you feel like you have software developers sitting around with nothing good to do, don’t put them to work on commodity activities… Unless your business will succeed on the basis of its truly excellent accounting software, why have anyone waste a second writing it?”
That’s not to say packaged software and custom applications are mutually exclusive. In many cases, business must extend core systems (ERP, CRM, etc.) with apps that address unique requirements and enable greater enterprise mobility. Here, the priority should be on integrating with, and building on top of, these systems without the long, complex customizations traditionally required for these projects.
2. Is it really just a mobile app or is there more at play?
While enterprise mobility is a hot topic, it’s important to remember that mobile is rarely, if ever, an island. On the one hand, most enterprise “mobile” apps still require integration with existing systems or back-end data maintenance and reporting capabilities. On the other hand, there’s a growing need for true multi-device apps that are accessible to users on any device (PC, tablet and smartphone). For instance, a field sales rep might need order entry capabilities on their tablet on the road while the operations team needs a more robust web interface to process orders back in the home office. Just like all other apps, mobile and multi-device apps must be part of your company’s application landscape, and they need to integrate, interact and be managed with other applications.
And then there’s the user experience. Discuss the design early on, but remember that great UX is more than just a great UI. It’s also the simplicity of use, the match to requirements, integration of feedback and ability to respond to change requests by users quickly and easily. The user experience of an application will ultimately determine the success or failure of the project—and that applies to all devices from which users need to access the app.
3. What is your deployment plan?
Technology, infrastructure and deployment issues should not slow a project down or even concern your development team. Application developers are too often distracted with database issues, infrastructure set-up, security concerns and more. Instead, consider deploying a platform that makes deployment as easy as plugging an appliance into a power outlet, ideally with a single click. Can you instantly share an app with end users to gather feedback? Can you move seamlessly from test to acceptance to production environments? In other words, can you minimize deployment distractions in order to focus on the primary project focus: delivering a great app that supports a specific business need.
4. Are there reusable components that could further speed up the development process?
One of the most tedious and time-consuming aspects of application development projects are repetitive tasks. Why reinvent the wheel each project if you don’t have to?
Many organizations are embracing component-based development by leveraging pre-built widgets, templates and application components to increase developer efficiency and reduce time to market. While these components are often available in a community app store, many development teams also create their own private app store for publishing and sharing components.
5. How will you involve business users and iterate during the development lifecycle?
One of the most frequently cited reasons for failed projects in enterprise software is the lack of user involvement and the inability to respond quickly enough to changing needs. Take the time to identify key users and stakeholders at the beginning of the project and create an environment that allows them to actively participate. Work with them to capture and refine user requirements. Share prototypes or working applications early and often to validate requirements and uncover needs that weren’t originally anticipated. By collaborating with the business and making them an integral part of the development process, you’ll deliver a better product and avoid those hidden obstacles that derail projects.
Moreover, considering how quickly markets and businesses evolve, the development teams that are most successful are the ones that expect and embrace change. They’re able to combine requirements documentation and development and visualize requirements in a way that’s easy for users to understand. They can deploy and review changes often to ensure that users’ needs are met. In other words, they help enable the business agility required for success today.
Regardless of creating a new application or extending an existing system, it’s important that you create a plan for the application that involves business users, considers the entire IT ecosystem and makes a seamless transition into the enterprise. Consider how you can replicate this process for your next application and even create a private app store for your company. New apps will be needed to innovate, support growth, increase efficiency and take advantage of the next market opportunity.
Read more: http://www.mendix.com/
Learn the basics of blockchain technology. No mathematical formulas, program code, or computer science jargon are used. No previous knowledge in computer science, mathematics, programming, or cryptography is required. Terminology is explained through pictures, analogies, and metaphors.
Write and run code every step of the way, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, play sounds, and more. Each chapter and app has been designed and tested to provide the knowledge and experience you need to get started in Android development.
How to create a profitable, sustainable business developing and marketing mobile apps.
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.