The BONSAI Approach Applied to Small-Medium Enterprises

Page created by Peter Alexander
 
CONTINUE READING
IBIMA Publishing
IBIMA Business Review
http://www.ibimapublishing.com/journals/IBIMABR/ibimabr.html
Vol. 2011 (2011), Article ID 685309, 9 pages
DOI: 10.5171/2011.685309

         The BONSAI Approach
  Applied to Small-Medium Enterprises
                                                Diego Bruno
                                      Torino, Italy
_____________________________________________________________________________________

Abstract

In this paper, we describe the BONSAI approach and how Small-Medium Enterprises can take
advantage of it. BONSAI consists of a set of behaviors, best-practices and guidelines which help
professionals to develop better software. Conceived as an iterative and incremental process, it
helps to integrate the software development process with the upper processes of the enterprise
taking advantage of Business Process Management techniques. It brings to Small-Medium
Enterprises the capability to support continuous changes helping them to mitigate and assess the
risks involved.

Keywords: Agile, Business Process Management, Small and Medium Enterprises
__________________________________________________________________________________________________________________

Introduction                                                  progress to be developed, during one year
                                                              ranges from 1 to 10 software projects.
Today, a large number of companies from
different commodity sectors are developing                    Also, SMEs have several key differentiators
software.    From   the    “one-man-band”                     from LEs. Following the Ibrahim and
company to the larger international                           Goodwin study (1986), “Small businesses are
manufacturer, they develop very different                     known to suffer from resource poverty.
software and very differently in terms of                     Resource poverty is characterized by
markets, products, technologies, and of                       immense constraints on financial resources,
course outcomes.                                              a lack of human resource expertise, and a
                                                              short range management perspective
Small and Medium Enterprises (SMEs) are a                     imposed      by    a   volatile  competitive
group of those. Following a commonly                          environment.”. In this sense, SMEs have
accepted definition, an SME is a company                      restricted investment capabilities caused by
with a number of employees ranging from 1                     financial limitations: usually, SMEs cannot
to 500 people. Compared to Large                              take advantage of economies of scale,
Enterprises (LEs) where people are several                    incurring high costs.
thousands, it seems to be just a bonsai
compared to an oak.                                           Compared to LEs, we should notice that SMEs
                                                              have more dynamism and flexibility: they are
But the definition of the above mentioned                     more responsive to changes and new ideas,
SME is not developing very accurate for                       especially because the hierarchical structure
companies in which software is part of the                    is shallow. But specialized staff are lacking in
main business. To be more specific, let’s                     SMEs: they can rarely afford a specialist for
consider software projects as a meter: we                     each enterprise area. They don’t usually
consider an SME when the average of in-                       implement company-level Development
house software projects developed, or in                      Methodologies and Formal Processes for the

Copyright © 2011 Diego Bruno. This is an open access article distributed under the Creative Commons
Attribution License unported 3.0, which permits unrestricted use, distribution, and reproduction in any
medium, provided that original work is properly cited. Contact author: Diego Bruno, e–mail:
brndgi@ymail.com
IBIMA Business Review 2

