The greatest corporate demand of our age is to raise productivity in knowledge work to remain competitive on the global market. The basis is the visualization of the current workflow and the quantitative restriction of the number of tasks underway in a process. Kanban's goal is to develop a kaizen culture step-by-step, a culture that is focused on providing better results for the organization in economic and, for those working for the corporation, social terms. The core practices of Kanban must absolutely be considered for the adaptive system to function properly. According to David J. Anderson, there are six core practices that make a Kanban implementation successful: make work visible; limit work in progress (WiP); manage flow; make progress policies explicit; implement feedback mechanisms; and improve collaboratively (using methods and models). Kanban makes very few prescriptions about how something should be done. Kanban makes suggestions that something should be done.
We present the application of software process modeling and simulation using an agent-based approach to a real case study of software maintenance. The original process used PSP/TSP; it spent a large amount of time estimating in advance maintenance requests, and needed to be greatly improved. To this purpose, a Kanban system was successfully implemented, that demonstrated to be able to substantially improve the process without giving up PSP/TSP. We customized the simulator and, using input data with the same characteristics of the real ones, we were able to obtain results very similar to that of the processes of the case study, in particular of the original process. We also simulated, using the same input data, the possible application of the Scrum process to the same data, showing results comparable to the Kanban process.
We developed an event-driven simulator of the Kanban process a WIP limited pull system visualized by the Kanban board. WIP (work in process) represent the capacity in the activity to perform features simoultaneously. The simulator is fully object-oriented, and its design model reflects the objects of the Lean software development domain. We used this simulator to assess comparatively WIP-limited and unlimited processes. We also studied the optimum values of the working item limits in the activities, using a paradigmatic case of 4 activities and 100 work items. The cost function used is equal to the total time needed to complete the project, plus a weighted sum of the limits themselves. We performed an exhaustive search on all the admissible values of the solution, finding sensible optimal values, and a non-trivial behavior of the cost function in the optimization space. This demonstrates the feasibility and usefulness of the approach.
Lean Six-sigma principles and methods have been successfully applied in a variety of industries. Many of the core principles of Lean Six-sigma can be applied to software development to dramatically improve performance with some industry specific adaptations. In this regard, Lean Six-sigma principles can be made to further leverage the benefits of software engineering best practices to improve work flow and the tactical management of the project. The Value Based Software Engineering (VBSE) process as practiced today, begins the software development lifecycle (SDLC) with a sophisticated customer value analysis (CVA) which is coupled with a quantitative evaluation of pricing and profitability options followed by development of the software. The CVA yields a wealth of information not only for product features, but also for improving all processes within the organization that touch the customer. This paper seeks to present and articulate how applicable Lean Six-sigma principles can be coupled with the VBSE to improve the SDLC by improving the identification and delivery of customer value as well as the reduction of wasted resources. The net result is to substantially enhance the VBSE SDLC and the the organization's overall ability to deliver value.
David M. Raffo合作论文数Professor of Supply & Logistics Management and Information Systems1