These insights help optimize software development practices and streamline the mobile app deployment process. While the deployment of any software product or service involves many steps, delivery of mobile apps is particularly complex. There are high costs associated with any errors, so it is important to get it right the first time around.
Once development is complete there are often additional steps to perform before a mobile app is available for end users. For example, apps need to be code signed and often undergo user testing to assure the product or service meets requirements.
The mobile app deployment phase of software product or service delivery encompasses the process steps that must be performed on a mobile app after development is complete, in order to deliver the app to end users. Adding security or other new functionality, code signing, vulnerability scanning, user testing, and distribution are some examples of deployment process steps in this phase of mobile app software product or service delivery.
The goal of applying value stream management principles to these post-development mobile app deployment phases is to make the deployment processes leaner, more efficient and ultimately more profitable. In many cases, a project with over one hundred tasks takes months to complete if not years. It becomes expensive because any error that occurs has a high cost, so people may choose to stop and start over. What value stream management does is allow a project to be done quickly because of improved workflows and efficiencies.
The sequence of process steps required for deploying a mobile app depends on the use case, but the important takeaway is that execution of each process step generates precious data. Uniquely powerful insights about information flow can be derived by correlating deployment process data for one process step with process data from the other process steps in a deployment, and running advanced analytics on this process data.
These insights become feedback for the continuous improvement of the mobile app deployment phase and delivery of the final product or service. Mobile app deployment data is valuable, but the continuous improvement insights derived from correlation and analysis from different streams of deployment data is even more valuable. Value Stream Management for Mobile helps optimize software development practices and streamline the mobile app deployment process.
In order to keep up with end-user demand and expectations, businesses must work faster and be more efficient when delivering a software product or service. Value stream analysis and management are the way to achieve these goals. Value stream mapping was originally a lean manufacturing technique, but it has seen successful application to the software lifecycle, including mobile applications.
Which brings us to the topics at hand: value stream mapping and management. Read on to learn about value stream mapping, value stream management, and optimizing the mobile app deployments.
A value stream is a series of steps that a company takes to create and deliver a final product or service to a consumer.
Importing a mobile app binary from a code repository, code signing the app, and then pushing that app to a public app store is an example of a simple mobile app deployment value stream with product delivery process steps. Value streams show a company how it can create and deliver value to customers.
Value stream mapping, also known as material and information flow mapping, is a lean manufacturing technique to help visualize the steps needed to take a product or service from concept to delivery. The aim of creating a value stream map is to identify delays and processes that don’t add value in a production system.
With it, companies can view the current state of delivery, identify bottlenecks and areas of improvement to improve the future state of delivery. Value stream mapping became popular in the 1990’s because of its successful application in the manufacturing industry at companies like Toyota Motor Corporation.
While software products and services don’t need to physically move raw material around, like what would have happened at Toyota’s manufacturing line, it does entail the transformation of “ideas” into tangible user experiences. Application of value stream mapping to software development enables DevOps practitioners to identify bottlenecks and implement process improvements.
A typical approach is to draw the current state value stream map and then model what you want—the ideal value stream—with a future state value stream map.
Value stream mapping is useful for operations with repeatable steps. When there are multiple handoffs in a process, DevOps can derive even more value from value stream mapping. Inefficiencies in a software development pipeline happen in the handoff—the wait time—between process steps. That is because software product or service delivery requires disparate groups working across different tools and systems. For example, if the development team is not closely working with the operations teams, communications errors can arise when the software product or service is being handed off to be maintained.
Disorganized handoffs contribute to an increase in the total wait time and development cycle times. In turn, this increases the lead time, which is defined as the time between the start of any process and the completion of that process. Creating a value stream map can help to identify opportunities to decrease lead time and reduce development cycle times for a finished product.
The mapping process should be encompassing. The inputs for a DevOps value stream map are all the resources and stakeholders, which includes team members of the different groups involved, needed to deliver software. Creating such a map ensures that everyone involved in the software product or service delivery process understands how their role impacts delivery of the software.
If I continue with the simple mobile app deployment value stream example, some of the resources needed just for code signing an iOS app include an app record in the Apple App Store. If the app is to be distributed through this channel, the Apple App Store requires a bundle ID to uniquely identify the app on the Apple App Store, a provisioning profile with the correct entitlements, and a distribution signing certificate to permit release of the app on the Apple App Store.
The complete list of all resources required for app signing is longer. In a large organization there are generally many stakeholders. There may be one or more team members, perhaps part of a signing group, that will have responsibility for signing the app. All stakeholders—groups and team members—must be accounted for in the value stream map.
The list of all resources and stakeholders required for all process steps in this relatively simple mobile app deployment value stream is much longer. That list becomes even longer for a complex mobile app deployment value stream. This becomes problematic when considering the list for every app in a typical company’s mobile app portfolio. The point is that without some process to keep track of the resources and the sequence of process steps, inefficiencies get introduced that degrade mobile app deployment processes.
Currently, there is increasing interest in value streams and value stream mapping. Gartner estimates that by 2023, 75% of enterprise architects and application leaders will use value stream mapping to drive customer centricity. Value stream mapping provides companies with the ability to cut across and connect siloed business capabilities, linking business capabilities to the products and services they enable, and fueling continuous improvement.
The core benefits provided by value stream management are visibility, collaboration and optimization.
Value stream management involves collecting process data from the various tools used in software development, analyzing that process data with respect to product flow and presenting those analytics in a role-specific way for continuous improvement in product delivery. The flow metrics generated by such value stream analysis should include:
The time elapsed from when a customer requests a capability to when it is released.
The time elapsed from when the work is started to when it is completed.
The number of work items completed in a set time. Work items should be standardized in order to reduce variance, but when averaged over a longer period it shouldn’t make that much of a difference.
The number of starting work items that are either still ongoing or waiting on something else. An increase in work in progress is indicative that throughput will reduce.
The ratio of the total time that work items are active to the total cycle time.
The proportion of a work item delivered in a time period by a value stream.
Value stream management platforms will enable DevOps teams to optimize lead time for the finished product. Executing on a value stream mapping exercise through such value stream management platforms provides greater visibility into product delivery processes, applying value stream concepts to highlight bottlenecks and flow metrics so that DevOps can take action to reduce development times and product release cycle times.
Value stream management platforms should offer pre-built integration to DevOps tools to make it easier to provide end-to-end visibility into information flow.
Power limitations, intermittent connectivity and computational constraints must be taken into consideration when designing a mobile app, as must the functionality offered up by the underlying mobile OS platforms. All of these process steps must be accounted for when performing value stream mapping.
Security, beyond what is available in the mobile OS platforms, is also important, especially for mobile apps deployed by companies in security-conscious and regulated industries like Financial Services, Banking, Insurance and Healthcare. Such companies deploy apps developed by internal development teams and apps obtained from third-party independent software vendors.
Regardless of the app’s origin, these companies need to have control over data whenever it is manifested in mobile apps, even if the apps are used on unmanaged mobile devices, i.e., mobile devices without mobile device management (MDM).
Obtaining source code for third-party apps is an often insurmountable task for these companies, so they need to be able to make post-development modifications to these mobile apps as part of the mobile app deployment process.
Other activities that become necessary during the mobile app deployment process because of the uniqueness of mobile environments include: testing a mobile app on a variety of device and mobile OS versions to ensure that it functions as expected; collecting feedback from a user base that will also represent a diverse combination of devices and mobile OS platforms; code signing the apps; distributing the apps through various channels such as public app stores or enterprise app catalogs; and instrumenting the app so that usage telemetry from the user base can be collected, aggregated and analyzed to drive continuous improvement in the mobile app.
Value stream mapping with a focus on mobile is beneficial for companies as the mapping exercise will capture the unique requirements for mobile environments. Stitching together an information flow from development to deployment that captures these requirements provides the visibility that companies need to optimize their delivery processes for the final product.
Satisfying this end-user need boosts the productivity of an organization, which has a positive impact on the bottom line. Optimizing every part of product delivery contributes to this business goal, including deploying mobile apps faster and more efficiently.
Value stream mapping is perfect for identifying bottlenecks and inefficiencies when there are standardized activities. Mobile app deployments are great candidates for the application of value stream mapping. Though an organization may have various workflows to address different mobile app deployment use cases, each workflow will always execute the same sequence of process steps. Using a value stream management platform that is designed specially for mobile apps can help to achieve the goal of optimizing product delivery.
Value stream management for mobile is a must for companies that deploy apps sourced from both internal development teams and third-parties. It applies value stream mapping to provide a way to reliably orchestrate the innumerable combination of process steps and ensure streamlined deployments, even when faced with large mobile app portfolios.
Such a value stream management platform should integrate with other DevOps tools when orchestrating deployments.
Examples of integrations include CI/CD pipeline tools such as GitHub and GitLab; app distribution mechanisms that include public apps stores such as the Apple App Store and Google Play, as well as enterprise app catalogs such as the BlackBerry UEM App Catalog or the Microsoft Intune Company Portal; technologies used to perform vulnerability scanning of apps; and device-independent app-level security (that is, MAM or mobile application management controls) provided by vendors such as BlackBerry and Microsoft.
Such integrations make it easier for value stream management platforms to practically implement the recommendations of value stream mapping exercises. Implementing these recommendations provides companies with tremendous opportunity to improve release velocity and optimize business value as functionality from these other tools can be incorporated into the deployment workflows.
More importantly, these integrations deliver additional process data to a value stream management platform for mobile; this process data can then be used in value stream analysis to identify waste and blockers in the value stream map and where the waste is that is causing increased cycle time.
For example, if the average cycle time for multiple executions of a mobile app deployment workflow is 50 minutes but the average wait time is 45 minutes, where no work is happening, there clearly is an opportunity for optimization that will improve product flow. Focusing value stream mapping on the mobile app deployment phase of product delivery enables delivery of higher-level product metrics to monitor the progress of the final product.
Though value stream mapping was originally a lean manufacturing technique, it provides tremendous value in software development. It enables companies to identify waste and find ways to work faster and more efficiently, while value stream management for mobile makes this achievable for mobile apps.
Development team members are not the only groups being pressured by these increased demands. If a company is deploying third-party apps, multiple teams will be subject to this increased pressure: both for the sourcing of the apps and then for the last mile of deployment that must be performed to get mobile apps to end users.
For example, at many companies, code signing is constrained to a single team. No company wants to be viewed as a vector for distributing malware through mobile apps, thus funneling signing of all mobile apps through a single team helps to protect the company’s reputation. But increased demand for mobile apps increases pressure on this team.
A similar situation may arise with app distribution. A company may have one team for publishing apps through internally distributed mechanisms like those offered by UEM vendors such as BlackBerry and Microsoft, plus another team for publishing through public app stores like the Apple App Store and Google Play. Again, with increased demand for mobile apps and multiple app and mobile OS updates a year, app distribution can become a bottleneck.
It is not only the stakeholders and team members responsible for code signing and app distribution that are affected by these deployment process demands. Examples of activities that are not performed by the development teams where a value stream map can help include:
A value stream mapping exercise that’s focused on the mobile app deployment phase helps to identify all impacted operational teams and coordinate all process steps that are key to the overall deployment process.
A value stream management platform for mobile addresses the uniqueness of mobile environments in order to improve the flow of business value, provides complete visibility into all the work happening on a mobile app as it progresses through a deployment, and highlights opportunities for optimization.
Copyright © Blue Cedar. All Rights Reserved. | US and Non-European Privacy Policy | GDPR Privacy Policy | Various trademarks held by their respective owners.