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.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