ebook img

Managing Software Process Evolution: Traditional, Agile and Beyond – How to Handle Process Change PDF

345 Pages·2016·7.89 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Managing Software Process Evolution: Traditional, Agile and Beyond – How to Handle Process Change

Marco Kuhrmann · Jürgen Münch Ita Richardson · Andreas Rausch He Zhang E ditors Managing Software Process Evolution Traditional, Agile and Beyond – How to Handle Process Change Managing Software Process Evolution ü ü Marco Kuhrmann J rgen M nch (cid:129) Ita Richardson Andreas Rausch (cid:129) He Zhang Editors Managing Software Process Evolution – Traditional, Agile and Beyond How to Handle Process Change 123 Editors MarcoKuhrmann Andreas Rausch University of SouthernDenmark Clausthal University of Technology, Odense Departmentof Informatics Denmark Clausthal-Zellerfeld Germany JürgenMünch Reutlingen University He Zhang Reutlingen NanjingUniversity Germany Nanjing China Ita Richardson University of Limerick Limerick Ireland ISBN978-3-319-31543-0 ISBN978-3-319-31545-4 (eBook) DOI 10.1007/978-3-319-31545-4 LibraryofCongressControlNumber:2016934950 ©SpringerInternationalPublishingSwitzerland2016 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpart of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission orinformationstorageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilar methodologynowknownorhereafterdeveloped. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publicationdoesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfrom therelevantprotectivelawsandregulationsandthereforefreeforgeneraluse. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authorsortheeditorsgiveawarranty,expressorimplied,withrespecttothematerialcontainedhereinor foranyerrorsoromissionsthatmayhavebeenmade. Printedonacid-freepaper ThisSpringerimprintispublishedbySpringerNature TheregisteredcompanyisSpringerInternationalPublishingAGSwitzerland Foreword Whether we like it or not, the business software is a fashion industry where new fadscomeandgo.Allofuscannameseveralofthemfromthepastyearsandshare the war stories about attempting to fix problems with the newest fad at everyone’s lips. Today some of these fads are called continuous deployment, lean startups, DevOps,flowandanyoftheJapanesesoundingconceptsfromtheleanvocabulary such as Kanban for some years now. So, who cares about software processes anymore? Back in the days of my software development in the 1990s in a 10-person software boutique producing production planning software for Nokia factories, I becameworriedaboutthequalityofoursoftwareandsharedmythoughtswiththe chief architect. He made me a quality manager for the company and a few weeks laterNokiaperformedanISO9001assessmentforourboutiqueandthesoftware.It turned out that we deviated in all other points but at least we had an appointed quality manager to worry about the results. Among others, we did not have pro- cesses in place. Later I made my Ph.D. in Software Process Improvement, became a certified BOOTSTRAPandSPICEassessor,anddiscoveredthatifthereisawaytoimprove performance, all sorts of process improvement endeavors are not the way forward. As much as we’d like, the processes are not tangible artifacts, they do not deliver software and when improved, we cannot quantify the results in order to determine whether we are developing better software than yesterday. The past decade and a half has still been mostly about the processes, methods, and tools; but in a refreshing way. Agile kicked out process developers and empowered developers to become concerned about the business of the company, the actual software development. Agile grew rapidly outside of its origins from small teams to larger teams, to organizations and to global software development. Yes, we still agree to disagree what exactly agile is and what it means in different contexts in precise terms. We have learned that each and every organization must defineitforthemselves.Thishasproventobepainfulbutnecessarywhentheideas of continuous improvement and learning organizations are nurtured. v vi Foreword I am glad to say that the industry is moving forward, academics are reforming the curriculums, practitioners are more involved than ever before, and improve- ments or even improvement leaps are being made. Thisiswherethebookatyourhandbecomesveryhandy.Itshowshowsoftware processes evolve and are impacted in various contexts and how this can be man- aged.Inaninterestingwaythebookcontributestotheerabeyondagile,whichwill bewelcomedbymany.Also,Ishouldnotethatthebookdoesnotattempttoanchor itself in one particular domain, context or business situation but offers different perspectives, which will benefit readers with different backgrounds. The editors have collected 15 chapters from authors that represent both the academic and the practitioner standpoints. Some of the chapters are refreshingly controversial and many provide also concrete guidance on how to make a lasting impact.Allofthechapterscommunicatethesameunderlyingmessage,whichIfeel is very important: “We must keep changing the way the software is being devel- oped.” Iparticularly appreciated thesense ofurgency topushtheindustry forward fromamultitudeofdifferentviewpoints.Whileallchaptershavetheirmerits,Iwill highlight a few that caught my attention: Anthony I. Wasserman (Chap. 1) presents the ultimate key question that has puzzledusforanumberofyears:“Howmuchprocessisneededbyanorganization for a particular project?”. In many ways he sets the stage for the remainder of the book by arguing that there are only a few places left where high-ceremony (a.k.a. traditional) processes are needed. Andreas Rösel (Chap. 5) challenges the reader by presenting an approach to guaranteeafailure whengiganticimprovementsshouldbesoughtbutwhenwe do not dare to take the risk. Many of the anti-tactics he identifies should be an eye-opener for software managers thinking about their improvement efforts. Christian Prause and his colleagues’ (Chap. 8) chapter, on the other hand, is an eye-opener for all those people who think software development is an easy endeavor. They describe their environment insightfully: “Scientific missions have no insurance; a second unit is never built. If the mission goal is not reached, for whatever reason, there is no second chance.” Software that needs to operate for decades in the outer space requires all the ceremonies invented but a smartway of executing them. Kai Petersen’s (Chap. 12) contribution should be an absolute read to all researchersandpractitionersinvolvedinacademia–industrycollaboration.Inavery practical way, he summarizes the literature on the topic but also adds his personal adviceonhowtheresearchdonebytheacademicscandeliverthemaximumvalue for the company. Yli-Huumo and his colleagues (Chap. 15) demonstrate how changes in the organization and the way the software is being developed do have a fairly direct impact on the technical debt that hinders the company to progress and move for- wardintheirdevelopment.Thereaderswillparticularlyenjoytheillustrativequotes from the interviews in three large companies. Foreword vii ComingbacktowhereIstarted,itturnsoutthatsoftwareprocesseshavebecome evermoretangibleandconcreteactionscanbetakenthatwillshowadifferencein the bottom line. The editors have put together a book that does a splendid job in fulfilling an evident gap in the current literature by shaping the state of the art in software process evolution scene. Whether you read this book from start to finish, or piecemeal your approach iteratively, I am sure you will find this book as valuable as I did. Trondheim, Norway Pekka Abrahamsson January 2016 Professor of Software Engineering Norwegian University of Science and Technology PS:IforgottoconcludethestoryabouttheISO9001assessmentinthesoftwareboutiquewhereI worked. After surviving the shock of being evaluated by Nokia, my company jumped in the processwagon,eventuallyIdepartedtopursueacademicstudies,andthecompanyendedupbeing recognizedbyInternationalQualityCrownawardin2008andArchofEuropeQualityawardin 2010.Thus,presentingahappyendingforoneprocessassessmentcase. Preface Imaginethishappenstoyou:Yourmanagertellsyou“Agileisthefuture!Let’sgo Scrum.” He forces you to replace the existing development process with Scrum. What would you do? Would you send your developers to a Scrum training course immediately? It is true that more companies are embracing agile as part of their development process in order to increase speed, accelerate learning, and deliver value rapidly. AndmanyofthesecompaniesareapplyingScrum.Butitisalsotruethatevolution doesnotfollowtheprinciple:“Progressivedinosaursarethefuture!Let’sgobird.”1 Evolving the ways through which software-intensive products and services are developedisachallengingendeavorthatneedstobedonecarefully.Wheredoyou start? What do you have to consider? Thisbookwillhelpyoubetterunderstandthedifferentaspectsandchallengesof evolving development processes. It addresses difficult problems, such as how to implement processes in highly regulated domains or where to find a suitable notation for documenting processes. This book emphasizes the need to consider Software Process Evolution as an important means for catching up with rapid changes intechnical and marketenvironments. It providesinsights that might help you manage process evolution. It gives plenty of tips, e.g., how to cope with the threat of disruption from a process perspective. In addition, it provides many examples and cases on how to deal with software evolution in practice. Why a Book on Managing Process Evolution? Many organizations need to transform their business to the next level. In order to benefit from leading-edge technologies, catch up with the digital transformation, and continuously innovate and renew business models, companies have to quickly 1QuotetakenfromatweetfromDavidEvans. ix x Preface adapt and change the ways they develop products and services. As software is the keytothistransformation,thewaysinwhichmodernsoftwareisdevelopedneedto change accordingly. Another important driver for process evolution is the need to mitigate software risks. Basically, a considerable share of software risk is process-based [3]. For example, there have been several incidents which could have been avoided with appropriate coding standards and tools. Although these standards and tools are widely available, they are either not applied or not appropriately applied in many situations. Because this is normally caused by the way work and people are organizedandworkiscarriedoutitisasoftwareprocessissue.Companiesneedto find ways to ensure that process models are properly defined and, furthermore, are appropriately applied while not hindering the creativity of, e.g., designers or developers. To do this effectively, defining and deploying adequate software pro- cesses usually requires fostering the evolution of existing processes and their underlying models towards ones that suit better. Today, there exists a variety of software processes ranging from generic and domain-specific standards, from agile methods to comprehensive process engi- neeringframeworks.Sincesoftwareprocessesmaycontainuptohundredsoreven thousands of elements, the management of a software process is a demanding task and, therefore, many companies install whole departments dealing with software process improvement and management. In practice, especially in large organiza- tions, we can observe some interesting gaps: (cid:129) Development teamstend toapplyagile methods whilethehosting organization focuses on “classic” structured development processes [5, 6]. (cid:129) Implemented development processes in projects differ from what has been defined [4]. (cid:129) Evolving software technologies and platforms require a parallel evolution of software processes to accommodate the rapid changes. However, this co-evolution does not appropriately take place. One main reason for these gaps is different mindsets. For instance, program man- agers and quality assurance people need planned and directed processes for certi- fication, budgeting, and compliance business. Developers need flexibility and processes which support creative work. Business managers need processes that allow for fast results and flexible feature delivery. Moreover, due to technology evolution, business evolves. This requires that emerging markets must be addres- sed, new technologies should be adopted, and globally distributed development becomes more and more important. Apart from the big “global players,” process evolution is also highly important for small and medium-sized companies. Such companies typically neither have comprehensive process models nor process engineering groups, and often have to trust in a common understanding of principles and applied practices. However, theseprinciplesandpracticesneedtobecontinuouslyvalidatedagainsthigherlevel goals (such as business strategies) and potentially changed in order to secure and maintain the company’s position in the market place [2]. One example for such a Preface xi change is the increasing focus on value-delivery [1]. Regardless of the company size, a major challenge that companies face is to provide all stakeholders with flexible processes that: (cid:129) Are driven by the needs of the different stakeholders, (cid:129) Have clear links to higher level goals of an organization, (cid:129) Provide interfaces that are compatible with organizational structures, (cid:129) Are supported by tools for modeling, enactment, analyses, and evolution, (cid:129) Can be tailored to individual project goals and characteristics, (cid:129) Offer adaptability and elasticityto accommodate and supporttechnological and organizational innovations and evolutions. This book focuses on the design, development, management, governance, and applicationof evolving software processesthat arealignedwith changing business objectives, such as expansion to new domains or moving to global production. In the context of evolving business, it addresses the complete software process life- cycle, from initial definition of a product to systematic improvement. Who Should Read This Book? This book is aimed at anyone interested in understanding and organizing software development tasks in an organization. The experiences and ideas in this book are useful for both those who are unfamiliar with software process improvement and wanttogetanoverviewofthedifferentaspectsofthetopic,andthoseexpertswith manyyearsofexperience.Inparticular,thepresentbookaddressesresearchersand Ph.D. students in the area of Software & Systems Engineering and Information Systems, who study advanced topics of organizing and managing (software development) projects and process improvements projects. Furthermore, the book addresses practitioners, consultants, and coaches involved in software-related change management and software process improvement projects, and who want to learn about challenges and state-of-the-art techniques and experiences regarding their application to problems in different application domains. How is the Book Organized? This book is organized in three parts (Fig. 1). Part 1 focuses on software business transformation,itschallenges,andaddressesthequestionsaboutwhichprocess(es) touseandadapt,andhowtoorganizeprocessimprovementprograms.InChap.1, Tony Wasserman discusses short lifecycle projects and how “low-ceremony pro- cesses” help shorting project iterations. In this context, in Chap. 2, Diebold and Zehlerdiscussthe“right”degreeofagilityinrichsoftwareprocesses—howtofind and how to achieve this. The challenge of implementing agile software

Description:
This book focuses on the design, development, management, governance and application of evolving software processes that are aligned with changing business objectives, such as expansion to new domains or shifting to global production. In the context of an evolving business world, it examines the com
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.