Ambient Touch: Designing Tactile Interfaces for Handheld Devices
Modern Human Machine Interfaces with Touch Display
-
Upload
huckleberry-su -
Category
Documents
-
view
18 -
download
3
description
Transcript of Modern Human Machine Interfaces with Touch Display
Distributed Software Development 2013
Final Project Page 1
A&M
(Imaginary Company)
Modern Human Machine
Interfaces (HMI) with Touch
Display
Proposed by: Angelus Vincent P. Guilalas
Distributed Software Development 2013
Final Project Page 2
I. ITRODUCTION
Software development is an intense collaborative process where success depends on the ability
to create, share and integrate information. Given the trend towards globalization in the software
development industry, distance creates an additional challenge to development processes, as fewer
opportunities for rich interaction and lower frequencies of direct communication. Here it introduces
taxonomy of software engineering tools for distributed projects and presents collaborative development
environments, ranging from classic platforms for dispersed developers in open source software projects
to modern environments for flexible and distributed processes. Moreover, it introduces computer-
mediated communication theories which reveal some patterns of tool usage to overcome the challenges
of distance. Building upon the theoretical background of media selection, and summarizes research
activities aimed to build an evidence-based model of task-technology fit for communication-intensive
activities such as distributed projects.
Distributed software development takes a concurrent rather than sequential development
approach, effectively using iteration to show progress and manage risk. This provides a basis for more
rapid development, with smooth transitioning from one stage of a project to the next as well as
continuous delivery of staged results that are of value in the total solution. The use of this approach
implies iteration with a checkpoint at the conclusion of each stage to validate the quality of stage
results, as well as the scope of the next stage. In addition to concurrency across stages, a release-based
strategy ensures that there are short intervals between incremental releases of tangible results. This
ensures that the direction of the project can be adjusted dynamically to accommodate critical events
and needs.
In order to support collaborative work on their projects, software engineers communicate both
directly, through meetings and informal conversations, and indirectly, by means of software artifacts.
Adequate tool support is paramount to enable collaboration in distributed software development.
However, most work in collaborative environments for distributed development has focused on code-
specific tasks rather than on other software engineering activities at a higher level of abstraction like
requirements engineering or software design. Collaboration in Distributed Software Development
scenario is significantly affected by the stakeholders, developers teams geographical distributed. There is
a need to further our knowledge of what is the most appropriate collaboration tool set to achieve a
Distributed Software Development 2013
Final Project Page 3
shared understanding among distributed project stakeholders, then distributed software development
can be benefited from an interdisciplinary approach.
The subject is A&M Company which is a software development firm with the main office in New
York, United States and the auxiliary office at Cebu City, Philippines, and Singapore.
A&M Software stands for innovation, competency and quality. Being 25 years in business, A&M
has gained the reputation as a reliable partner for many renowned customers worldwide. Our vast
industry know-how is reflected in a wide range of innovative and unique software solutions that we
have developed for and together with our customers in the factory- and process automation, maritime
technology, mechanical engineering, building automation and energy technology.
A&M is the competent service provider for all matters concerning software products in the
industrial automation. Our service portfolio includes Management & Technology Consulting, Software
Development, Quality Assurance, IT Operations & Services and Software Maintenance & Support. We
mainly focus on solutions for Human Machine Interfaces (HMI), device integration, engineering systems
and web applications.
The company’s headquarter is in New York, United States. Our subsidiary in Talamban, Cebu
City, Philippines was established in 2005 while the innovation center in Singapore was founded on
November 2007. There we do not only serve the upcoming markets in Asia, but also offer offshore
development services to our customers in Europe and America in a proven A&M quality to significant
price advantages.
Offshore-Development with A&M is different. To us, offshore development means distributed
development of your software by mixed project teams, which comprise Americans, Filipino and
Singaporean software developers.
This offer holds the following benefits for you:
• Substantially reduced average hourly rates, due to a mix of Americans , Filipino and
Singaporeans team members
• Faster realization through the deployment of additional, highly qualified software engineers in
Philippines, Singapore
Distributed Software Development 2013
Final Project Page 4
• Convenient communication. You interface exclusively with our staff in America. They will
coordinate the upcoming development tasks with their colleagues in Philippines, and Singapore
• We avoid the overhead with a pure interpreter-frontend without real technical know-how. Your
contact persons in New York, USA are technical project managers and architects, who actively
participate in the development of your project and who are responsible for the quality of the
end product
• No disadvantages in productivity. Our Filipino and Singaporeans colleagues are highly qualified.
Their technical standard is as good as ours here in USA and they speak perfect English
• A low fluctuation rate means stable teams. The special A&M team spirit also reigns supreme
among our colleagues in Philippines and Singapore
• Ideal starting conditions for cost-efficient maintenance of the finished software. There is no
need for a costly transfer to a new team.
II. RATIONALE
The proposed distributed project is to develop and implement solutions for Modern Human
Machine Interfaces (HMI) with Touch Display. This is a user interface in a manufacturing or process
control system which provides a graphics-based visualization of an industrial control and monitoring
system.
Based on studies Poor HMI designs have been identified as factors contributing to abnormal
situations, billions of dollars of lost production, accidents, and fatalities. Many HMIs actually impede
rather than assist operators. Many of the poor designs are holdovers due to the limitations of early
control systems and the lack of knowledge of system designers. However, with the advent of newer and
more powerful systems, these limitations no longer apply. Also, decades of research has identified
better implementation methods. Unfortunately, change is difficult and people continue to follow poor
design practices.
The development of modern human machine interfaces with touch displays poses a new
challenge for manufacturers of industrial devices and machines. The users have highest expectations
regarding design and intuitive usability, projecting their everyday experience with handling consumer
devices such as iPhone, iPad, or Tablet-PCs onto industrial applications. These user requirements need
workflow-oriented interaction models and a first-class UI design. User guidance and screen layout of
the individual interaction scenarios have to be adapted to achieve sound finger operation.
Distributed Software Development 2013
Final Project Page 5
a. Why touch interfaces?
Touch-sensitive displays have become widely accepted not only in the consumer industry. While
in the past industrial applications were mainly operated via key panels, membrane keyboards or even
external interfaces like keyboards or mouse, touch-sensitive displays are more and more taking over.
The driving force is the economic benefit for manufacturers of equipment, machinery and
plants:
• Their popularity in consumer electronics has dramatically brought down the cost of touch
interfaces - with continuously increasing quality (resolution, size, colors, reliability, industry-
fitness)
• Touch interfaces combine display and operating elements in the most confined space and
reduce space and cost for machine operation
• Interfaces as a human machine interface can visualize additional information for the user
(application support / work instructions, graphic representation of fault causes, dash boards,
etc.)
• In contrast to keyboard and mouse, touch interfaces are more appropriate for hygiene measures
and are therefore increasingly used in medical engineering, amongst others
• Extensive feature enhancements with updates can be incorporated into touch interfaces with
great flexibility. Space requirements for operating elements remain the same in spite of varying
functionalities of machine types and generations
With the GUI design supporting intuitive operation of devices and machines, the entire
economic potential of touch interfaces is highlighted:
• A good and easy to understand user interface, adapted to language, application and situation,
can considerably reduce training cost for the operating personnel
• Comprehensive work instructions for the operator, according to the situation, through to
complete workflows for configuration and / or correction of errors allow for an operation of
equipment with less user errors and thus more productivity
• With a comprehensible way of operation, more complex functionalities and specific machine
advantages can be utilized by the operator
• A modern and superior operating concept can differentiate the products of a manufacturer from
the competition, improve brand communication and enhance customer loyalty
Distributed Software Development 2013
Final Project Page 6
b. Why traditional development methods fail for touch interfaces
Traditional software development is sequential. Summarized, the practice is as follows:
Functional software is developed on the basis of specifications. Only afterwards, the user interface is
created - and more often than not by the developers of the functional software itself. The result is that
in the majority of cases the GUI is created in a very technology- and function-focused way. At best, only
after the development of the first GUIs by the software developers, graphical artists and designers will
be involved to apply cosmetic changes to the user interface. Without knowing users and applications,
they can only change the visual design (icons, colors and fonts), but not the operating concept. An
involvement of users in the development process often does not take place or, if at all, only at a very
late stage. At this late time in the development process, requests for changes are usually refused due to
cost and time expenditures or the already imminent launch of the product, since major changes to the
user interface cause complex changes to the software itself.
The consequences of this procedure are reflected in the users’ reactions: User interfaces are
perceived as being complex, confusing or even "unusable". The operating concept, generated from the
developer's point of view, in many ways does not meet the requirements and operation sequences in
practice. Countermeasures are expensive trainings. In a nutshell: Instead of making a device intuitively
usable, the operation is being trained and learned. Thus the product can later be operated reliably by
well-trained core staff and in standard functions. Personnel changes, the use of rarely used features or
advanced configuration options, however, lead to operating errors, declining productivity and high cost.
Indirectly, the uncertainties and training expenses are reasons for customers and users to
consider the introduction of new machine models as extremely complicated and to delay it in practice.
The manufacturer should be encouraged to reconsider the optimization of its human machine interface,
at the latest when facing these indirect effects and economic concerns.
In addition, the widespread use of attractive touch display interfaces in consumer electronics
creates subconscious expectations of users. The demand on functionality, ergonomics and an attractive
“look and feel” is increasing and makes HMI development more challenging.
It is a fact that, in many cases, manufacturers of industrial applications do not have the
necessary experience to develop an intuitive and appealing touch interface operating concept. The
following three aspects appear to be vital:
• The design of operating surfaces for touch interfaces is subject to its own rules. A
transfer of usability concepts from PC software is not possible – even when using large
Distributed Software Development 2013
Final Project Page 7
touch displays. The often tried 1:1 reproduction fails regularly. The involvement of
usability experts, specialized tools and new development processes is essential.
• Equipment and machine operators need a comprehensive, highly efficient operating
concept that is close to applied practice. The users, in particular, have to be involved in
the development process.
• The design of innovative touch interfaces requires intensive interdisciplinary and often
multi-site collaboration of application specialists, ergonomists, design engineers /
computer scientists and users in an iterative, user-centered process framework. New
methods and systems have to be implemented for the team work (collaboration
infrastructures (DSD) in order to make this cooperation efficient and to further reduce
the development time despite the complexity of the project.
The proposed Modern Human Machine Interface (HMI) with Touch Display will look to these
conditions and find ways, methods for a successful development of innovative touch interfaces. There
are best practice approaches, proven and tested methods and tools that development managers and
product managers can use to prepare their own processes and development staff for new challenges.
This proposal presents methods, processes and software development tools that have proven to
be successful in the development of award-winning HMI projects. The key success components of this
approach are the early and intensive involvement of users in the development process and the parallel
and agile development of interface design and software. The installation of an infrastructure for
distributed development (Distributed Development Platform) allows for an efficient division of labor
between specialist teams for the development of hardware, software and user interfaces.
A&M offers support for the development of touch interfaces tailored to your requirements -
from developing an interaction concept to establishing a development platform to embedding an
optimized control system into an ergonomic user interface achieving highest standards in design and
usability. To this end A&M has developed an innovative procedure model based on best practice
experience.
c. PHASES
The location where the development and the planning stage is done at the head quarters in
New York, USA because it is located close to the technical university and pursues a lively national and
international knowledge exchange. It transfers promising topics from research and academics to
industrial-standard applications, products and approaches.
Distributed Software Development 2013
Final Project Page 8
Our subsidiary office in Talamban, Cebu City, Philippines takes the responsibility for the support
in series for all diagnostic parts of the new infotainment system MMI-3G. This includes the Specification,
Analysis, Design and Operation of test systems as well as the Planning and Execution of tests. The tests
are executed on a diagnostic and flash test bench developed by A&M.
Coding and testing happens in Singapore because our test system is located in this subsidiary.
Simulations and tests during development allow us to detect errors in software functions quickly and
cost-effectively. Our integrated technologies provide various possibilities to reuse test cases from early
development stages at the Hi Level Test bench stands. Apart from turnkey simulation and test solutions
we develop interesting operational concepts in our own test laboratories. Benefits for our customers:
We relieve them from test execution and enable them to meet the Verification and Validation
independence required in safety-critical developments.
Based on modern software products, cost-effective commercial-off-the-shelf (COTS) hardware
and state-of-the-art test system A&M develops customized solutions for test automation. Thus our
customers achieve a maximum of process safety, respond quickly to customer requirements by means
of short turn-around-times and accelerate the entire development process.
III. IMPLEMENTATION
Knowing different studies in distributed software development experienced the proposed
Modern Human Machine Human (HMI) with Touch Display project has individually been confronted with
the weaknesses of traditional development procedures described above, seeking answers to questions
such as:
• How do we involve the customer's product experts and the product end users in the
development of the interaction concept for an interface as early as possible?
• How can we achieve as many intermediate steps as possible in the development being
presented to users with their feedback flowing into the ongoing development of software and
HMI?
• How can development cycle times in projects of touch interfaces be reduced and undesirable
developments be avoided?
• How can the communication be optimized between the project participants, e.g. between
application developers and GUI designers or customers and developers?
Distributed Software Development 2013
Final Project Page 9
• How can we keep a project open for alterations and variations?
Both the headquarters and subsidiary offices recognized the need for new approaches and
procedure models. Based on this motivation, they established a partnership for innovative touch
interface software solutions. Since then, A&M have developed a process model based on their different
competencies as well as on existing and improved tools and processes.
The basis has already been established with methods such as:
1. Iterative and incremental development processes, Middleware, agile development models, the
user-centered design process (UCD), rapid prototyping and usability tests
2. Object-oriented system development process, using Unified Modeling Language (UML) and
Unified Process (UP) specification languages and
3. Incorporation of the procedural approaching proposed by PMBOK, expanding the management
areas indicated.
Incremental development
Incremental development is based on the idea of developing an initial implementation, exposing
this to user comment and evolving it through several versions until an adequate system has been
developed (Figure 1.1). Specification, development, and validation activities are interleaved rather than
separate, with rapid feedback across activities.
Incremental software development, which is a fundamental part of agile approaches, is better
than a waterfall approach for most business, e-commerce, and personal systems. Incremental
development reflects the way that we solve problems.
We rarely work out a complete problem solution in advance but move toward a solution in a
series of steps, backtracking when we realize that we have made a mistake. By developing the software
incrementally, it is cheaper and easier to make changes in the software as it is being developed.
Each increment or version of the system incorporates some of the functionality that is needed
by the customer. Generally, the early increments of the system include the most important or most
urgently required functionality. This means that the customer can evaluate the system at a relatively
early stage in the development to see if it delivers what is required. If not, then only the current
increment has to be changed and, possibly, new functionality defined for later increments.
Incremental development has three important benefits:
1. The cost of accommodating changing customer requirements is reduced. The amount of analysis and
documentation that has to be redone is much less than is required with the waterfall model.
Distributed Software Development 2013
Final Project Page 10
2. It is easier to get customer feedback on the development work that has been done. Customers can
comment on demonstrations of the software and see how much has been implemented. Customers find
it difficult to judge progress from software design documents.
3. More rapid delivery and deployment of useful software to the customer is possible, even if all of the
functionality has not been included. Customers are able to use and gain value from the software earlier
than is possible with a waterfall process.
Although incremental development has many advantages, it is not problem-free.
Concurrent
Activities
Figure 1.1 Iterative and incremental development processes
Middleware
The components in a distributed system may be implemented in different programming
languages and may execute on completely different types of processor. Models of data, information
representation, and protocols for communication may all be different. A distributed system therefore
requires software that can manage these diverse parts, and ensure that they can communicate and
exchange data.
The term ‘middleware’ is used to refer to this software—it sits in the middle between the
distributed components of the system. This is illustrated in Figure 1.2, which shows that middleware is a
layer between the operating system and application programs. Middleware is normally implemented as
a set of libraries, which are installed on each distributed computer, plus a run-time system to manage
communications.
Outline
Description
Specification
Initial
Version
Intermediate
Versions
Final
Versions
Development
Validation
Distributed Software Development 2013
Final Project Page 11
Coordinated
Operation
Information Exchange
and Common Services
Logical
Interaction
Physical
Connectivity
System 1 System 2
Figure 1.2 Middleware in a distributed system
The proposed Human Machine Interfaces (HMI) with Touch Display will incorporate COBRA as a
middleware of the development team. CORBA is a well-known specification for a middleware system
that was developed in the 1990s by the Object Management Group. It was intended as an open
standard that would allow the development of middleware to support distributed component
communications and execution, plus provide a set of standard services that could be used by these
components.
Figure 1.3 The structure of a CORBA-based distributed application
Application Components
Middleware
Operating System
Wireless Networking
Application Components
Middleware
Operating System
Wireless Networking
Distributed Software Development 2013
Final Project Page 12
This proposes that a distributed application should be made up of a number of components:
• Application objects that are designed and implemented for this application.
• Standard objects that are defined by the OMG for a specific domain. These domain object
standards cover finance/insurance, electronic commerce, healthcare, and a number of other
areas.
• Fundamental CORBA services that provide basic distributed computing services such as
directories, security management, etc.
• Horizontal CORBA facilities such as user interface facilities, system management facilities, etc.
The term horizontal facilities suggests that these facilities are common to many application
domains and the facilities are therefore used in many different applications.
Procedural communication in a distributed system is usually implemented using remote
procedure calls (RPCs). In RPC one component calls another component as if it was a local procedure or
method. The middleware in the system intercepts this call and passes it to a remote component. This
carries out the required computation and, via the middleware, returns the result to the calling
component. It communicates with the middleware, which is responsible for ensuring that messages are
passed to the appropriate system.
Figure 1.4 User Centered Design
The proposed distributed project based also of user-centered design (UCD) in (figure 1.4) is a
type of user interface design and a process in which the needs, wants, and limitations of end users of a
product are given extensive attention at each stage of the design process. User-centered design can be
Distributed Software Development 2013
Final Project Page 13
characterized as a multi-stage problem solving process that not only requires designers to analyze and
foresee how users are likely to use a product, but also to test the validity of their assumptions with
regards to user behavior in real world tests with actual users.
The proposed distributed project will also incorporate Unified Modeling Language (UML) it is a
recent synthesis of object-oriented languages. It includes a set of consistent diagrams that can be used
to describe and communicate system requirements of a software, project and code. It can be used to
provide insights of the project vision and project requirements of different abstraction levels and its
artifacts provide a common view that works as basis for the collaborative project.
Modeling provides three key benefits:
• Visualization
• Clear communication
The UML focuses primarily on specifying and documenting system requirements and projects. It
is important to keep using UML during the development process. If used in the initial phases only and do
not connect UML artifacts to build and test activities, it is possible to lose control of the project.
The project manager must establish a structure for the precise can among the team, and then
insist with its usage. The implementation of a modeling language of standard object is a component of
this structure. UML provides a number of static and dynamic diagrams that specify not ambiguously the
system and its behavior. It deals about a precisely and clearly way to capture and share requirements.
Thus UML, if used properly, provides documentation that eases the communication with clients as well
as with team members.UML can be use with all processes throughout the development lifecycle and
across different implementation technologies.
Due to client’s demands that always look something more, better and faster. We face the need
of creating more complex software each time. The presence of highly trained developers is not enough.
It is necessary an organizational guide a process. It is necessary a process that integrates diverse
development facets. UP (Unified Process) is one of the solutions presented for these problems.
UP is a generic framework of a development process, based on components and it uses the
entire UML definition. UP is guided by use cases, centered in the architecture, interactive and
incremental.
Distributed Software Development 2013
Final Project Page 14
Process model for the successful development of modern touch interfaces in industrial applications
a. Development of an interaction concept (workshop) and early prototyping
The requirements for functionality and display have to be worked out at an early stage and have
to be constantly reviewed by an iterative and incremental further development of the HMI.
Consequently, graphical and interactive touch panels meet the experiences and needs of the users in
the daily practice and in the best possible way.
For this purpose, the following approach is recommended:
At the beginning of the development, a joint workshop takes place involving all stakeholders and
representatives of customers and users. The goal is the definition of use cases and based on this the
development of a workflow-oriented interaction concept. It is good practice to design the essential
elements with paper and pencil and or on a flip chart and to discuss the necessary interaction
mechanisms with all stakeholders. Participation of relevant disciplines ensures that all aspects are taken
into account.
Both the fundamental interaction interfaces and the basic layout of the application can be
derived from the jointly developed drafts. Experience shows that the main functionalities and operating
controls can be defined in appropriately moderated workshops.
In the course of the project, the participant groups of the workshop stay involved. In this way,
intermediate results of the touch interface development are presented to users again and again.
Embedded in mockups (reduced function models), the practical use can be simulated and the usability
can be optimized with interactive sequences of screen designs - long before a functional device
prototype is available. The development proceeds iteratively and incrementally, user feedback is taken
into account at the earliest possible stage minimizing cost and complexity of changes.
b. Parallel development of functional software and GUI design
The second component of the process model is crucial for the efficiency of the development
project. Due to the incremental development of the GUI with active user participation, priorities are
changing in the interface development. Unlike in classical technical and functional designs, the user sets
the priorities:”The focus is on the operation flow, not the function implementation“.
But isn't the software development process suffering from the stepwise optimization of the user
interface in user discussions? No, because the consequent use of new software development tools such
as the GUI description languages XAML (Microsoft.NET), MycroXAML (OpenSource, C++), SwiXML
Distributed Software Development 2013
Final Project Page 15
(OpenSource, Java) and QML (Nokia Qt, C++) allows for the design of the user interface being almost
completely decoupled from the development of the functional software. Both development processes
can thus be completed in parallel.
The software developers are working on the hardware functionality and interaction based on
the jointly developed interaction concept, while the GUI designers and usability experts refine the user
interface in close consultation with the users based on the interaction model. They utilize their specific
tools such as Adobe Photoshop to create screen designs pixel by pixel as well as MS Expression Blend to
create dynamic and interactive prototypes. Merging of function and interface design is carried out using
the page description languages - and can thus be parameterized in one file. In traditional software
development processes, it has been complicated to transfer functionalities from one special user
interface to another. This can now be done by the designer via parameter settings on user request - the
underlying function call in the software migrates automatically.
Using GUI description languages, designers and developers have a common basis for the first
time and can develop functions and layout simultaneously without impeding one other. Professional
WYSIWYG editors for these languages give the designers the freedom for design and enrichment with
interactive process steps without requiring them to take care of the code. This results in a great
advantage for the rapid HMI development, separated by design and function. The user interfaces can be
configured with flexibility without software modification. The realization of product variants, such as
country-specific or customer-specific versions, can easily be implemented. This applies also for different
operating system platforms.
c. Infrastructure for a linked, agile development (Distributed Development Platform)
The procedure model described in this paper requires a very intensive communication within
the project team, which is larger than in traditional development processes, due to its incremental and
interactive development stages and close involvement of users and designers. The partially parallelized
development lines cannot be successful without the following conditions: permanent exchange of
information, access to current software versions and total transparency of the project progress for all
parties.
Good intentions alone do not lead to the desired communication. In most cases, the
participation of users, hardware and software specialists as well as external service providers requires
the team to cooperate nationwide or even internationally. Such development projects are only
successful when using appropriate software infrastructure.
Distributed Software Development 2013
Final Project Page 16
The Distributed Development Platform, developed by A&M, is a comprehensive development
platform that can be used worldwide with defined access rights and is adapted to the respective project.
This infrastructure supports the project team with the following functions:
Role-based access rights
• Ticketing system for a task management, traceable without gaps. Change requests and their
connection to the code versions, in particular, can reliably be recorded, communicated, and their
completion be monitored
• Project management functionalities (project plan, times, milestones, progress, etc.)
• Source code management with configuration management for versions including their history
• Build management and automatic generation of documents to facilitate the access of all project
participants to the current software version
• Integration of automated regression tests, in particular for HMI software (variants, multilingualism,
test cases for typical interaction sequences)
The platform allows for short cycles and thus a modern, agile software development. The HMI
build process is executed automatically by the push of a button or by being triggered through the setting
of a change; hence, the various development teams have always the latest software version available.
The involvement of customers and users is possible at any time. The development process reaches an
extremely high level of transparency.
The possibility to include automatic regression tests directly into such an infrastructure is
crucial, in particular for agile HMI software development, in order to continuously validate the
increasing development functionality. Tools such as Google Test offer HMIs the possibility to simulate a
virtual user. Here, user actions are recorded and reused as automatic test cases. Large parts of software
and HMI can be tested in this way, efficiently and completely automated. For Qt-based GUI applications
it is possible to perform automatic text length verification for all GUI elements and thus to review all
languages at the push of a button.
IV. SUCCESS CRITERIA
Manufacturers and project managers who want to differentiate their industrial products
through intuitively operable touch interfaces and outstanding GUI designs have a best practice approach
with the process described above. It covers the essential requirements for an efficient, parallelized
development process via its tool architecture.
Distributed Software Development 2013
Final Project Page 17
Figure 1.5 Examples of the development process of a touch interface for a testing device, the original
draft, a prototype version and the final product version of the user interface.
With its interaction concept, it creates the basis for a team-wide understanding of the practical
application and ensures the early and continuous involvement of users and usability experts.
Experience shows that the project teams of the manufacturers need to apply new ways of
working and new tools. The early and intensive involvement of users, design and usability experts
Distributed Software Development 2013
Final Project Page 18
require new thinking and methods, utilizing elements of agile software development. Accordingly, the
intensive coordination between all project stakeholders enforces the use of effective tools for
distributed development - not at least to achieve the necessary efficiency and transparency in the
overall process.
Such fundamental changes in tools and methods require manufacturers to provide a
professional management of this change process in order not to overstrain their employees. Most
development projects suffer from time constraints and high pressure to succeed.
Therefore, manufacturers should build a team with experienced external specialists and open-
minded internal staff to develop touch interfaces in the first projects. In doing so, it is easier to learn the
new ways of working and to gain practical experience with these methods and tools.
Factors of success for the HMI development process:
• Workflow-oriented interaction concepts are designed, involving the end-user. From an early
stage onwards, they are verified using interactive prototypes and mock ups.
• Agile, parallel development of interface design and software through the effective separation of
design and function.
• Special infrastructure for distributed development to secure the efficient cooperation of all
teams of experts involved.
• A good project management approach based on PMBOK which includes the unified process (UP)
and UML language, for e-business software development in a physically distributed environment
to ensure the quality, standard of the proposed HMI distributed project.