BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Contribute

Topics

Choose your language

InfoQ Homepage Articles Installing a Robust Dev Culture for the Micro-app Environment

Installing a Robust Dev Culture for the Micro-app Environment

Bookmarks

Key Takeaways

  • Many companies are set to embrace the app boom and become fully digital native, operating with a series of interconnected custom apps.
  • Enterprise dev teams are used to agile environments, but the key is to avoid the pitfalls of inflexibility that requires constant delivery and performance, holding engineers back from creative experimentation.
  • Enterprises need to empower the developer experience, so teams can create better products and drive value.
  • Empowering them with world-class tools, building comprehensive product management functions, and removing the stigma of failure are three key steps to creating a culture suited for a digital native enterprise.

AI and ML get a lot of coverage as being the next big thing in technology. While there's no doubt that developing intelligent tech is the next frontier, there's another trend that is currently in motion, one which in my opinion is dangerously under-recognized.

According to a report published by the market research firm International Data Corporation (IDC), the number of apps that are currently in use is growing exponentially. While consumer-facing apps have increased, a bigger increase is taking place within enterprises, with so-called “micro-apps” that are used to create customized solutions.

Custom apps or micro-apps can make future businesses completely digital. In theory, a company could conceivably exist as a series of interconnected apps, via APIs, and not require any physical presence. Enterprise developers these days create custom micro-apps to help employees process daily tasks, using third-party services to enrich their native app experience.

To deal with the demands of the micro-app boom, companies need to rethink the developer experience and cultures they have in place. Continuous release environments place developers in a constant state of regimented activity, and this leaves little time for creative micro-app projects that can enhance productivity and build better products. Using your primary product roadmap as a rigid checklist of features to develop, as opposed to a strategic guideline, is one of the biggest pitfalls in the business, one which leaves teams feeling disempowered.

Here's how companies can create a developer cultural shift that incorporates micro-app development within the larger Agile context.

Empowering Developers with the Right Building Blocks

Software developers these days are primary drivers of product security and quality. Many organizations provide dev teams with tools that allow them to barely get the job done. These tools are surrounded by layers of bureaucracy that hamstring developers operating in a pressure-packed continuous delivery environment.

Developers need access not just to the best dev tools but also to planning and collaboration tools that allow them to do their jobs better. Giving them the freedom to develop micro-apps is a great way of allowing them to exercise their creativity while boosting productivity across the organization.

A good example of this is an app that tabulates data in an interactive table published to a web link, such as the one created by DreamFactory and Tabulator. It's a relatively simple-looking app, but it saves non-technical users a ton of time. Evaluating data quality is a key step in the project planning and testing process.

An interactive table such as this gives teams a quick look at data integrity and quality. Tests can be enhanced using this process, and with fewer false conclusions built into the planning stage, developers can focus on building great products. Most managers will recognize the business benefits of such apps but are reluctant to allow developers the time to create them.

Investing in low-code or no-code platforms is a good way to bring upper, non-technical management on board. Business users can even build apps themselves using these platforms and gain insight into the developer experience. Culturally, the biggest advantage that these platforms provide is that they install a technical mindset throughout your organization. 

Business and technical employees tend to get disconnected from one another, and often, business users don’t understand the underlying data behind the applications they rely on. A no-code or low code platform will help them understand the importance of modeling solutions before firing off requirements that are technically impossible to develop.

Your developers can also access information much faster through these platforms. Often, developers need to provide business users with backend data and querying this takes time. A low-code platform allows business users to service their requests by themselves, and leaves your developers with more time to focus on technically important projects. The result is a collaborative environment that increases productivity throughout the organization and brings creative products to market.

With this framework in place, upper management will have fewer objections about productivity-enhancing micro-app development being put in motion. The best organizations give their developers a range of tools to choose from. While choosing tools on an ad-hoc basis is impractical, providing them with a large menu of choices is a good way to boost developer morale and improve their work experience. 

The result is creative solutions that benefit the entire organization and make it a great place to work.

Creating Comprehensive Product Management Roles

The point of product management often gets lost in the bureaucracy that afflicts enterprises. A good product management framework ensures a great product to market fit by understanding that aligning every aspect of the organization that goes into making the product is critical to achieving this fit.

Involving developers and other members of an agile team within product management functions is, then, key to creating great products. Developers risk getting shut into their own world and can lose track of the need for great CX. Of course, CX is an important product management function, even when it's for internal app development.

For example, enterprises use third-party solutions to help track their shipments and run analytics on logistics data. However, requiring business users to jump between an internal app and a third-party app to collect data is cumbersome and leads to friction. Empowering developers to connect both apps via APIs and embed analytics into native apps reduces resistance and utilizes existing resources to build productivity and transparency.

Many third-party solution providers recognize the move towards micro-apps and the need for great CX in internal apps. A good example of this is the Finnish startup Logmore, which offers its clients a free to use open REST API, so that stakeholders can track shipment condition data collected via IoT tags in real time, in whatever interface context makes the most sense for their work. 

Organizations that don't take advantage of these opportunities to enhance their internal apps by mobilizing their developers risk being left behind.

Intelligent product management functions focus on balancing CX, technical skills, leadership ability, and strategic skills to deliver a robust product experience. Many organizations prioritize just the technical skill portion of this equation and end up creating an imbalance in everything else. Involving developers and other agile team members in product management functions is a positive step.

Prioritizing balance in product management as a matter of company culture is necessary if you wish to align everything that goes into building a great product. Not only do your developers need to understand market forces, but your business users also need to understand technical limitations. Creating a collaborative product management culture, empowered with the right tools, is the best way of bringing everyone on the same page.

Examine your current product management functions for balance. Often, companies staff them with employees who lie in between the business and the technical side. This sounds great on paper, but the result is a middle of the road team that doesn’t fully understand either party’s perspective. To overcome this issue, select representatives from existing technical andbusiness teams. Your product leader can be from the business or a technical person as long as they understand the need for balance.

Products of the future will need to collect data from as many sources as possible. With consumer behavior moving towards greater willingness to share data, developing micro-apps to take advantage of this fact is critical. Your organization will need these apps to help one product talk to another to create a seamless experience, across the entire product line. 

This is how companies can become full digital natives, and not require large physical presence to attract customer attention.

Empowering developers to take advantage of technology right now is the way forward. Integrate the development of these apps into the CD cycle and view them as user-oriented solution development to gain senior executive buy-in.

Rethinking the Developer Team Experience

Many companies have a defined image of what they want their developer teams to look like. They envision a small and agile team of rockstar coders led by a similar rockstar. These small teams unearth problems magically and deliver the most creative solutions in the market. This is a perfect vision except for talent retention planning.

Large organizations have problems attracting highly skilled developers. They also have problems retaining them. With SaaS solutions and interconnected apps booming, developers have greater freedom to branch out and create their own products instead of sticking to a traditional corporate role.

So how can companies incentivize talented developers to join their organizations and convince these people to remain on board? The first step is to map clear career paths and to make them transparent. Remember that there are many career paths that are available these days. The traditional IT career path that developers have been forced into is obsolete.

Many developers want to understand business functions in more detail. This is natural, because they recognize that software is the true driver of profits these days. Create career paths that allow developers to enter the business side of things and offer them the opportunity to earn the necessary qualifications along the way. Some large organizations gamify the developer experience by providing them with skill badges and opportunities to gain more through training.

Pay attention to the morale of your dev teams. Taking the pulse of your dev teams after a sprint is essential and is sadly not done often enough. Teams usually jump from one sprint to the next without a thought given to product relevance or CX. The problem is exacerbated if the company's product addresses a problem in their customers' cost center.

For example, expense management isn't a sexy software solution. Most companies expect these solutions to reduce costs instead of driving profits. Ultimately, AP and finance teams are a cost center, and it can be hard for companies to view their solutions as inspirational. This state of affairs is reflected in the market.

Most expense management solutions lack international back end capabilities or mobile presence. These solutions require users to install native apps that are stripped-down versions of their desktop cousins. The result is a CX that is cumbersome. However, companies such as Chrome River (by Emburse) have chosen to develop web apps that deliver the full suite of features to their clients.

Choosing a web app over a native app might not seem like a big difference, but it's a critical one when differentiating your product in terms of CX. Empowered developers can help point out such solutions. Your organization's job is to help them express their opinions freely. Most developers in large organizations tend to keep their opinions to themselves and get on with whatever the business tells them to do because company messaging doesn’t give them the freedom to drive product decisions.

Organizations that allow their dev teams to experiment, fail, and learn without negative repercussions are the ones that ultimately develop truly creative products. Take the example of Google in its early days. The company was famous for releasing a large number of products that went nowhere. 

Not many people remember Google Wave, Knol, Answers, Google Plus, Notebook, and Dodgeball. However, there’s no doubt that the culture at Google allowed developers to experiment and gave them the freedom to fail. It’s no surprise that Google has managed to remain innovative and maintains a monopoly on web search. While you don’t need to create products at a similar clip, give your developers the space to create their own unique solutions.

Whether it's through the use of micro-apps to accelerate an Agile process, or whether it's a product feature, empowered dev teams can drive your company's bottom line.

Preparing for the Micro-app Boom

The rise of micro-apps might not rank as high as AI adoption or the proliferation of IIoT devices. However, both of these technologies involve the collection of data that need to be put towards developing better products. Without a strong developer culture, you cannot hope to achieve this.

Micro-app development offers your organization an opportunity to rethink the developer experience and to make your processes more productive. Embrace it with open arms, and you'll realize huge benefits that will last you a long time.

About the Author

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT