Skip to main content
main-content

Über dieses Buch

This book discusses smart, agile software development methods and their applications for enterprise crisis management, presenting a systematic approach that promotes agility and crisis management in software engineering. The key finding is that these crises are caused by both technology-based and human-related factors. Being mission-critical, human-related issues are often neglected. To manage the crises, the book suggests an efficient agile methodology including a set of models, methods, patterns, practices and tools. Together, these make a survival toolkit for large-scale software development in crises. Further, the book analyses lifecycles and methodologies focusing on their impact on the project timeline and budget, and incorporates a set of industry-based patterns, practices and case studies, combining academic concepts and practices of software engineering.

Inhaltsverzeichnis

Frontmatter

Chapter 1. The Agile Way

Abstract
This chapter gives an overview of the concept of enterprise agility and how this gives organizations more flexibility. This includes an in-depth evaluation of modern enterprises and a few case studies on how organizations failed to adopt agile principles which led to disastrous consequences, and ways to avoid their mistakes based on the research in this field. Another key area of this chapter deals with crisis resistant strategies and their links to enterprise architectures. Discussion of mission-critical systems is included in this chapter to allow further understanding of how to increase scalability and avoid potential design errors. Case studies in the bridge construction sector illustrate crisis management and agility improvement. The chapter also focuses on digital art integrity and blockchain technology application to secure voting. The other areas we discuss include decentralized applications and human-related sentiment analysis.
Sergey V. Zykov

Chapter 2. Agile Languages

Abstract
This chapter classifies programming languages and outlines their application for software development. It overviews the domain specific languages and illustrates this concept with the case studies on inter-process communication and embedded system development. The focus is on further agility improvement by means of special purpose languages and crisis-responsive development environments.
Sergey V. Zykov

Chapter 3. Agile Services

Abstract
This chapter describes the best practices for enterprise software development. We discuss Microservices and how they improve organizations by providing more security and further efficiency benefits; we examine how service-oriented architecture (SOA) and Microservices differ from the monolithic approach and where they are applicable. Another section of this chapter is dedicated to the continuous delivery and continuous integration of the software development lifecycle. We present a detailed case of Microservices in the banking sector and investigate how these help to meet the rapidly changing business requirements. Further, we analyze customer relationship management integration with geo-marketing and their synergistic effect on the business. Finally, we discuss cloud services and particularly virtual machines and test how they help improving enterprise agility.
Sergey V. Zykov

Chapter 4. Agile Patterns and Practices

Abstract
This chapter focuses on how agile best practices depend on human-related factors; we integrate this approach with design patterns and see how that can be used to improve the overall agility. We use the same high level layer-based pattern as we did for languages in Chap. 2 and for services in Chap. 3. We discuss the concept of knowledge transfer and provide a case study on the key factors which promote this transfer in crisis. We look at how these factors can be applied to a Russian startup—Innopolis ecosystem, and how the project can be improved with more flexibility. Further information on knowledge transfer is given through a case study on open education resources including massive open online courses. Finally, we discuss patterns and anti-patterns in crisis to improve the agility and efficiency of software development in mission-critical systems. Our discussion embraces agile transformation of the software system for air communication management, which is a human factor-dependent domain.
Sergey V. Zykov

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise