INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS

Similar documents
INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS

INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS

Introduction to Agile Software Development. EECS 690 Agile Software Development

Abdulrahman M. Qahtani, Gary B. Wills, Andrew M. Gravell School of Electronics and Computer Science, University of Southampton, UK

Agile in Financial Services A Framework in Focus

Incorporating Agile Methods in Large-Scale Systems

PMP vs. Scrum Master

Agile Project Management: Adapting project behaviors to the software development environment

Scrum and Agile methods The real world

D25-2. Agile and Scrum Introduction

Agile QA s Revolutionary Impact on Project Management

Software Engineering Process Economy & Quality

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Agility? What for? And how? > Warm-up Session Agile Tour Vienna 2014

History of Agile Methods

PENETRATION TESTING IN AGILE SOFTWARE DEVELOPMENT PROJECTS

The Role of Plan-Based Approaches in Organizing Agile Companies

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

SAFETY & RESILIENCE ISSUES IN AUTOMOTIVE SOFTWARE DEVELOPMENT PANEL

INF5120 Modellbasert Systemutvikling

Software processes that are:

TecEd White Paper User-Centered Design and the Agile Software Development Process: 7 Tips for Success

Agile Project Management

Agile & the Declaration of Interdependence: A new approach to Process Improvement

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Scrum for Managers, Zurich March 2010

Agile teams: Do s and don ts in agile software development

Agile user-centred design

Agile to the Bone. Introduction to Agile by Pietari Kettunen

How To Model In An Agile World

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

PROJECT RISK MANAGEMENT MODEL BASED ON PRINCE2 AND SCRUM FRAMEWORKS

SWEN - Software Engineering Network Donnerstag 06. Mai. 2010

A Conceptual Model for Agile Practices Adoption

Agile Project Management Jim Highsmith. Chapter 1. The Agile Revolution

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

"Bezpieczny Projekt"

User and Client Satisfaction in Agile Development

On the Agile Development of Virtual Reality Systems

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

Persona driven agile development

Embracing Agile Development of Usable Software Systems

Business Architecture: a Key to Leading the Development of Business Capabilities

WHITEPAPER GET MORE WORK DONE: A MANAGER S GUIDE TO MIXING AGILE AND WATERFALL

STATE OF MICHIGAN SUITE

Risk Management. What is risk? Boehm s Top 10 Risks [P2] Welcome to Lecture 3 Risk management & Agile PM

Orthogonal Defect Classification in Agile Development

A PROJECT APPROACH FOR IMPLEMENTATION OF GIS THE MAIN PRINCIPLES OF PRINCE2 AND SCRUM METHODS

How To Plan A Project

Agile Software Development Methods, Comparison with Traditional Methods & Implementation in Software Firm

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

AGILE - QUICK GUIDE AGILE - PRIMER

Agile project management is a style of project management that focuses

Comparative Analysis of Agile Software Development Methodologies-A Review

What does it mean to be Agile. Marek Majchrzak, Andrzej Bednarz Wrocław,

SUCCEEDING IN SOFTWARE DEVELOPMENT PROJECTS

Laboratório de Desenvolvimento de Software

A Study of the Agile Software Development Methods, Applicability and Implications in Industry

MODELING VIRTUAL ORGANIZATION ARCHITECTURE WITH THE VIRTUAL ORGANIZATION BREEDING METHODOLOGY

LEAN AGILE POCKET GUIDE

Understandings and Implementations of Continuous Delivery

Waterfall to Agile. DFI Case Study By Nick Van, PMP

HEW 6. Manager, Digital Comms, Design and UX. Provide web insights and analytics to enable evaluation, monitoring, compliance and improvement.

Agile Testing and Extreme Programming

State of Michigan (SOM) SUITE Agile Process Guide. Version 1.0. July Department of Technology, Management & Budget

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Knowledge Acquisition and Management

An Introduction to Scrum

ECSS Standard Compliant Agile Software Development

Case Study on Critical Success Factors of Running Scrum *

Agile Execution for and Beyond IT

Application Overhaul. Key Initiative Overview

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

AGILE PRODUCTIVITY METRICS

Multi-Dimensional Success Factors of Agile Software Development Projects

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Incorporating Agile Methods into the Development of Large-Scale Systems

EXIN Agile Scrum Foundation

Lean UX - The Next Generation of User-Centered Agile?

Agile project portfolio manageme nt

Framework for Agile Methods Classification

BCS Foundation Certificate in Agile Syllabus

Introduction to Agile Scrum

Measuring the Impact of Scrum on Product Development at Adobe Systems

4 (4) Ekonomia XXI Wieku. Economics of the 21st Century

An Agile Project Management Model

On the Convergence of Collaboration and Knowledge Management

Performance Management Systems: Conceptual Modeling

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

An Overview of Quality Assurance Practices in Agile Methodologies

Agile Methods and CMMI: Compatibility or Conflict?

Software Quality and Agile Methods

Agile Software Development in the Large

the team level and is characterized by self organizing, cross functional teams doing iterative development in what are called Sprints.

The UKSG TRANSFER Project: collaboration to improve access to content

Agile Based Software Development Model : Benefits & Challenges

Agile Software Development

Release Notes Applied SAFe 4.0

Experiences of Using Extreme Programming to Support a Legacy Information System Migration Project

FAO Competency Framework

Transcription:

INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS Publishing House of Wrocław University of Economics Wrocław 2012

Copy-editing: Agnieszka Flasińska, Elżbieta Macauley, Tim Macauley Layout: Barbara Łopusiewicz Proof-reading: Barbara Cibis Typesetting: Małgorzata Czupryńska Cover design: Beata Dębska This publication is available at www.ibuk.pl Abstracts of published papers are available in the international database The Central European Journal of Social Sciences and Humanities http://cejsh.icm.edu.pl and in The Central and Eastern European Online Library www.ceeol.com Information on submitting and reviewing papers is available on the Publishing House s website www.wydawnictwo.ue.wroc.pl All rights reserved. No part of this book may be reproduced in any form or in any means without the prior written permission of the Publisher Copyright Wrocław University of Economics Wrocław 2012 ISSN 1507-3858 The original version: printed Printing: Printing House TOTEM Print run: 200 copies

Table of contents Preface... 7 Iwona Chomiak-Orsa, Wiesława Gryncewicz, Maja Leszczyńska: IT tools in the virtualization of the software implementation and maintenance process... 9 Cezary Hołub: The importance of AOP in SOA architecture... 21 Dorota Jelonek: The role of the Internet in open innovations models development... 38 Ilona Pawełoszek: Selected issues of sharing process knowledge in modern organizations... 48 Łukasz D. Sienkiewicz: Collaboration between the Scrum and third party services in the network organization... 59 Leszek Ziora: The concept of Real-time Business Intelligence. Review of practical applications... 67 Streszczenia Iwona Chomiak-Orsa, Wiesława Gryncewicz, Maja Leszczyńska: Narzędzia informatyczne wykorzystywane w procesie wirtualizacji wdrażania i utrzymania oprogramowania... 20 Cezary Hołub: Znaczenie AOP w architekturze SOA... 36 Dorota Jelonek: Rola internetu w rozwoju modeli innowacji otwartych... 47 Ilona Pawełoszek: Wybrane zagadnienia współdzielenia wiedzy procesowej w nowoczesnych organizacjach... 57 Łukasz D. Sienkiewicz: Kolaboracja pomiędzy Scrumem a usługodawcami zewnętrznymi i wewnętrznymi w organizacji sieciowej... 66 Leszek Ziora: Koncepcja Business Intelligence czasu rzeczywistego. Przegląd wybranych zastosowań... 75

INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS 1(23) 2012 ISSN 1507-3858 Łukasz D. Sienkiewicz Wrocław University of Economics e-mail: lukasz.sienkiewicz@ue.wroc.pl COLLABORATION BETWEEN THE SCRUM AND THIRD PARTY SERVICES IN THE NETWORK ORGANIZATION 1 Abstract: Many scientific publications demonstrate the Scrum as the best method for managing software development. Nevertheless, the original Scrum method is not sufficient for managing work in the network organization where stakeholders may know nothing about the Scrum or even Agile. In this paper, we use the 3C model to determine how the teamwork of third party services and other Scrum players looks. We believe that will help in finding a more satisfactory approach for managing software development in a strongly distributed environment (i.e. network organization). Key words: 3C model, collaboration, cooperation, communication, coordination, Scrum, third party service, network organization, Agile, software developments. 1. Introduction We believe that the success of the project in many cases depends on the proper selection of the software development method [Guntamukkala, Wen, Tam 2006]. This is very important especially in a Network Organization where a distributed environment brings the threat that other participants will not respect the Scrum rules. In this paper, we analyze the Scrum and Kanban as Agile methods introduced in the network organization: We refer to the network organization and determine how the third party services collaborate in an Agile environment. We use the 3C model (i.e. Communication, Coordination, Cooperation) [Lucena et al. 2008] to classify collaboration, with an emphasis on the teamwork types between Scrum roles. We believe that the improvements proposed in this paper will help in the better understanding of the software development method in network organizations and will be the basis for more empirical research. 1 Selected parts of this article were published under nonexclusive copyright in in FEDCSIS 2011 proceedings [Sienkiewicz, Maciaszek 2011].

60 Łukasz D. Sienkiewicz 2. Network organization We consider the network organization as a pattern of social relations over a set of persons, positions, groups, or organizations [Sailer 1978; Van Alstyne 1997] with long-term arrangements between related for-profit organizations (i.e. firms), in order to gain or sustain a competitive advantage [Jarillo 1988] and to facilitate goaloriented processes and activities [Van Alstyne 1997]. From our point of view, it is very important to point out that participants of the network organization might be another network organization or organizations. 2.1. The relationship between Agile, Kanban and Scrum In order to highlight the relationship between the impact of Agile, engineering practices, Kanban and Scrum in the network organization, we can use the Three Level Framework [Rummler, Brache 1995]. The framework takes the Scrum viewpoint and distinguishes between three types of layers introduced in [Sienkiewicz, Maciaszek 2011] and is presented in Figure 1. Organization Level Process Level Agile Scrum Kanban Job/Performer Level Engineering Practices Figure 1. Relationship between Agile, engineering practices, Kanban and Scrum in terms of Three Level Framework Source: own elaboration based on [Rummler, Brache 1995]. By the Agile environment on the organization level we understand all the activities which are additional to Scrum or Kanban (e.g. HR, financial, accounting, capability management, etc.) and relate to the organizational point of view (i.e. market, competitive advantage, priorities, products and services) [Sienkiewicz, Maciaszek 2011]. We treat Kanban and Scrum as two separate software development methods implemented on the same level (i.e. the process level). Thus, we can expect that both are some kind of series of steps, rules and artifacts that are used by teams (e.g. Scrum Team, Kanban Team) to produce the product or service.

Collaboration between Scrum and third party services in network organization 61 The third level (i.e. job/performer level) represents all undertakings and practices (e.g. pair programming, code review, demo sessions, continuous integration, TDD) essential to achieving the goals propagated from the process level. Considering relationships between Agile, engineering practices, Kanban and Scrum, a network organization follows the Agile principles and implements good practices from the Scrum and Kanban as a method for managing teamwork (i.e. job/ performer level). 2.2. Third party services in the network organization The network organization lies halfway between vertical integration and market disaggregation that together help in building packets of entities, in accordance with the nature of the provided services or relation between the vendor/supplier and receivers. In the paper by Sienkiewicz and Maciaszek [2011] we propose to distinguish two types of third party services provided for software development in the network organization: internal services time-consuming activities, additional to the entire project, usually provided by subunits of a large company (e.g. UX expertise, internal testing, ICT support, etc.), Third Party Services Internal Services External Services System Testing UX Expertise Translation Testing ICT Support Configuration Authorized Computer Service Figure 2. Example of relationship between third party services in network organization Source: own elaboration.

62 Łukasz D. Sienkiewicz external services not covered by Internal Services, handled by other firms (e.g. authorized computer service, external testing service, translation of UI texts, etc.). Figure 2 presents an example of a relationship between the third party services. It is important to highlight here that both internal and external services may involve other third party services, which in turn may adversely affect the software development process by a deterioration of quality, changes in the scope and increasing delays in the schedule. The companies that see their units as separate profit or cost centres, may encourage the units to sell their services outside the company, and by operating within the market improve performance, better manage the prices and earn money for the whole organization. This kind of relation usually establishes a long-term relationship between suppliers and helps in building proper cooperation between service providers and other participants of the network organization (ref Section 3.3). In the next section we will focus on teamwork in terms of core Scrum roles and third party services (i.e. organizations/groups within the network organization), in regard to the proposed mix of the Scrum-based model [Sienkiewicz, Maciaszek 2011]. 3. Communication, Coordination, Cooperation and Collaboration the main differences We distinguish the terms coordination, communication and cooperation and we use the 3C model (i.e. Communication, Coordination, Cooperation) [Lucena et al. 2008] to classify collaboration, with an emphasis on the group work implementation proposed by the authors of [Camarinha-Matos, Afsarmanesh 2006, 2008; Camarinha- Matos et al. 2009]. For a better understanding of the differences between these terms, we can use the following definitions proposed by [Camarinha-Matos, Afsarmanesh 2006, 2008; Camarinha-Matos et al. 2009] in the context of Scrum: Communication (alias networking) is a way how information is exchanged and used for sharing facts, human experience and practices as well as feelings and rumors, for mutual benefit. It relates to how information is shared and how people understand each other [Denise 1999]. People can benefit from information exchange even without common goals and the common generation of value [Camarinha-Matos et al. 2009]. Coordination in addition to exchanging information, it achieves efficiency of aligning and altering activities, which influences the efficiency of the achieved results. Each entity might use different resources and methods to create values or achieve goals at an individual level. There is a correlation between coordination and results like in the traditional Scrum approach where the Scrum master is coordinating Scrum team work by facilitating the whole Scrum process. We deal

Collaboration between Scrum and third party services in network organization 63 with coordination in the case of Scrum master work. The main responsibility of the Scrum master is to facilitate the work of the Scrum team, what in many cases means coordinating the Scrum team and others in following the Scrum rules. Cooperation is a process that involves sharing resources and adjusting activities for achieving compatible results, which provide efficiency for the cooperating entities. The work divides between the involved entities, thus aggregated value is the sum outcomes generated by all participants in a nearly independent manner. A traditional Scrum software development method, based on the client-supplier relationship and the prescriptive roles is an example of the cooperative process, especially when we consider developing from scratch. This usually means that at the very beginning both the client and the supplier do not know what the result will be. Therefore, each participant performs its part of the work in cooperation with others (e.g. the product owner is defining the scope, the Scrum team delivers a demo based on it, etc.). Thus, as an outcome we have a sum of measurable results. Of course, this does not preclude the existence of a common plan, which usually is roughly defined by a single entity (i.e. the customer) and requires co-working, especially when the results of one are delivered to the others. We can say that the goals are compatible as long as the results of the participants in a value chain lead to the end-product or service [Camarinha- Matos, Afsarmanesh 2006]. Due to the fact that obtaining collaboration between third party services in a network organization is very hard, that kind of teamwork should be introduced and maintained between all third party service providers involved in software development. th Collaboration 4 item in 3C model which is described as a collaboration triangle [Camarinha-Matos, Afsarmanesh 2006], is the process where entities are sharing information, resources and responsibilities as well as designing and implementing activities, which are crucial to achieving common goals. This concept derives from the Latin word collaborare and means to work together, seen as a process of shared creation where a set of entities increase the capabilities of themselves and the others. For the outside observer, collaboration gives the image of a joint identity with the mutual engagement of all participants. We know that building mutual trust takes time but effort and dedication as well as solving problems together, help in building commitment of all the involved entities although value creation is an effort of a team rather than individual contributions. A collaboration process happens for instance in concurrent engineering, when a team of experts jointly develop a new product. From this example it can be noticed that although some coordination is needed, collaboration, due to its joint creation facet, involves seeking divergent insights and spontaneity, and not simply a structured harmony [Camarinha-Matos, Afsarmanesh 2006]. This kind of teamwork should be introduced between all stakeholders. Therefore, reaching a high level of collaboration is crucial for the customer representatives and the developing team. In our Scrum-based approach [Sienkiewicz, Maciaszek 2011]

64 Łukasz D. Sienkiewicz the collaboration is a prerequisite for the product owner, Scrum Master and the Scrum team. The introduced 3C model is a guide to understanding teamwork in application software development. The authors of the paper [Fuks et al. 2005]wrote: While communicating, people negotiate and make decisions. While coordinating themselves, they deal with conflicts and organize their activities in a manner that prevents loss of communication and of cooperation efforts. Cooperation is the joint operation of members of the group in a shared space, seeking to execute tasks, generating and manipulating cooperation objects. The need for renegotiating and for making decisions about non-expected situations that appear during cooperation may demand a new round of communication, which will require coordination to reorganize the tasks to be executed during cooperation. 4. Related work In literature, a few researchers have already studied the way of adapting the Agile practices in virtual organizations and virtual teams. Usually, Agile software development methods are introduced as a set of principles that need to clarify many different interpretations of the Agile Manifesto [Beck et al. 2001]. Although it is very difficult to determine what exactly is an Agile methodology and how it should be introduced in network organizations. In our research we focus mostly on the main representatives of Agile software development methodology, and due to the lack of a method dedicated to managing the distributed software development in network organizations, we have selected one (i.e. the Scrum) as the best representative and the Kanban approach as an addition. Of course, we agree with the Scrum advocates that following the Agile Manifesto principles is possible only because the Scrum defines precisely the essential roles, principles and artifacts, what makes the method very prescriptive for managing software development. In addition to the traditional Scrum, we propose to add a new role (i.e. third party service provider S) and some extra rules for adapting the Scrum and third party services to the network organization. By referring to the network organization and third party services, we determine how they interrelate with the Scrum and Agile environment. The publication by W. Cellary and W. Picard achieves the agility and pro-activity by introducing the model of Collaborative Network Organization that provided the stimulus for us for reflection about the third party services provider role that is simultaneously a part and a whole in the network organization. H. Fuks et al. and C. Lucena et al. introduce an approach based on the 3C (i.e. Cooperation, Communication, Coordination) model to the development of collaborative systems [Lucena et al. 2008; Fuks et al. 2005]. The authors studied the 3C model by means of a detailed analysis of each of its three elements, followed by a case study of learningware application and the methodology of a web-based course,

