Eliminating waste in software projects: Effective knowledge management by using web based collaboration technology
The enterprise 2.0 concept applied to lean software development
- Art: MA-Thesis / Master
- Autor: Frederik Dahlke
- Abgabedatum: Februar 2007
- Umfang: 73 Seiten
- Dateigröße: 913,9 KB
- Note: 1,3
- Institution / Hochschule: FOM - Fachhochschule für Oekonomie und Management Essen Deutschland
- Bibliografie: ca. 35
- ISBN (eBook): 978-3-8366-1196-1
- Sprache: Englisch
- Prämierung:
- Arbeit zitieren: Dahlke, Frederik Februar 2007: Eliminating waste in software projects: Effective knowledge management by using web based collaboration technology, Hamburg: Diplomica Verlag
- Schlagworte: Lean Knowledge Management, Lean Software Development, Enterprise 2.0, Web 2.0, collaboration technology
38,00 €
PDF-eBook Download: 38,00 €
MA-Thesis / Master von Frederik Dahlke
Abstract:
Today, in a typical software project, people do not document at all or invest a large amount of time to create documentation, which at the end proves to be not useful or undiscoverable for others.
The goal of documentation is to conserve knowledge and make this knowledge accessible for others, thereby easing collaboration. However, this goal is rarely achieved. The whole process of producing documentation and searching for valuable information is highly ineffective and means a lot of wasted time.
Often, in a shorthand approach, Word, Exel and Powerpoint files are used for documentation. Among these documents, information is not interconnected. As a consequence relevant information is hard to find. Full text searches take a long time and deliver poor results. Imagine searching all documents of a file server of a medium cooperation using the Windows Explorer search functionality. The search will probably run several hours and hardly deliver any useful results. If any information is found, it is hard to tell if the document is up to date, who changed the document last and what was changed. There is no automated mechanism to inform interested people about updates on any document or information.
Another approach is using proprietary knowledge management technology and collaboration software, like knowledge repositories. In the late nineties companies started to implement knowledge management strategies with heavy use of technology. The problem herein is that people have to be trained to use the knowledge management technology, learn and understand the underlying principles and additionally the handling of specific software. If the knowledge management technology is complex, it imposes an entry barrier. Using knowledge management technology will then be burden for a software development team. Since the pressure in a software development is high, it is unlikely that a team will be willing to invest much time for learning the technology and hence the pay off will never be realized. Furthermore if the basic principles and processes of a chosen technological approach turn out to be inadequate for a specific situation there is often no chance to adapt the knowledge management technology quickly. This finally can lead to a situation that the technology is not used at all, because at the end it is easier for workers to simply ask someone else they know.
Aim of this Book: This book will show if and how web technology can be used in order to support knowledge management, documentation and collaboration when applying the lean software development method Scrum and applying Mary and Tom Poppendieck’s lean software development principles.
Understanding the key concepts of lean software development is a prerequisite for defining workable knowledge management approach in such an environment. Hence, the lean software development principles and the lean software development method Scrum are analyzed and presented in section 2.1.
Second, considering the principles of lean management in the area of software development, an approach for lean knowledge management is derived. Section 2.2 presents eight lean knowledge management principles. These principles point out what can be done by a manager to control availability, distribution and transfer of knowledge in the most efficient way.
Third, section 2.3 explains the Web 2.0 principles and technology. These principles are the foundation for successful knowledge management technology in the Internet. It is shown what the prerequisites are to take Web 2.0 to the Intranet and create Enterprise 2.0 applications.
A traditional approach of documentation and knowledge management will be compared with the suggested lean, web based approach in section 3.1. The impact of both approaches on the fulfillment of the lean knowledge management principles is illustrated, emphasizing the benefit of lean knowledge management and Enterprise 2.0. Section 3.2 presents the basic setup of web based tools for effective knowledge management in software projects.
Section 4 will draw a conclusion on the subject and section 5 will suggest further development and research in the field of web based knowledge management and collaboration technology.
List of Contents:
| 1 | INTRODUCTION: INEFFICIENT KNOWLEDGE MANAGEMENT IN CORPORATE SOFTWARE PROJECTS VS. EFFICIENT KNOWLEDGE MANAGEMENT IN THE INTERNET | 2 |
| 1.1 | MOTIVATION | 2 |
| 1.2 | PROBLEM DEFINITION | 3 |
| 1.3 | AIM OF THIS BOOK | 5 |
| 1.4 | RESEARCH METHODS | 6 |
| 1.5 | DEFINITIONS | 6 |
| 2. | ANALYSIS: LEAN SOFTWARE DEVELOPMENT, LEAN KNOWLEDGE MANAGEMENT, AND ENTERPRISE 2.0 | 9 |
| 2.1 | LEAN SOFTWARE DEVELOPMENT | 9 |
| 2.1.1. | Lean Software Development Principles | 9 |
| 2.1.2. | A Lean Software Development Method: Scrum | 16 |
| 2.2 | LEAN KNOWLEDGE MANAGEMENT | 23 |
| 2.2.1. | Empirical Process Control Required for Successful Knowledge Management | 23 |
| 2.2.2. | Lean Knowledge Management Principles | 25 |
| 2.3 | WEB 2.0 BASED KNOWLEDGE MANAGEMENT FOR COMPANIES: THE ENTERPRISE 2.0 CONCEPT | 37 |
| 2.3.1. | Web 2.0: The Race for Collective Knowledge | 37 |
| 2.3.2. | Web 2.0: Dealing with Fast Changing Information | 42 |
| 2.3.3. | Web 2.0: Keeping Users Attracted | 45 |
| 2.3.4. | Enterprise 2.0: Web 2.0 in the Intranet | 46 |
| 3. | RESULTS: LEAN KNOWLEDGE MANAGEMENT IN A LEAN SOFTWARE PROJECT | 49 |
| 3.1 | THE BENEFIT OF ENTERPRISE 2.0 AND LEAN KNOWLEDGE MANAGEMENT | 49 |
| 3.2 | PUTTING IT TOGETHER: AN ARCHITECTURE FOR WEB BASED KNOWLEDGE MANAGEMENT | 56 |
| 4. | CONCLUSION | 61 |
| 5. | OUTLOOK | 63 |
Text Sample:
Chapter 2.1.2, A Lean Software Development Method: Scrum:
Scrum is an agile software project management method, which emphasizes iterative development. Because of its simplicity and focus Scrum has a proven success record. In his book Agile Project Management with Scrum Ken Schwaber presents a compilation of case studies where Scrum has helped to deal with critical situations in software projects. E.g. Schwaber describes the following situation at Service 1st:
Service 1st is a development organization which delivered a new release of its software every six months. The last two months of each development cycle meant very hard work for everybody at the company. At the end of the cycle the staff was typically total exhausted and the delivered software was buggy. The staff needed a couple of weeks to recover from the last development cycle.
This happened even though Service 1st planned each release in advance in detail. The work was divided into small tasks with little dependencies. Developers where told to work only on their tasks until the release was finished. Consequently required interaction between developers was very limited which was thought to help developers concentrating on their job.
But as a consequence developers felt isolated, and got little feedback about the total status of the next release, about what was important and what could be neglected.
Furthermore, it turned out that the project was so complex that the project plan was obsolete as soon as work started. Nevertheless people where told to work on their assignments. When the next delivery date approached management finally gave up the plan and rigid control. The staff then tried to make up for the things that weren’t completed within the first months.
This situation where detailed and sophisticated planning failed was finally solved by applying Scrum, which principles and rules are explained in the following:
The fundamental principle of Scrum is the concept of empirical process modeling. Empirical process modeling is used in situations where a process is complex, not understood, and the fundamental laws responsible for its behavior are unknown. Since an attempt to model such systems is not likely to deliver any useful results, a process is then treated like a black box and only its reaction to input is identified.
Scrum treats software development like a black box. That is, Scrum does not try to model the processes involved when software is developed. It rather focuses on controlling this complex process.
A Scrum project starts by compiling the product backlog. The product backlog lists the desired features of a software system, ordered by priority (business value). The product owner (customer) is responsible for the contents and prioritization of the product backlog.
The product owner presents the product backlog to the team, starting with the top requirement in the Sprint planning meeting. The Sprint planning meeting is held before each development cycle (a Sprint) and is time boxed to a maximum of eight hours.
A Sprint is typically a period of 30 consecutive days. All work in a Scrum project is done in Sprints.
During the Sprint planning meeting the team may ask questions about the items listed in the product backlog and make suggestions on further items to be added. After the team feels it has fully understood the requirements it decides which items can be completed during the next Sprint. The team commits itself to deliver the selected functionality at the end of the Sprint and creates a Sprint backlog, which contains the development tasks planned for the fulfillment of the requirements and assignments of these tasks to developers.
During the Sprint the team meets every day in a 15 minute meeting, the Daily Scrum. The goal is to synchronize work of the team members. Each team member has to answer three questions: „What do you have done on this project since the last Daily Scrum meeting? What do you plan on doing on this project between now and the next Daily Scrum meeting? What impediments stand in the way of you meeting your commitments to this Sprint and this project?”.
At the end of each Sprint the team presents in an informal Sprint review meeting the functionality developed to the product owner. The goal of the meeting is that the product owner and the team collaborate and define what the team should do next. This meeting is of significant importance for both customer and the development team. It offers a platform for feedback, information and expectation exchange. After the Sprint review meeting, the team gathers for a Sprint retrospective meeting. Here the team discusses how it can change its practices in the future – within the rules of Scrum – in order to be more effective.
The functionality delivered at the end of a Sprint has to be complete. Complete means in this respect, that no more additional work is left to do. E.g. a function has to be tested to be complete. Anything that is not complete will not be presented at the Sprint review meeting and is not considered to be done. This way Scrum assures that the customer is not tricked by presenting half finished functionality and the team does not pile up unfinished tasks.
Through the continuous inspection of results (daily) by those who actually work on the product Scrum assures that any problem will be visible very quickly. Since the team is responsible for delivering results and has the power as well as the knowledge to adapt further proceeding itself, problems are addressed immediately.
The customer is expected to review the results of the team every thirty days. He can rely on the fact that each time complete features are delivered. At this point he can also set new priorities according to his business needs. Because of the direct, face to face interaction between customer and developers it is assured that no knowledge or information is lost through intermediaries, be it people or documents.
Scrum fulfills most of the lean software development principles. It eliminates waste in terms of extra processes, because the process itself is very simple and the contact between developers and customer is intense and direct. Through the daily Scrum meetings and the review meetings learning is amplified. The team has constant feedback. Scrum is an iterative process and thereby ideal for learning. Scrum delivers results quickly and implements a simple pull system. Scrum empowers the team and the team itself is responsible for organizing its work. Scrum delivers flexibility and simplicity in planning, due to the short development cycles.
Scrum introduces few and simple rules and demands strict adherence to those rules. For example, stakeholders who are interested in project may attend Daily Scrum meetings, but are not allowed to talk. Developers who do not follow the rules of the Daily Scrum are to be removed from the development team. Scrum does not allow extending the time boxes defined for the different meetings.
Scrum itself introduces only three artifacts: the product backlog, the sprint backlog and a burndown chart. The burndown chart is used to measure the actual development speed of the team and estimate the final delivery of a software system which has to be developed in multiple sprints. It can also be used to measure if requirements keep on piling up.
The lean software development principles and the agile software development method Scrum so far did not introduce a complex set of different documents to be managed. Lean software development in particular discourages the creation of documentation if it does not directly add value for the customer. Since most communication and collaboration is done face to face one might question whether there is a chance for knowledge management or technology to manage documentation in a lean environment. The next section explains how knowledge management can be successful in a lean environment.
38,00 €
PDF-eBook Download: 38,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783836611961
Arbeit zitieren:
Dahlke, Frederik Februar 2007: Eliminating waste in software projects: Effective knowledge management by using web based collaboration technology, Hamburg: Diplomica Verlag
Schlagworte:
Lean Knowledge Management, Lean Software Development, Enterprise 2.0, Web 2.0, collaboration technology