development of software, mainly because of a     definition, “Business Process Management is
lack of resources in terms of budget, people,    a structured approach, founded on a group of
knowledge, internal communication, and           activities required to design, optimize,
they can hardly afford such investment. As a     monitor and integrate enterprise processes,
consequence, every Business Unit usually         in order to create a process aiming to make
adopted its own way to develop software.         the enterprise business efficient and
It should also be noticed that in the last 10    effective.”
years they have followed the global trend to
offshore the production activities, and in the   In the sphere of Business Process
last 5 years they have started to offshore       Management, we decided to represent
software development to both offshore            enterprise processes as aggregation of
companies and overseas subsidiaries.             Business Building Blocks (BBBs). Following
                                                 the BETADE project definition (Verbraeck
Looking at these differences, it’s interesting   and Dahanayake, 2002), “The building blocks
to realize that SMEs seem to have a profitable   are a self-contained (nearly-independent),
environment for improvement of software          interoperable (independent of underlying
development, but often they don't have the       technology), reusable and replaceable unit,
necessary resources to perform the change.       encapsulating its internal structure and
The main reason is that improvement is a         providing useful services or functionality to
cost, often not affordable for SMEs. Relevant    its environment through precisely defined
costs     include:    reorganization    costs,   interfaces. A building block may be
education, scouting and selection of             customized in order to match the specific
development methodologies, development           requirements of the environment in which it
methodology validation (including pilot          is used (plugged).” In other words, BBBs are
projects), process implementation, tool          independent,     interoperable    (that    is
licenses and maintenance. This is a key          independent from underlying technology),
differentiator from LEs, which can usually       reusable and interchangeable.
afford these costs without interfering with
the main business of the company.                Additionally, BBBs have an internal
                                                 structure, they supply services or functions
But in which sense is it useful to compare an    through an interface, they are customizable
SME with an LE? Which Software                   and adaptable to every specific need, they
Development Processes can be adopted by          embrace the concepts of inheritance and
SMEs or at least inspire them? Which ones        encapsulation of their internal structure.
should be modified and optimized in order to
fit SMEs requirements? Finally, what can         It should also be noted that BPM and
BONSAI do about developing better software       especially BBB concepts are very similar to
projects?                                        Object Oriented concepts, well-known in
                                                 Object Oriented Programming Languages like
Being based on the experience of SMEs in the     ADA, C++, etc.
past 10 years, the BONSAI approach tries to
answer those questions.                          Definition of BONSAI

The Role of Business Process Management          So far, BONSAI is not a Development
                                                 Methodology, like waterfall, V-model, RUP,
Business Process Management is a discipline      etc. It aims to define a set of guidelines which
widely adopted by LEs. To describe how to        helps professionals to develop better
improve enterprise software processes,           software. It is a collection of approaches,
BONSAI makes large use of the Business           best-practices and guidelines. Whereas it has
Process Management approach (BPM).               his roots in SMEs, it is not aimed to be
Following the Di Leva and Laguzzi (2008)         necessarily applied by SMEs only.
3 IBIMA Business Review

BONSAI stands for: Business-Oriented               iteration, implemented as a BBB, will be
Normalized Synergic Adaptive Iteration.            detailed in the next section.

The term Business-Oriented refers to a             Iteration
particular attention of the development
process towards the whole enterprise               Iteration is meant as a repetition of a
business. In this sense, the software              particular task or activity with the goal of
development process has to be constantly           improving its main work. This method is
compared against the business needs and            often compared to the waterfall model, which
operations of the company, and software            is a sequential software development
development processes are BBBs of a more           process, where progress flows downwards.
complex Business Process, involving the            Since SMEs have financial constraints,
whole Enterprise.                                  iteration    is     usually   the  preferred
                                                   methodology. As a further consequence, for
The term Normalized refers to both                 complex projects, the waterfall approach is
simplification and optimization of processes.      most likely to fail for SMEs.
Business Processes coming form LEs can
hardly be successfully applied on SME, they        The core of the BONSAI approach is
need first to be normalized. Some                  represented by a specific work unit,
normalization techniques will be described         conceived as a BBB, called the Core Building
later.                                             Block (CBB). CBB represents the formal
                                                   iteration of the software development
The term Synergic encompasses several              process.
aspects of Software Development, including
communication, people organization and             To understand how that iteration works, and
personal motivation. A collection of               how CBB behaves, we first describe the
guidelines aiming to improve synergy will be       actors involved in the iteration. They are: the
provided later.                                    Developer Core Team, the Software Test
                                                   Team (which includes both the Module Test
The term Adaptive encompasses two aspects          Engineer and the System Test Engineer), the
of Software Development. The first is about        Tool Support Team, the Integration Team
Enterprise     Organization,       and    how      and the Project Management.
organization        influences        Software
Development. Later, it will be discussed how       The Developer Core Team represents the
the Development Process can adhere to the          group of people developing a specific feature.
implicit and explicit Business Processes of        It is usually composed of at least Senior
the organization. The second is about how to       Engineer and several Junior Engineers. It is
manage changes, that is how a process is able      definitely the productive part of CBB, since
to adapt to variations from the initial inputs.    they develop the more valuable working
Changes include rescheduling, specification        product of the CBB: the software needed to
changes, business plan changes. Some               implement a given feature of the product. As
techniques to support changes inside               Mills (1971) underlines, the Senior Engineer
processes will be discussed later.                 (or Chief Programmer) is seen as a surgeon.

The term Iteration underlines the iterative        The Software Test Team, Tool Support Team
approach (versus waterfall approach) of            and Integration Team have the role of
BONSAI. Iteration is the base of many              supporting the Developer Core Team to
software development methodologies. We             develop their work product: the Software
will refer especially to Iteration as defined by   Test Team develops and executes tests at
AGILE Modeling (Ambler, 2002). The BONSAI          software modules and/or at system level to
IBIMA Business Review 4

assure that the quality of the work product is     second sub-iteration, the software is
met; the Tool Support Team develops and            developed; then software is validated by
maintains      the   necessary    tools   for      Module Test Engineers; finally defects are
development, such as the Configuration             corrected by the Development Core Team.
Management System, Version Control, Bug
Tracking System, Knowledge System, tool-           The fourth sub-iteration is about integration:
chains, Automatic Compilation System, etc;         Integration Engineers integrate the modules;
the Integration Team is responsible for            then the defects are fixed by the
putting every working product together,            Development Core Team.
checking that the desired behavior of the
system is met, and correcting, or asking for       The fifth sub-iteration is about the system
correction, of unwanted effects.                   test: System Test Engineers validate the
                                                   integrated software; then the defects are
Project Management is finally the glue             fixed by the Development Core Team.
between each component. It supports each
team, in terms of communication, scheduling,       The output of the iteration is then validated
people management, synergy improvement,            by stakeholders. Then, iteration starts again
but it is also the interface between the           from sub-iteration 1.
Enterprise and the CBB.
                                                   Business-Oriented
Let’s now have a look in broad terms at the
BONSAI iteration. First, let’s define the inputs   For Business-Oriented approach, we mean
and the outputs of the iteration. Inputs are       that BONSAI is devoted to supporting the
represented by product requirements,               enterprise business. For that reason, the
coming from stakeholders. Outputs are              BONSAI CBB cannot be estranged from the
represented by specific work products:             upper enterprise processes.
prototype software, demo software, software
release. The BONSAI iteration is composed of       In fact, each CBB iteration has direct and
five sub-iterations.                               indirect impacts on several aspects of the
                                                   enterprise business.
The first sub- iteration is represented by
requirement       validation:    stakeholders      The first impact is about the level of
create/modify a Business Plan, then,               confidence and knowledge of the project
elaborate requirements and priorities; then,       earned at each iteration. An estimate at the
the CBB validates requirements and                 beginning of the project can be refined, and
eventually asks stakeholders for a refinement      so the efforts and the delivery dates can
of requirements.                                   change: this could impact especially on the
                                                   original business plan.
The second sub-iteration is about estimate
validation and plan elaboration: the CBB           Another impact concerns the change of team
creates cost and effort estimates; then            engineers, turnover, and overall high
stakeholders approve or disapprove, then           workload of engineers. It can change the
they modify the list of requirements and           scheduling and can impact stakeholders’
priorities accordingly; finally the CBB creates    expectations.
a task list and a plan based on final
requirements and priorities. If a task list is     The Quality acceptance department is
already available, it is refined based on          impacted since new software is ready to be
previous interactions.                             tested at the end of each iteration. The Sales
                                                   department and customer support are also
The third sub-iteration is about module            impacted since a new release is ready to be
development: for each task identified in the       sold, and a new release on the market must
5 IBIMA Business Review

be supported. Production and the supply          Business Process, and we try to fit it into
chain can be impacted since a new software       SMEs’ reality, most probably we need to
is now ready to be finalized (e.g. burnt on a    apply such a technique. Reduction means
CD) and shipped to the customer.                 that, where needed, a BBB should be
                                                 eliminated from the business process. Let’s
Additionally, the enterprise itself can          take for example an enterprise process for
embrace changes that impact on software          the development of a product. Before the
development: change or addition of new           development starts, LEs usually spend effort
requirements from Marketing, changes             and resources for prototyping. Since SMEs
coming from the field (e.g. low customer         don’t always have such resources,
satisfaction, which can jeopardize the future    prototyping is cut off, and the development
business, can question the quality of the        starts immediately after requirement
software produced, and so an optimization of     specification.
the software development process can be
needed), and changes in the structure of the     The next normalization technique is about
company (e.g. department splitting or            addition. It means that, where needed, a BBB
department merging).                             should be introduced to the business process.
                                                 Let’s take for example a bug tracking system,
To face all those impacts, an enterprise-        containing all the defects detected on a
global approach is needed. In this sense, CBB    software release in several phases of
should be conceived as a single BBB of many      development: module test, integration,
other    enterprise     business    processes.   system test. Let’s suppose that the Customer
According to the BONSAI approach, all            Support Department has access to the same
involved enterprise business processes           bug tracking system, helping it to find the
should be orchestrated and integrated with       solution to end-user problems. The first
CBB, at each iteration.                          remark is that the whole tracking system
                                                 does not completely suit the Customer
Since SMEs are usually more dynamic than         Support’s needs, since it contains a lot of
LEs, and most LE Departments are simply not      useless     knowledge regarding system
present or merged, SMEs are a good               integration and module tests. Addition in this
workbench to implement such integration.         case covers the creation of a new BBB,
                                                 responsible for filtering and isolating the
                                                 defects found by the System Test, and
Normalization Techniques                         currently not solved. In this case the Business
                                                 Process has been optimized by the addition
Starting from LEs’ experience in the creation    of a new process.
and maintenance of business processes,
BONSAI suggests adopting normalized              The next normalization technique is about
versions of relevant LEs’ Business Processes.    workload decrease. In this case, to remove
                                                 the bottleneck we identify the process
In the BONSAI approach, normalized is            causing it, and we change it. One or more
intended as both simplified and optimized.       blocks can optionally be added in order to
Each process in SMEs has to be simple, easy      mitigate change. Let’s make an example. It
to implement and maintain, because of the        has been detected in a software group that
dynamic nature of SMEs. But also, LEs’           integration takes too much time compared to
business processes don’t fit SMEs’ needs         estimates. The reason has been identified in
because they require company structure and       the lack of enough people to perform
costs that a SME can hardly afford.              integration. The company is willing to hire
                                                 new people, but it will take time, and the new
The first normalization technique is about       people will be on board, properly skilled, far
reduction. If we consider a complex LE           away from the release date.
IBIMA Business Review 6

Workload decrease can help in this way: we        number of people involved, etc. Small
need first to decrease the Integration Team       software projects are usually easier to
workload. We can accomplish this by               develop than complex projects (additionally,
changing the integration procedures: defects      a system composed by a single device is far
and change requests have to be affordably         less complex than a system composed of
grouped, and integrated as a whole. In this       several interactive devices). The project
way, the number of software builds                control techniques aim to keep projects
decreases considerably. Of course, this           small, adopting a divide et impera approach:
approach can reduce control on the                large projects can always be split in several
integrated code. In order to mitigate the risk,   smaller projects.
a code review activity is added right after
development, with the aim of increasing code      As a final consideration, we have seen that
quality. In conclusion, integration has been      normalization can introduce risks. For this
simplified reducing the number of builds, and     reason, a risk assessment and a mitigation
the process has been optimized introducing        plan should be considered when normalizing.
code review activity.
                                                  Synergy Improvement
The next normalization technique, more
intrusive than workload decrease, is about        Synergy    is    strictly    dependent      on
load rebalancing. Usually, when a bottleneck      communication.         Synergy         without
is identified in a process, there are two         communication is very hard to obtain. That’s
choices to solve it: add new people to            the reason why most of the best practices to
increase the production level, or change the      increase    synergy      are    focused     on
process itself. Workload rebalancing is all       communication                   improvement.
about process change: one or more processes       Communication improvements can be
are redefined in order to remove the              grouped     in    two      categories,    both
bottleneck.                                       complementary: tools and team attitude.

Let’s make an example: a Core Development         A lot of different tools can be used to improve
Team shrinks. The workload for each               communication in a software development
developer of the team increases, and as a         group: versioning control, bug tracking
consequence the Module Test Engineer              system, shared project planning tools, wikis,
workload decreases. To rebalance the              forums, etc. All of them require first an effort
workload, the Module Test Engineer, after         to be selected, effort for customization, effort
completing the Module Test, is asked to           to teach to the team how to use it, and
proceed with the System Test right after the      maintenance of the tools.
module     integration.    The    Integration
engineer, who has became the most                 But tools are not enough, since we need
experienced engineer on that module, can          people using them effectively. Actually any
support the other engineers to understand         one of us make great use of a tool if we
how it is working. In conclusion,                 believe that can be useful. If not, it will be just
                                                  another annoying task to be done. It should
workload rebalancing has impacted on the          be noted also that “Individual and
processes of the Core Development Team            Interactions are more important than
and the Module Test to fit the new structure      process and tools” (Agile Alliance 2001).
of the CBB.
                                                  That’s the reason why it is necessary to build
The next normalization technique is about         up a communication and collaboration
project control. Software Project complexity      attitude around the tools. Such an attitude is
can be measured with several parameters:          not always easy to build, since it strictly
costs, lines of codes, number of modules,         depends     on    personal     and    cultural
7 IBIMA Business Review

components. It is common understanding           of code review activity will be brought off
that a tool is welcomed when it helps people     naturally by every engineer.
to do their jobs better and more quickly. So
the tools, and the eventual customizations,      Consensus is also very important among the
should be focused on providing advantages        team. A widely used technique for improving
to all the users involved.                       consensus is Wideband Delphi (McConnel,
                                                 2006), used in the estimation process: each
The team attitude is also directly affected by   component of the team creates an estimate
project outcomes. To simplify, when the          anonymously, then traces a plot representing
project is going badly, blame is on everyone,    the estimates on a timeline. A discussion
but when it is going fine, the merit should be   follows on the average estimate. When
upon everyone. It’s especially important that    decided, each component votes anonymously
rewards will be recognized by the enterprise     for approval or not: if any of the components
itself, in order to keep personal motivation     don’t approve, the discussion starts again
high. Meritocracy is the model that best helps   and the process is repeated until a single-
to promote attitude.                             point estimate is approved. This technique,
                                                 used especially in early-in-the-project
A big communication problem is distance,         estimates, has the side-effect increasing
especially when project teams are located far    considerably the consensus among the team.
away. In this case, tools and proper project
control make the difference. Also, as            To improve synergy in the Core Development
suggested by DeMarco and Hruschka et al.         Team, the Project Manager has a very
(2008), face-to-face contact is a good weapon    important role. As described by DeMarco and
to increase the team attitude.                   Hruschka et al. (2008), a project manager
                                                 should be like a nanny, taking care that all
Attitude for good communication is also          engineers have the facilities needed to do
strictly related to work conditions. When        their job, encouraging engineers to discuss
people are overloaded by day-to-day work,        new ideas and scheduling time for it,
the time for communication is short.             protecting the team like a wall from the rest
Communication requires time, and this time       of the organization, trusting them,
should be taken into account in each             supporting them and listening to them.
development plan.
                                                 Adaptation
Another relevant communication skill is the
capability to share one’s own knowledge.         Following Conway’s Law (1968), “the
This can be a good accelerator in several        organization influences the structure of the
situations. Let’s suppose that a developer is    code and the architecture”. That’s the reason
making a hard piece of code. He has some         why each Software Development Process
doubts regarding implementation, or worse        should adhere to the organization’s implicit
he does not know how to solve it. But he         and explicit Business Processes.
knows that other guys in the team have
solved similar problems in the past, or they     Implicit Business Processes are those
are masters of a programming language and        processes that are not specified and
surely they can give good advice. That           documented, but they are executed and
sharing climate can help the developer to do     recognized by everyone. Most Business
a better job. It can be pretty obvious in a      Processes in SMEs belongs to that category.
small team, working in the same office, but it   Explicit Business Processes are those
is not so obvious when teams are located         processes that are specified and documented.
around the world. In this case the Project       In both cases, people are taking
Manager has the role to spread around teams      responsibility for a part of the process. Let’s
that sharing climate, assuring that this kind    take for example a company selling software
IBIMA Business Review 8

for Android-powered devices, based on             requires that a new important feature be
customer’s     detailed    requirements.     A    present in the product. In any case, after new
customer is asking for a turnkey customized       requirements have been discussed, a
VoIP Phone software. Once the requirements        rescheduling is also needed, and a
are decided, an offer is produced by the          normalization process can be required
company      and     when     accepted,    the    additionally.
development begins. In that case, it probably
makes no sense to have an integration team,       Conclusions
since the application is composed by just few
components (VoIP stack, application) and          The BONSAI approach for the Software
requirements are fixed, since we are talking      Development      Process    brings      several
about a turnkey project. And probably it          advantages to the Enterprise. Since it is
makes more sense to have a prototyping            based on a single iterative approach, which
team, able to develop demos to show to            involves most of the Enterprise, it can help to
potential customers.                              anticipate changes, before the product is
                                                  completely developed giving a major
Another example is about outsourced               competitive advantage to the Enterprise. The
projects. Let’s take for example a company        BBBs implemented in the processes can be
developing telecom systems, and part of the       reused and inherited (e.g. for hardware
system is outsourced to consulting                development, quality assurance, etc.), easing
companies. In this case, integration and short    the implementation of further processes. The
iterations are necessary to guarantee that the    synergy between different teams is improved
system is developed properly.                     giving a competitive advantage to the
Another Adaptive aspect is about how              Enterprise. Normalization techniques can
processes are able to react to changes. We        also help to optimize an existing process
will cover two types of changes: estimation       especially processes coming from LEs: this
changes and requirement changes.                  allows advantage to be taken from LE’s
                                                  experiences. Adaptation techniques can be
At the end of each iteration, the team            used for the definition of processes able to
improves its knowledge of the system under        support continuous changes, these are very
development. He knows how much it took to         common in dynamic companies like SMEs.
complete the iteration, if the initial estimate   Costs are kept low, since no specialized
was good or not, which issues were faced,         engineers are required to adopt BONSAI. Risk
etc. All of this knowledge can be used to         assessment and mitigation plans can be used
refine the initial estimate as suggested by       to understand the risk involved in each
McConnel (2006). McConnel’s reasoning is          process change.
based on Cone of Uncertainty: a plot where
horizontal axis contains common project           All of these advantages have the effect of
milestones, and vertical axis contains the        improving the competition effectiveness of
degree of error found on estimates. The           the Enterprise which can, with BONSAI, move
resulting plot is a cone, narrowing from left     the enterprise business towards a process-
to right. This demonstrates how uncertainty       oriented and synergic approach.
is reduced milestone after milestone.
                                                  References
Additionally, at the end of each iteration the
original requirements can change. This can        Agile Alliance (2001). Manifesto for Agile
be for several reasons: Marketing, watching       Software Development. [Retrieved on
at a software demo, realizing that something      September 7, 2010], www.agilealliance.org.
should be changed to fit the requirements
better. Or the end-user asked for other high-     Ambler, S. W. (2002). Agile Modeling, Wiley
priority features, or the market itself           Computer Publishing, New York.
9 IBIMA Business Review

Conway, M. E. (1968). “How do Committees        Ibrahim, A. B & Goodwin, J. R. (1986).
Invent?,” Datamation magazine, April 1968.      “Perceived Causes of Success in Small
                                                Business,” American Journal of Small Business.
DeMarco, T., Hruschka, P., Lister, T.,
McMenamin, S., Robertson, J. & Robertson, S.,   McConnel, S. (2006). Software Estimation.
(2008). Adrenaline Junkies and Template         First edition. Microsoft Press.
Zombies, Dorset House Publishing, New York.
                                                Mills, H. (1971). “Chief Programmer Teams,
Di Leva, A. & Laguzzi, P. (2008). “I Business   Principles, and Procedures,” IBM Federal
Building     Blocks:   dalla    modellazione    Systems Division Report FSC 71-5108.
all’esecuzione del processo,” Proceedings of
V Conference of the Italian Chapter of AIS      Verbraeck, A. and Dahanayake, A. (2002).
(itAIS 2008), ISBN:978-88-6105-076-1, 13-       "Building Blocks for Effective Telematics
14 December 2008, Paris, France                 Application Development and Evaluation,"
                                                Delft University of Technology, Faculty of
                                                Technology
You can also read