Collaboration between Scrum and third party services in network organization 65 both designed based on this model. From our point of view, the most interesting is the 3C collaboration model instantiated for teamwork. This interpretation of collaboration and its iterative nature seems to be adequate to our understanding of the dependencies between Scrum roles and other stakeholders (e.g. The participants obtain feedback from their action and feedthrough from the action of their companions by means of awareness information related to the interaction among participants [Fuks et al. 2005]. The idea of collaboration has also been examined by L.M. Camarinha-Matos and H. Afsarmanesh in several papers [Camarinha-Matos, Afsarmanesh 2006, 2008; Camarinha-Matos et al. 2009]. They describe the concepts related to CNOs (i.e. Collaborative Network Organizations), that provide a high-level classification of collaborative networks, and present an application case in the manufacturing industry. The fundamental assumption of those papers is that a substantial increase in the materializing networked collaborative business ecosystems requires a comprehensive holistic approach. In our further research, we will use the definition proposed by them (mentioned in Section 3) to extend the definition of a relation, between the layers in our Scrum-based model described in [Sienkiewicz, Maciaszek 2011]. 5. Conclusions In this paper we have used the 3C model to distinguish teamwork types between Scrum players. By extending our previous research from (Sienkiewicz & Maciaszek, 2011) we highlighted the differences between teamwork within each entities which take part in application software development. Because there is no easy way to adapt the Scrum software development method to work in the Network Organization, we believe that our approach can serve to advance research and help in finding the best solution. References Beck K., Beedle M., Van Bennekum A., Cockburn A., Fowler M., Grenning J., Highsmith J., Hunt A., Jeffries R., Kern J., Marick B., Martin C. R., Mellor S., Schwaber K., Sutherland J., Thomas D., Manifesto for Agile Software Development, http://agilemanifesto.org, 2001. Camarinha-Matos L.M., Afsarmanesh H., Collaborative networks value creation in a knowledge society, [in:] K. Wang, M.W.G.L. Kovacs, M. Fang (Eds.), Knowledge Enterprise: Intelligent Strategies in Product Design, Manufacturing, and Management, Vol. 207, Springer, Shanghai 2006, pp. 26 40. Camarinha-Matos L.M., Afsarmanesh H., Classes of Collaborative Networks, [in:] G.D. Putnik, M.M. Cunha (Eds.), Encyclopedia of Networked and Virtual Organizations, Vol. 1 A-F, IGI Global, New York 2008. Camarinha-Matos L.M., Afsarmanesh H., Galeano N., Molina A., Collaborative networked organizations concepts and practice in manufacturing enterprises, Computers & Industrial Engineering 2009, Vol. 57, No. 1, pp. 46 60.

66 Łukasz D. Sienkiewicz Denis L., Collaboration vs. C-three (Cooperation, Coordination, and Communication), Innovating 1999, Vol. 7, No. 3. Fuks H., Raposo A., Gerosa M., Lucena C., Applying the 3C model to groupware development, International Journal of Cooperative Information Systems 2005, Vol. 14, No. 2 3, pp. 99 328. Guntamukkala V., Wen J., Tam M.J., An empirical study of selecting software development life cycle models, Human Systems Management 2006, Vol. 25, No. 4, pp. 268 278. Jarillo C., On strategic networks, Strategic Management Journal 1988, Vol. 9, pp. 31 41. Lucena C., Fuks H., Raposo A., Gerosa M., Pimentel M., The 3C Collaboration Model, [in:] N. Kock (Ed.), Encyclopedia of E-Collaboration, IGI Global, 2008, pp. 637 644. Rummler G.A., Brache A.P., Improving Performance How to Manage the White Space in the Organization Chart, Jossey Bass, San Francisco 1995. Sailer L.D., Structural equivalence: Meaning and definition, computation and application, Social Networks 1978, Vol. 1, No. 1, pp. 73 90. Sienkiewicz L.D., Maciaszek L.A., Adapting Scrum for third party services and network organizations, Proceedings of the Federated Conference on Computer Science and Information Systems, IEEE digital library, Szczecin 2011, pp. 329 336. Van Alstyne M., The state of network organization: A survey in three frameworks, Organizational Computing 1997, Vol. 7, No. 3, pp. 88 151. KOLABORACJA POMIĘDZY SCRUMEM A USŁUGODAWCAMI ZEWNĘTRZNYMI I WEWNĘTRZNYMI W ORGANIZACJI SIECIOWEJ Streszczenie: Wiele opracowań naukowych przedstawia Scrum jako najlepsze podejście do wytwarzania oprogramowania. Mimo to, metoda Scrum nie jest optymalnym podejściem do zarządzania pracą w organizacji sieciowej, gdzie interesariusze mogą nie wiedzieć nic o metodzie Scrum czy metodologii Agile. W publikacji tej użyliśmy modelu 3C w celu określenia typów współpracy pomiędzy uczestnikami procesu Scrum i innymi usługodawcami (zarówno wewnętrznymi, jak i zewnętrznymi). Wierzymy, że przedstawiona analiza pomoże znaleźć lepiej dopasowane podejście do zarządzania wytwarzaniem oprogramowania w bardzo rozproszonym środowisku (tj. organizacji sieciowej). Słowa kluczowe: model 3C, kolaboracja, kooperacja, komunikacja, koordynacja, Scrum, usługodawcy wewnętrzni-zewnętrzni, organizacja sieciowa, Agile, wytwarzanie oprogramowania.