Friday, September 4, 2015

Business Management and Agile

Processes that manage and optimize businesses are removed from the nitty-gritty of software development. However, these pure business-level processes operating in the business methods space also stand to benefit by Agile principles and practices. Processes at business levels and Agility have many complementary elements in them. This view of business and Agile was also ratified during the interviews undertaken in the associated composite Agile research project (see Appendix I). Furthermore, software Agility also complements business Agility. For example, while the processes of Kaizen eliminate waste, they need corresponding modifications and upgradation of the supporting software. Agile practices can be used in undertaking software modifications. This section discusses three processes briefly (Six Sigma, Kaizen, and Kanban) in the context of Agile.

Six Sigma
Six Sigma is a data-driven business management strategy that provides tools to reduce defects in any process (product or service) and bring about improvement in the performance and quality of a process (Yang, 2005). The fundamental idea of Six Sigma is the possibility of measuring the defects in a process that can eventually lead to systematic discovery of eliminating a process defect (Keller and Pyzdek, 2005). Six Sigma mandates give the stages Define, Measure, Analyze, Improve, and Control. These stages bring about a certain rigor and control to the business processes of the organization.

While Six Sigma provides a framework that is rigid for good reasons, Agility enables flexibility at the software development and maintenance levels. Agile values and principles can be embedded in businesses using Six Sigma. For example, the rigors of Six Sigma's stages can be upheld but the time shortened with the help of the Agile values of iteration and visibility. Six Sigma and Agility can complement each other as the two are focused on two different aspects of an organization—the pure business aspect and the software support aspect. Collaboration and coordination between the business stakeholders and the software developers who maintain the code is necessary in a complementary approach.

Kaizen is a business strategy that focuses on continuous improvement in a number of aspects of a company's results (Imai, 1986), such as quality, productivity, cost, staff satisfaction, security, company culture, leadership, and technology. The idea of continuous improvement at the company level ties in with Agile values at the organizational level. Kaizen aims to involve every employee in the organization from the chief executive officer (CEO) to the workers (Liker, 2004) in the attempt to enhance quality. Kaizen includes defining and improving the defined standards (Kotelnikov, 2009) on an ongoing basis. Furthermore, it provides employees with the required training, materials, and supervision to meet the standards (Hudgik, 2009). The five founding elements of Kaizen, teamwork, personal discipline, improved morale, quality circles, and suggestions for improvement, seem to have surprising similarity with Agile approaches. The Agile development approach maps to Kaizen at the business level. Kaizen also has a number of principles that relate to Agile.

Kanban as a method can provide support for managing the BAU as well as product portfolio management. This is because Kanban is based on "visibility" of everything that goes on in a business or its projects. Kanban is thus a mechanism to provide ongoing work within the organization without overloading teams and projects. The dependencies of various roles on one or more methods within an organization. The sequencing of activities and tasks within those methods can all add up to delays and overloads if not properly monitored. This is also a challenge of methods friction, and this is where Kanban can help when used in a composite approach.

Kanban attempts to make the "overloading" of projects and teams visible to the decision makers of the organization. Kanban then attempts to "de-stress" the teams by not putting strict timelines (deadlines) on the delivery of work products. When teams are free from the stress of delivery, they are able to be more productive and can sustain their development for a very long term—precisely what the Agilists have been advocating through Agile values and principles.

Visibility of work is the key to Kanban. This visibility and an understanding that "timeboxing does not necessarily lead to reduction in time" has organization-wide applicability. In fact, Kanban will provide value only when it is applied across organizations and it balances intra- as well as interteam overloadings. In a composite strategy for all organizational methods, Kanban has applicability in project management and business analysis, and even in specific testing projects.

A composite approach, as developed next, uses Kanban to de-stress the entire organization (as against just a project) by examining the impact of one method (e.g., ITIL at the service level) on another (e.g., Agile using TDD).

Taken from : The Art of Agile Practice: A Composite Approach for Projects and Organizations

No comments: