This book is about complexity in Information Systems (IS). The subject is addressed from both conceptual and applied perspectives. Concepts are drawn from information theory, industrial design and software engineering. Its content capitalizes on experiences gathered by the authors during various contracting jobs involving software architecture, modeling and IS architecture that were conducted for large organizations in the banking and industry sectors, as well as in the public sector. The authors develop the point of view according to which mastering complexity involves two essential steps: first, one should develop a clear understanding of the real nature of complexity within the IS; second, one should identify the primary causes which contribute to its uncontrolled growth and organize these into a logical framework, in order to define efficient countermeasures. Both technical and psychological causes of complexity are to be considered. Two themes make up the main thread of the book: complexity and value. Both themes are quite common when considered separately, but their interplay remains a largely unexplored topic.
The analysis of this interplay is one of the sources of originality of this book.
Pirmin Lemberger is Research Director at Alcyonix, SQLi's Group Consulting branch, Paris, France Mederic Morel is Managing Director, SQLi's Group Consulting branch, Paris, France
Foreword xi Pascal GROJEAN Preface xv Chapter 1. Why Simplicity? 1 1.1. Solving conflicting requirements 1 1.2. Three periods in IS management 5 1.3. And now simplicity! 10 1.4. Plan of the book 13 Chapter 2. Complexity, Simplicity, and Abstraction 17 2.1. What does information theory tell us? 17 2.2. What does the design tell us? 33 Chapter 3. Value or Values? 77 3.1. Who is concerned? 79 3.2. Concepts of value for an IS 80 3.3. Are these values sufficient and independent? 90 Chapter 4. Promoting Value Through Simplicity 97 4.1. Growing technical heterogeneity 100 4.2. Changing requirements 121 4.3. Human factors 131 Chapter 5. Simplicity Best Practices 149 5.1. Putting simplicity principles into practice 149 5.2. Defining a generic IS 149 5.3. A simplicity framework 152 Conclusion 173 APPENDICES 177 Appendix 1. Digging into Information Theory 179 Appendix 2. Two Measures of Code Complexity 195 Appendix 3. Why Has SOA Failed So Often? 207 Bibliography 219 Index 221