On the way of efficient development of Android products

Source: Internet
Author: User
Tags requires resource touch versions

Wen/Yiu Dong

Through a brief analysis of the development of Android industry, this paper sums up the problems encountered in the development of Android system, analyzes and sums up the methods and ideas that can accelerate the development of Android system and improve the quality of products effectively from the aspects of product mix, demand management, modeling and reuse, and collaborative development. Finally, this paper puts forward the solution of the Android system development platform, and combines the whole product lifecycle to express the various links in the development of the Android system.

After years of development, Android is no longer the only platform for mobile devices, it provides a common structure across devices, and begins to move into other digital consumer devices, such as tablets, mobile internet devices, Google TV, and even home landline phones with touch screens, Remote control, the hotel's touch screen catalogue, medical equipment and kitchen computers.

Android has conquered many consumers and vendors with its open, cross-platform, general-purpose software architecture, but it's not a smooth road to a brighter future. Competition persists both with Apple platforms and with different vendors on the same industry chain as Android. Everyone is equal in front of Android, how to stand out from the same starting line, get the recognition of the market and customers, is a great challenge before us.

This paper analyzes the problems encountered in the development of Android products from several angles, probes into ways and methods to improve the efficiency of product development, and tries to find a common and effective solution. As the entire program runs through the Android product lifecycle, it is called the Android development platform and is expected to inspire manufacturers or individuals who are committed to the Android industry.

Figure 1 Android system hierarchy (from the Android website)

Android System development Platform

Android hopes to build standardized, open software platforms and operating systems that are composed of operating systems, middleware, user interfaces and applications, and have spawned a complete industrial chain and ecological environment consisting of mobile phones and other terminal manufacturers, mobile operators, semiconductor companies, software companies, etc. This will promote better and faster innovation and provide more powerful applications and services for mobile users. As shown in Figure 1.

Android Development is not limited to the development of Android apps, it covers all the parts of the entire Android chain, from customization of the system to the development of electronic devices and even the use of semiconductor components for the Android platform. Because terminals and applications are most closely watched and are the easiest to be contacted directly, this article will be more geared toward device manufacturers and application developers.

The Android system is gradually stable and mature, but the version change is relatively fast, developers need to adapt to the rapid changes in the version, while the Android users and the traditional platform of the user base is different, their consumption behavior is necessarily different, requiring the manufacturer of the target customer base consumer behavior to make good judgments; The profit model of application development on the Android platform is not clear enough to bring the unknown factor to the industrial chain. Android brings opportunities as well as challenges, and will not be smooth sailing, challenges and higher requirements for terminal development and application development.

Support Cross-platform Application Development

Android has been introduced so far, with multiple versions, and a system of specific vendors derived from the Android system, which often requires both the device and the application vendor to support multiple versions. In addition to applications, there are times when you need to support not only Android, but other systems such as iOS, Windows Mobile, and so on. Therefore, the development of Cross-platform products and applications is proposed to support the needs of multiple platforms and multiple versions.

Accurate positioning of products and timely response to market demand

Think about the past ten years Motorola and Nokia and other companies ups and downs, people can not help but sigh the rapid change in the electronic equipment market. To grasp the pulse of the market, it requires accurate positioning of products, in the need to capture the same time, the good analysis, scheduling and management.

Product innovation requires high, accurate capture and grasp of creativity

The speed of electronic product replacement is very fast, manufacturers can not rely on the brand itself to bond customers, consumer loyalty to the product depends on the product quality and function, which on the product of the innovation of higher requirements: the demand for careful research of customer consumption behavior, accurate search for market demand, timely capture and grasp product creativity.

Shorten time to market

The electronic consumer market is changing, time is life. In order to shorten the product from creative to market time, it brings the collaborative development of products, functional reuse and testing integration requirements.

Based on the above analysis, combined with the characteristics of Android development, I personally think it is necessary to build an Android system development platform. The following attempts to explain and analyze the product portfolio management, demand management, model-driven development and collaborative development. Limited to space and personal research level limitations, do not ask for details, but focus on personal experience, I hope to be able to enlighten you.

Accurate product positioning through product portfolio management

Changing markets are challenging for all vendors, and it is one of the biggest pain points to maintain their competitiveness, both for terminal manufacturers and for application developers. This requires enterprises to constantly explore new ideas at the same time, improve the efficiency of production and development, and establish a competitive advantage that distinguishes them from competitors.

