Site materials may be used with reference to the source. License
Optimization of Business Processes for Parallel Development of Software Products by Two DepartmentsАвтор: Timofey Bugaevsky.
About us: Personal website of Timofey Bugaevsky and the company Zetka Interactive Management: Materials for managers. Simulated business process model of a software development company based on the SCRUM model: Simulated business process model of a software development company based on the SCRUM model with enhanced testing. Description and optimization of business processes for the parallel development of software products by two interrelated divisions of a software development company The paper examines a constructed business process model of a software development company division to account for the operations of enterprises of various sizes and fields of activity. A functional cost analysis was conducted, a bottleneck was identified and eliminated. The optimization made it possible to reduce employee downtime and accelerate the release of new versions of the company’s products, thereby achieving an economic effect. This work is an attempt to study and apply the Business Studio business modeling system to practical tasks. The work draws on experience with engineering modeling systems: SIMULINK, MVTU, and an engineering education. Features of product release workThe model considers the parallel release of two products by two departments: • A product for small businesses. • A corporate product. Their work intersects in the interaction of adjacent departments. Overall, the work of the development units on releasing a product is similar, so the diagram is built as a single product release process that branches depending on the product being produced in places where necessary, in order, for example, to indicate the positions performing a particular operation. As an example of such a place, the process Execution of work that fits into a sprint from the process of developing a new product version is shown. There are 3 levels at which product functions can be developed: 1. The product itself. 2. Libraries. 3. Platform. Libraries are used to consolidate and unify functionality that can be used in various products. Their use makes the functioning of all Company products similar and simplifies learning new products for users familiar with one of the existing ones. The product development procedure, when its prototype is ready, is as follows: 1. In parallel, development of new product capabilities and its dependencies is performed: the platform and libraries. 2. When the platform and libraries are ready and tested, and development of new product capabilities is completed, overall testing and correction of the delivery set is performed: the product, libraries, and platform. In this regard, the number of implemented requirements depends on the work of several departments: • If some functionality is shared, its implementation is moved to the library level. • If some functionality cannot be implemented with the current development tools, it is transferred to the platform development department. • When a requirement is too complex to be included in the platform, it is excluded from the work and its implementation is postponed. If the product development department manages to implement all requirements, but, for example, some cannot be implemented in the platform, the number of implemented requirements decreases by the number of those that adjacent departments cannot or did not manage to implement. Development is carried out using SCRUM technology [2]. It implies that employees, within a certain period of time called a sprint, complete as many assigned tasks as they can. An example of implementing the work execution cycle for releasing a new platform version is presented below. OptimizationWe can perform optimization at three levels [3]: 1. Questioning the qualification required to perform the work (if the business process is described in detail, it can be performed according to instructions by a person with lower qualifications). 2. Questioning the correctness of the business process (if the business process is described, an opportunity arises to improve it: changing the priority of operations performed, the number of employees performing it, and the order of the operations themselves). 3. Questioning the need to perform this business process (if there is data on all company processes, it becomes possible to compare their effectiveness and reasonably abandon effective ones, seeing that they are not required in other operations or that an appropriate replacement has been found). In this work, we will use the second method: adjusting the described business process in order to optimize its execution. Modeling results before optimizationLet us simulate the release of one version of the product for small businesses. As a result of the simulation, 95% of requirements were completed and a version of the product for small businesses was released. Downtime for the small business product developers amounted to 1.5 weeks. The time from the start of work on a new product version to its release was 2 months. The Gantt chart of product release work, if we average the data on workload for development and testing of the small business product, libraries, and platform, looks like this: Optimization actionsWe will reduce the waiting time for the new platform and library versions to be ready, and instead of waiting for the head of the relevant division to complete the review of test results, we will make it a notification report. Before: After: For process A5.3.3 Testing and correction, used for library development, we will do the same. We will change the priority of the Error description operation so that testing is not performed first and only after it is completed are errors described and handed off to developers for correction; instead, as errors are found, they will immediately begin to be corrected. Before: After: We will add one additional tester. Before: After: We will give developers more time to independently fix errors in the implemented functionality before handing it off for testing. This will reduce the likelihood of finding errors during testing and, accordingly, the duration of the testing and correction process. Before: After: Modeling results after optimizationLet us repeat the simulation of releasing one version of the product for small businesses. As a result of the simulation, 94% of requirements were completed and a version of the product for small businesses was released. Downtime for the small business product developers amounted to 2 days. The time from the start of work on a new product version to its release was 1 month and 3 weeks. Downtime decreased by 1 week and 1 day (by a factor of 4) compared to the non-optimized business process. The interval from the start of work by the small business product developers on the product to completion decreased by this time (by 12%). The Gantt chart of product release work will become as follows: Verification of results in regular operation modeTo verify how the software development department will operate in regular mode, releasing each month 1 version of the product for small businesses, 1 version of the corporate product, and 2 versions of libraries and the platform, we will simulate the release of 4 product versions (2 versions of the product for small businesses and 2 corporate versions). We will set a period of 6 months so that the work to prepare the first version (planning, etc.), as well as the final work, is completed in full. We see that the specified number of product versions is released and 94–97% of user requirements are fulfilled. Product developers work at 90–95% utilization, which can be considered a good indicator. They can spend their free time on organizational matters and email.
Economic effectThe reduction in downtime for small business product developers, with their headcount unchanged, amounted to 12% per one version (2 months of development) per employee. When calculated for all employees of the department and converted to a monthly basis with an employee payroll of 200,000 rubles per month, this amounted to: 11 people * 12% * 200,000 rubles = 264,000 rubles. For the corporate product development department, the same optimization will yield monthly savings of: 18 people * 12% * 200,000 rubles = 432,000 rubles. The payroll of the added tester will be 160,000 rubles. Total monthly savings: 264,000 + 432,000 – 160,000 = 536,000 rubles. It will be expressed in more frequent (12% more often: 1 month and 3 weeks compared to 2 months) releases of new product versions and a reduction in the cost of releasing each new version. ConclusionsBusiness process modeling is not only a way to describe and obtain general information about the current state of an organization, but also a powerful tool for optimizing an organization’s activities, enabling informed management decisions without conducting an experiment at the company’s expense by performing an erroneous optimization that, for example, does not take into account a system constraint (see an example of such an error [4]). References1. Structure of the business process model [Electronic resource] // Business Studio Documentation [website]. [2016]. URL: http://www.businessstudio.ru/wiki/docs/v4/doku.php/en/csdesign/bpmodeling/struct (accessed 06/02/2016). 2. Kniberg H. S.M. Kanban and Scrum: getting the most out of both. Agile Ukraine, C4Media, InfoQ.com Publishing, 2010. 78 p. 3. Business processes. Optimization of business processes [Electronic resource] // Open business methodologies TRIZ-RI channel on Youtube [website]. [2014]. URL: https://www.youtube.com/watch?v=67bk0gDFX1s (accessed 09/11/2016). 4. Jeff Cox, Dee Jacob, Susan Bergland. The New Goal. How to combine lean manufacturing, Six Sigma, and the theory of constraints; translated from English by P. Mironov. — Moscow: Mann, Ivanov and Ferber, 2011. — 400 p. 5. Simulation model of software development activities [Electronic resource] // ZK Interactive [website]. [2016]. URL: http://zkinteractive.com/management/soft_co_bm/en/ (accessed 12/29/2016). |