The BONSAI Approach Applied to Small-Medium Enterprises
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
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.comIBIMA 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 toIBIMA 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 must5 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 cultural7 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 softwareIBIMA 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
TechnologyYou can also read