For Android, even in the same platform, the same ecological environment between the different manufacturers, but also the relationship between cooperation and competition, how to adapt well to the competitive ecological environment, it is necessary to rely on their own product portfolio planning, product characteristics of the differential positioning, the advantages of the competitor analysis. This leads to the concept of product portfolio management.

Product portfolio management through the analysis of the market environment, collection of business opportunities, capture and analysis of demand, according to competitors and their own enterprises and product characteristics, the formulation of product portfolio strategy, in order to balance the overall product development portfolio of risk and return, to maximize market awareness and investment income.

Product portfolio can create enterprise value from four aspects: value maximization, balance, strategic consistency, reasonable product distribution. Value maximization allows active management of projects in a portfolio to maximize portfolio value from the point of view of business objectives; A balanced portfolio prevents errors in determining the size of a project, avoiding excessive project execution time, or excessive project risk; In order to achieve strategic coherence, The target product portfolio should be based on supporting the company's primary business objectives, and ensure that a reasonable amount of resources are available to support the identified product projects.

Product feature Combination

Electronic products emphasize features such as WiFi, camera function, etc. The characteristics of the product pay attention to people without me, people have my new. This requires us to innovate on the one hand, to generate new characteristics that attract consumer buying behavior, and on the other hand, we are required to combine the various characteristics of the product according to different market positioning, because not a all-inclusive product can meet the needs of all people. The characteristics of the product can be roughly divided into the following three categories.

Functional features, such as photo-taking function, Internet function.

Performance features such as CPU speed, memory size, pixel of the camera, and so on.

Compliance characteristics, such as access requirements for different countries.

Each manufacturer should have a flexible and reasonable combination of different types of characteristics, according to the consumption habits of the corresponding consumers and the requirements of the compliance of different markets, so as to get the product combination adapting to different market positioning.

Feasibility analysis

The introduction of a product, in addition to have the corresponding characteristics, but also to its feasibility analysis. There are many dimensions to measure, such as technical feasibility, commercial feasibility, market potential, financial return, product complexity, and strategic coherence.

Each enterprise has defined enterprise strategy, its own and its products have corresponding positioning, product requirements and corporate strategic objectives to maintain consistent, to achieve the strategic objectives of enterprises to provide help and support. At the same time, the product input requires a matching output, the cost and revenue must reach a good ratio, and demand between the return and risk to achieve a balance. Product technology to assess the gap between existing technology and expected objectives, the implementation of technical complexity and product overall structure is consistent. Risk control is also one of the important factors of product evaluation, including quality risk, schedule risk, organization risk, technical risk, etc.

Different dimensions, in different market environments, for different target population, its priority and evaluation criteria are not the same, this need to introduce a flexible evaluation model, through the product or characteristics of the 22 ratio to get the scoring model, and for different decision factors weighted, comprehensive evaluation of the final decision.

Resource allocation and Management

Product portfolio Management is the link between strategic decision-making and tactical execution, product development is the manifestation of business strategy, the important way for enterprises to achieve their strategy is through the appropriate exhibits development, product portfolio management requirements in the enterprise strategy and product development between the building bridge.

Enterprises often have the need to develop a variety of products at the same time, and a variety of resources are always limited, product portfolio management at the same time research the allocation of resources to help enterprises reasonable and effective allocation of resources. Resource management requires that products can be optimized to optimize the input and output of resources, to maximize product value. Faulty product planning will put a heavy strain on the enterprise in terms of running resources, positioning, publicity, sales and support, and the increase in concurrent product mix will exacerbate the complexity of the operation, and it must find the best balance between the number of product development projects and the company's own capabilities. Adjusting product portfolio planning based on product development capability can help effectively improve the effectiveness of the overall product development project.

Shorten time-to-market for products through demand management and reuse

Capture of requirements

Demand management is the first to capture demand and inspiration, faced with a complex and volatile market environment, the need to accurately capture and explore the real needs of Android users, capture the inspiration of business people, designers, so as to avoid the loss of demand or inspiration lost, wrong or vague requirements caused by product delay or cancellation. The description of the requirement is usually carried out by the coexistence of the text and the model, and the advantage of the text lies in the description of specific and precise affairs, such as numbers and indexes, and the advantages of the model are no ambiguity and normalization. Combining both advantages can help business people or product managers to accurately grasp and explain user needs.

