Content uploaded by Razvan Daniel Zota
Author content
All content in this area was uploaded by Razvan Daniel Zota on Nov 18, 2015
Content may be subject to copyright.
Available via license: CC BY-NC-ND 4.0
Content may be subject to copyright.
Procedia Economics and Finance 20 ( 2015 ) 695 – 699
Available online at www.sciencedirect.com
2212-5671 © 2015 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license
(http://creativecommons.org/licenses/by-nc-nd/4.0/).
Peer-review under responsibility of the Faculty of Economics and Business Administration, Alexandru Ioan Cuza University of Iasi.
doi: 10.1016/S2212-5671(15)00125-2
ScienceDirect
7th International Conference on Globalization and Higher Education in Economics and Business
Administration, GEBA 2013
Designing software solutions using business processes
Razvan Daniel Zotaa*, Liviu Ciovicaa
aBucharest University of Economic Studies, Piaìa Romană 6, Bucharest 010374, Romania
Abstract
In the present time, when companies’ businesses are growing more and more, the software developers may adapt to a change
from the industry direction and must continuously analyze and optimize current solutions. By developing new strategies to
automate services, the architects and developers contribute to more flexible and efficient solutions that provide support for
business integration and agility. In this paper we are presenting the development of a software solution design with the use of
business processes, in order to provide a better software solution.
© 2014 The Authors. Published by Elsevier B.V.
Selection and peer-review under responsibility of the Faculty of Economics and Business Administration, Alexandru Ioan Cuza
University of Iasi.
Keywords: business processes, software development, software solutions
1. “On demand” computing model
The IT industry is composed by two interrelated industries. The first one is computing, and this implies more
than chip technologies, database technologies, operating systems, application software or any other technology
elements that are in a constant state of change. This is more concerned with computing as architecture, model or a
system that integrates all of these unrelated components. The second “industry” is the application of computing to
improve or transform some aspect of business, where “business” implies the IT challenges of every enterprise and
institution.
IT managers no longer think of their technology needs just in terms of data centers, storage systems, PCs or even
network. Today, the computing model is seen as the entire technical infrastructure on which businesses are running.
* Corresponding author. Tel.: +40-722-325-133; fax: +40-21-319-1899.
E-mail address: zota@ase.ro
© 2015 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license
(http://creativecommons.org/licenses/by-nc-nd/4.0/).
Peer-review under responsibility of the Faculty of Economics and Business Administration, Alexandru Ioan Cuza University of Iasi.
696 Razvan Daniel Zota and Liviu Ciovica / Procedia Economics and Finance 20 ( 2015 ) 695 – 699
This is a crucial infrastructure that must connect with and support relationships and transactions with other
businesses - including devices of all kinds and the various user groups using those devices. In general, businesses
and institutions have automated and digitized their standalone operations and processes - the back office, the
manufacturing floor, procurement, logistics, customer-facing systems, and so on. They have achieved efficiencies by
doing so, and now a need has evolved to transform processes that cut across all of those systems. The challenge
going forward is to build a business that can respond dynamically to whatever the world throws at it from an end-to-
end perspective. The resulting requirements motivate the evolution of an “on demand” computing infrastructure.
In effect, the aspirations of an “on demand” computing model for an enterprise or institution is to be able to
provide products, services, information, health care, education, government services and so on - in an “on demand”
way for their customers, citizens, patients and students. These “sense-and-respond” or “real-time” applications have
many advantages, as enterprises are able to convert fixed costs into variable costs and they can better manage and
control their inventory levels. More compellingly, “on demand” computing systems promise greater responsiveness
to the needs of customers, employees and business partners. That is obviously very appealing, especially in the
current competitive business climate. However, if we consider the magnitude of the business transformation that
“on demand” computing requires we can see that it is almost as if an organization were turned on its side moving
from a collection of vertical “silos” to a seamlessly integrated, horizontal flow across value chains. This represents a
substantial shift in business design and in management thinking, and motivates substantial systems and process re-
engineering challenges.
Evolving the current computing model to an “On Demand” computing paradigm therefore implies new rules for
IT infrastructures. Computer systems will need to be integrated and will need to support integration of business
processes and operations. The on demand requirements include the need to equip and help IT Managers to build
their own internal utilities, software to manage and balance workloads, and server and storage systems to provide
additional capacity on demand. This is because today’s organizations look for ways to make their business model
more resilient in the face of change and uncertainty. They seek the ability to react to rapidly changing market
conditions, manage risk, compete with their competitors with new capabilities, and deliver clear return on
investment. This is the key reason why the “on demand” era has evolved, and it represents the next phase of
electronic business in which organizations move beyond simply integrating their processes to actually being able to
sense and respond to fluctuating market conditions and provide products and services to their customers in an “on
demand” way.
2. “On demand” service oriented platforms
Nowadays, in the current challenging economic environment, businesses have changed their models in order to
be more service oriented and serve a broader and global audience. With the raise of Big Data phenomena along with
the applications’ markets on different platforms, operation systems and devices, we have also noticed that
companies are becoming more software driven and are choosing to expose their value / services to the world using
custom (in-house) developed APIs (SOAP / REST API). By using this approach, companies are allowing “on
demand” access to their data, resources and / or services, charged based on “consumption”. This approach is a very
profitable one for the consumer, because everyone can consume as much as needed, without being constrained by a
more restrictive plan and for the company itself, by having more clients and differentiated pricing plans depending
on the provided value.
Even if they are not for public, the in-house developed APIs are also required and necessary for internal use
because with the multitude of devices the need to be always up to speed and connected to the company internal
platforms is growing and becoming vital. In order to build such APIs, companies are rethinking their own software
infrastructure in a service-oriented style, taking advantage of all the facilities and features that the software
architectural style brings. Along with the change of the software infrastructure, many of them, which are not already
using the model, are becoming service-oriented businesses in order to be aligned with the IT.
This alignment and shifting is usually done with a lot of time and resources, usually over budget and with huge
delays. The wrong approach in doing so, leads usually to bankruptcy or for the project to never be implemented.
From our experience and from case studies, software projects are failing, in most cases, due to bad specification,
697
Razvan Daniel Zota and Liviu Ciovica / Procedia Economics and Finance 20 ( 2015 ) 695 – 699
documentation, understanding and management. Another factor is the team chosen to implement the project. In
some cases, in order to keep the costs under control, if the company has a small IT department, that team is chosen
to develop the entire system – without an external help from a software architect – even if they don’t have the
required skills to do it.
3. From business processes to software architecture
The most efficient way to properly develop such a system (following a service oriented architectural style), that
responds to all the users’ daily operations and sustain all the company activities is to begin analyzingthese
operations, activities, connections between them, connections with third party and the communication channels that
are used. During this process, functionalities and/or requirements are identified and categorized in services
following the rule that a service is a self-contained unit of functionality.
Following this approach, a daily workflow (process) can be created and implemented for every user, for every
user’s position within the company and for every activity, which is done within the company or between the
company and third parties. As a result of this analyze the entire company’s business processes are sketched and
visualized.
Three immediate advantages result after we have the entire company’s business processes identified and
modelled:
xthey can be optimized by identifying the known or unknown stoppers and bottlenecks;
xthey are the perfect starting point to identify the functional properties of the system to be build, by providing and
responding to the actual needs of the users / company;
xdifferent services / components can be easily orchestrated in order to optimize the communication between third
parties: at business level between the company itself and its partners / other parties, or within the system between
services and or components.
We propose a flow diagram (see Figure 1) in order to transform business processes into software functional
properties and requirements.
Fig. 1. Transforming business processes into software functional properties and requirements
698 Razvan Daniel Zota and Liviu Ciovica / Procedia Economics and Finance 20 ( 2015 ) 695 – 699
Thenecessary steps for this transformation are the following:
xIdentify all user roles within the company / the user roles that the software system addresses;
xFor each user roles, identify all its responsibilities and activities that he has, must have or can have. It is better to
make small predictions in order to build a flexible, adaptable system;
xFor each user role and responsibilities identify and interview all the users in order to gather more data on how
daily operations are organized, managed and done. At the end of this interview, the user’s daily workflow is fully
modelled. If the user needs to interact with other parties, colleagues, then the communication channels need to be
identified along with the data format and format that must be transmitted or received. Also during this interview
must be identified the actual needs and the required goods to have functionalities in order to ease their daily job;
xAfter all the users, having the same role or responsibilities, were interviewed, global processes are built in order
to reflect all the gathered and merged data;
xAfter the users’ daily workflows along with their requirements were identified are validated and updated with the
ones imposed by the company rules and policies and improved by the management team;
xWith the final versions of the processes, the management and the stakeholders have to be interviewed in order to
add the companies’ goals and targets along with the requirements imposed by them. Having an overview of
every process that happens within the company the processes can be optimized by identifying solving the known
or identified stoppers;
xHaving a clear picture of the entire processes suite within a company (or the ones that a company wants to
publically expose it) they are analyzed by an architect or a development team (playing the role of an architect) in
order to:
oIdentify functional and non-functional properties of the system
oBuild user stories & use cases for each role and activity
oIdentify the main activities, categorize them into services
oIdentify the required tools and functionalities
oIdentify communication channels between parties
xBased on the gather data the software architecture design can be easily completed including the real view into
the company’s business processes;
xTaking into consideration the architectural design of the system, this it has to be validated once again with the
stakeholders and management. After the validation is done, the software quality attributes are also identified and
decided upon;
xKnowing the fact that the actual user’s workflows are the subject of changed due to changes into the business
model, we propose that the identified and modelled processes to be reflected into the system, as they are, using
the BPMN for orchestrating the activities and services’ compositions, interoperability and communication;
xIt was proven on every occasion when the algorithm was implemented that the approach is successful and the
chances that the project to be finished increased due to the simple fact that the business processed modelled into
the software system are the exact replica of the ones from the real world.
4. Conclusions
The technology is evolving rapidly and in order to keep the step, businesses are evolving, changing and are more
and more becoming software driven. This means that their business core is actual a software solution/platform.
Companies have started to implement their own platforms and APIs in order to easily integrate with parties or to
integrate all their internal applications with a single central platform.
Even if it is an internal platform, an application suite or a platform used to expose the company values, assets and
services to parties, the software solution or platform needs to respond to the target’s means and requirements.
In order to properly implement such a software solution, within the agreed timeline and budget, we are currently
working on an algorithm (this algorithm is the subject for another article) which first identifies and builds all the
company’s internal required business processes which are transformed afterwards into software functional and non-
699
Razvan Daniel Zota and Liviu Ciovica / Procedia Economics and Finance 20 ( 2015 ) 695 – 699
functional properties, software quality attributes, requirements and processes used to easily design the correct
system.
Acknowledgements
Part of the work submitted in this paper was made under the circumstances of the doctoral research within the
doctoral school of Economic Informatics, Bucharest University of Economic Studies, Romania.
References
Pat O’Sullivan BSc, Joe Fitzpatrick BEng CEng - 21st Century Software Development - An “On Demand” Software Engineering Process
Perspective, IBM White Paper, 2010
Lawrence H. Putnam, Ware Myers - Five Core Metrics: The Intelligence Behind Successful Software Management, Dorset House Publishing
Co., Inc. 2003
Hans Skalle, Bill Hahn - Applying Lean, Six Sigma, BPM, and SOA to Drive Business Results, IBM RedBooks, 2013
Jan vom Brocke, Michael Rosemann - Handbook on Business Process Management 1 Introduction, Methods, and Information Systems
International Handbooks on Information Systems, Springer Heidelberg Dordrecht London New York , Springer, 2010
Volker Gruhn , Ursula Wellen - From Business Process Models to Distributed Software Architecture, Proceeding of ISAW '98 Proceedings of the
third international workshop on Software architecture, Pages 53-56
Len Bass, Paul Clements, Rick Kazman - Software Architecture in Practice (3rd Edition), Addison – Wesley, Pearson Education, Inc. 2013
Manuel Laguna - Business Process Modeling, Simulation and Design, Second Edition, CRC Press Taylor & Francis Group, 2013
Jürgen Münch, Ove Armbrust, Martin Kowalczyk, Martín Soto - Software Process Definition and Management (The Fraunhofer IESE Series on
Software and Systems Engineering), Springer, 2012