The Importance of Value Streams in Mobile App Deployment
Companies face many challenges during product development and delivery processes. Key challenges include the coordination of the many technologies used during development and collaboration across many teams throughout the entire process.
Value stream mapping is an approach that is gaining popularity at many companies, as it helps them better optimize their business processes. Value stream mapping involves plotting out and analyzing the set of activities that constitute a value stream with the intention of enabling better visualization and optimized collaboration across the multiple teams involved. In the case of IT teams in the software space, value stream management encompasses those value stream mapping principles and enables coordination across technologies and teams to achieve their company’s desired business optimizations.
Value Stream Mapping
A value stream consists of a set of activities that are completed to add value for customers. It begins with the conceptual realization of the consumers’ request, proceeds through the various developmental stages of the product, and ends with the delivery and support of the product to the consumers.
Value stream mapping is the process of visualizing a business process or a “value stream” in order to analyze and implement possible improvements to better optimize it. When applied to software development, value stream mapping provides a way to deliver the desired product more quickly and efficiently to end users. A value stream map visualizes all the activities and their accompanying technologies and services within a given value stream. By enabling better visualization of the product development workflow, stakeholders across various teams can not only better organize their efforts, but also pinpoint areas where resources could be more efficiently managed. Value stream mapping is also a collaborative effort between teams in order to promote unification when realizing the present state of their value stream and the workflow needed to achieve the value stream’s desired future state.
Value Stream Mapping's Role in Value Stream Management
Whereas value stream mapping is the foundational concept for a more streamlined product cycle, value stream management is the practical application of that idea. Value stream management is a lean business practice that helps improve the flow of value generated from the development and delivery of a software product and the resources involved while simultaneously providing end-to-end visibility of the entire process. The core benefits delivered by value stream management are visibility, collaboration, and optimization.
Visibility. Creating a value stream map provides end-to-end visibility of the activity flow during product development, which enables teams to better organize themselves and to navigate its many stages and sub-steps.
Collaboration. Value stream mapping promotes the consolidation of disparate activities for a business process into a single workflow for all parties involved so that there is a unified awareness of all the activities that need to be completed.
Optimization. Optimization of the value stream is achieved through the evaluation of flow metrics that teams can use to identify possible bottlenecks, redundancies, or areas for automation. These flow metrics are generated through an analysis of the data collected via the integrations with the technologies that support progression through a value stream.
Flow Metrics to Consider
Value stream management provides end-to-end visibility of a product workflow while also orchestrating the collaboration across multiple different technologies. This provides tremendous amounts of data that can be analyzed and provided to IT teams to use to gauge the effectiveness and health of their value streams. These are referred to as “flow metrics.”
Relevant flow metrics to consider during value stream mapping that will lead to more informed decisions include the following:
Lead time: The elapsed time from when a customer requests a feature to when the product that incorporates that feature is delivered.
Cycle time: The elapsed time from when development begins on a product to when it’s completed.
Throughput: The amount of work that is completed during a predetermined length of time.
Work in progress: The number of work items that have been started, but are currently incomplete.
Flow efficiency: The ratio of the time spent in active product development to the overall cycle time for the product or feature.
Why is Value Stream Mapping Important for Mobile App Deployment?
Companies are realizing the benefits of applying value stream mapping to software development and there are many in-market technologies to help with this. It is also beneficial for companies to zoom in on certain areas of software development, to apply both specialized value stream mapping and specialized value stream management.
For example, consider mobile apps and mobile app deployment.
Mobile apps have different drivers than traditional apps. For example, as new hardware features become available, it requires app developers to create new mobile apps or update existing ones in order to take advantage of the new features. Mobile operations systems get updated regularly, and introduce new features, APIs, controls, etc. Mobile apps that aren’t refreshed to be compatible with the new OSs can stop working or become unstable. Or consider user feedback. Usability is very important for mobile apps. If that isn’t made a high priority in app design, the app won’t be used and a company will essentially lose out on the investment made in creating that app. User’s needs change so it is important to continue collecting and incorporating user feedback to keep apps relevant.
Once development is complete, the mobile app has to be made available to end users. There are many deployment activities that must be completed before an end user can download the app on their devices - and these activities are not just restricted to development teams. IT operations teams also get involved in mobile app deployment as companies want to deploy apps that are sourced internally and from third-party vendors to their end users. Modifying apps after development is complete to add new functionality, instrumenting apps to report usage metrics, signing apps, and distributing apps are some examples of deployment activities that are now becoming the responsibility of IT operation teams. IT teams do not have the same level of familiarity with mobile apps as developers do, and so can easily be overwhelmed by the many complex steps and underlying activities for deploying a mobile app. Applying value stream management to the challenges of mobile app deployment will be a terrific boon for overstretched IT teams.
Benefits of Value Stream Management for Mobile
So what would be some of the benefits that companies could realize through the adoption of value stream management? The two most important ones are discussed below in the context of mobile app deployment.
Each stage in the mobile app deployment process can involve many technologies and services. For example, to make the process seamless, a mobile app should be imported from the CI/CD pipeline once development is complete. This requires integration with tools such as GitLab and GitHub. By integrating with existing tools and technologies, value stream management allows you to reuse those investments in mobile app deployment and get more value from them. The integrations also serve as data sources, which are analyzed and presented as the flow metrics that enable IT teams to identify areas for optimization.
Mobile app deployment involves collaboration across multiple disparate teams, which increases the risk of human errors or miscommunications that slow down deployments. Value stream management promotes a unified mindset for all stakeholders in the mobile app deployment process. This includes confirming that all stakeholders understand and recognize the role that each plays in the set of activities (e.g., app importing, scanning, integrations, and distribution) that must be executed for successful deployments. Enforcing collaboration across teams results in streamlined deployments as there will be less human errors and miscommunication between teams.