Approval of requirements

Requirements need to go through the process of scheduling, approval, not all requirements and inspiration is practical, a good idea also needs the right market environment. Fast changing market environment requires concise and flexible demand approval, implementation, tracking process, to maintain the highest sensitivity to the market, to avoid cumbersome management process to bring lag. In addition, different requirements are targeted at different customer base, its location and timeliness are different, this need to be implemented through different products, this is critical, can be discussed in the previous product portfolio management to achieve.

Re-use of requirements

In the development of Android, effective demand reuse can shorten the whole software development cycle well. Through the requirements management process, the requirements can be reused in different products, and the reuse process of design and development is well supported. Product line engineering is an important method of Android product series development, and the management of demand reuse is the necessary means to support product line engineering.

The need for reuse can be tailored to different levels. Project level requirements reuse, is to define business rules, data elements, user interface and so on as a single instance, and through the requirements development process for project members to share and reuse; organization-level requirements reuse is when teams collaborate on multiple projects, and information can be reused through shared requirements libraries. Such a demand library can be organized to define attributes for different products.

Figure 2 Android System development platform

Reduce duplication of effort through cross-platform application development

Since the launch to now, Android has been through multiple versions, the early version of the system, whether functional or stable, until the 1.6 version of the first stable and powerful version of the system. In addition to Android's own version, there is a particular vendor-specific system that has been spawned by Android, and there are a number of vendors that have customized it based on a stable version of Android, such as Mobile ophone systems, Lenovo's music OS, and more.

Development vendors, especially application developers, sometimes need to support multiple versions of multiple systems at the same time, multi-line warfare for developers is a great challenge. Cross-platform application development can help developers to better deal with multi-platform and multiple versions of application development support, thereby improving development efficiency and reduce duplication of development efforts.

The implementation of Cross-platform development requires the support of tools that require two content for the tool.

First, the tools need to support code generation and, after compilation, can run on different system platforms and support Cross-platform deployment and debugging. With Cross-platform compilation, deployment, and debugging, developers are greatly helped to improve development efficiency and ensure the quality of application development.

Second, due to different systems and platforms, and even different versions of Android, the API calls are different, if you need to adjust the code for each version, it will cause serious difficulties for subsequent maintenance and upgrades. As a result, cross-platform development requires tools that support a design, a set of implementations that can respond to multiple systems and platforms, and thus alleviate repetitive and tedious development efforts. The best choice to achieve this requirement is model-driven development. Model-driven development tools can generate code for a specific target environment based on the corresponding framework and model, depending on the target environment. This is critical to the development of embedded systems such as mobile phones, especially when it is necessary to adapt to different target hardware and system environment, the model-driven development greatly improves the reusability of software, so that the same design and function module can be deployed to different product equipments conveniently and quickly. At the same time, because it is based on the same design and implementation of the generated code, its functionality, quality and stability can be well protected, thereby greatly reducing the duplication of the work of developers, let them out of it, focus on more creative and challenging design and development work.

Conclusion

Android offers a standardized, open software platform and operating system that is unprecedented in its business value and the number of apps that quickly broke through the 100,000 mark. A piece of praise, Android development path is not always smooth, especially for the Android industry chain of different manufacturers, whether it is equipment manufacturers, or application developers, market competition has always existed, the fittest are immutable, how in many of the same industry competitors break through the siege, stand out, Closely related to the immediate interests of every manufacturer.

Based on the simple analysis of Android system development, this paper puts forward the concept of Android system development platform, analyzes and summarizes it from the aspects of product mix, requirement management, modeling and reuse, collaborative development, and provides some methods and ideas that can accelerate the development of Android system and effectively improve product quality.

Resources

"Project manager to the executive's way of cultivation--graphical portfolio management" Ningde army, Zhu Huayu, Tsinghua Press ISBN 978-7-302-23638-2.

"Real-time design mode" (US) Bruce Powel Douglass, Mazingfan, Tao Wei and other translations, Beijing Aerospace University Press ISBN 7-81077-421-2.

Author Yiu Dong, Beijing posts and telecommunications software engineering on-the-job graduate. Currently working in a well-known multinational enterprises, focus on the development of complex systems, as well as software process improvement and other aspects of research. 12 years of experience in system software development and software engineering practice.

Source: Programmer's website

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.