Table Of ContentArthur M. Langer
Guide to
Software
Development
Designing and Managing the Life Cycle
Second Edition
Guide to Software Development
Arthur M. Langer
Guide to Software
Development
Designing and Managing the Life Cycle
Second Edition
Arthur M. Langer
Center for Technology Management
Columbia University Arts & Sciences
New York , NY , USA
School of Professional Studies
Columbia University
New York , NY , USA
ISBN 978-1-4471-6797-6 ISBN 978-1-4471-6799-0 (eBook)
DOI 10.1007/978-1-4471-6799-0
Library of Congress Control Number: 2016947723
© Springer-Verlag London Limited 2012, 2016
The author(s) has/have asserted their right(s) to be identifi ed as the author(s) of this work in accordance
with the Copyright, Design and Patents Act 1988.
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of
the material is concerned, specifi cally the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfi lms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology
now known or hereafter developed.
T he use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specifi c statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
T he 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 authors or the
editors give a warranty, express or implied, with respect to the material contained herein or for any errors
or omissions that may have been made.
Printed on acid-free paper
This Springer imprint is published by Springer Nature
The registered company is Springer-Verlag London Ltd.
Pref ace
How to improve the quality and process of implementing enterprise software
remains a most challenging topic at conferences on information development and
business process reengineering. Over the past few decades, the question of how to
do this has only become more complex, especially with the growth of sophisticated
packaged software products in the market such as SAP and Oracle Financials. These
products, called Enterprise Resource Planning (ERP), claim to provide a quicker
and more cost-effective way to fully integrate software applications in all parts of
the business. Yet so many of them fail to be either chaeaper or faster by the time they
are put into production. Furthermore, the decision to make or buy software is not
simple, and in many cases, organizations now need to consider some combination
of both. Therefore, the problem that this book addresses is to how best determine to
make such decisions and what effect such decisions have on the Software
Development Life Cycle (SDLC). Although there are many different SDLC meth-
odologies, this book offers an integrated approach that includes the management
and decision practices that are critical for success. Accordingly, the roles of the
analyst and the project manager need to be linked throughout the SDLC. The objec-
tive, however, continues to be how information technology professionals can create
automated solutions that fi t user and customer needs. By suggesting that profession-
als may fi nd success in mixing methodologies, this book breaks important new
ground.
M any books written on this subject tend to focus too much on the mechanics of
how to do analysis or how to do project management, rather than on the art of per-
forming both functions successfully. As I have stated in previous books, the most
successful implementers are not necessarily the best technicians, but rather are
gifted individuals who have the ability and insight to extract information from users
and transfer their knowledge into logical solutions. But today even accurate require-
ments do not ensure success without quality management. The fi eld of information
technology is no longer new, and the time has come for education to focus on pro-
ducing quality products faster and cheaper. Thus, this book seeks to develop the
skills and insights that distinguish successful software implementations.
T his new edition identifi es many new alternatives for how to manage and model
a system using sophisticated analysis tools and advanced management practices. It
emphasizes how and when professionals can best apply them and what benefi ts can
be derived from their application. The book’s approach is to recommend that
v
vi Preface
analysts and managers must be agile, adopt risks in the analysis and design process,
and not overcommit to using any one methodology but rather learn to deal within
the constraints of the political and cultural realities of their organizations. It may
come as a surprise to many lay readers to learn that this approach is unique among
many textbooks. Yet the fact is that most books teach only a single method and
advocate the use of that method alone in all projects.
M ost important in this second edition are a number of new topics that are integral
to the software development process including such areas as cybersecurity, big data,
and digital transformation, as well as the importance of interfacing directly with the
consumers of the business. Indeed, we are now in the age of “digital consumeriza-
tion,” where all application design decisions will inevitably be determined by the
buyer, not the internal user. The challenge that this book addresses is how analysts
need to forecast or predict what consumers will need in the future. As such analysts
will need to take risks and understand that the predictive requirements they develop
will have a relatively short life, before new consumer needs make them obsolete.
Unfortunately, there are no magic bullets to successful predictions and failures will
occur. As a result, organizations must develop multiple initiatives to ultimately suc-
ceed. This can only happen when analysts can “sense” what consumers will need
and then design applications that “respond” quickly before these needs become
realities.
The Aim of This Book
The risks involved when making decisions about enterprise software solutions are
substaintial: those projects that involve reengineering activities have a failure rate of
over 50 %. Obviously, then, the stakes are very high, and identifying the sources of
failure can be invaluable. In general, I have found that project failures can be attrib-
uted to two major issues: (1) those that have diffi culty defi ning accurate business
requirements, and (2) those that have problems with managing change. Both of
these major challenges can be overcome by following many of the steps I have out-
lined in this book. This book is therefore meant to be a “how-to” guide taking theory
and applying it to the realities of practice. These reengineering failure rates should
not be confused with the failures of prediction discussed above.
T he book recognizes that there are few off-the-shelf products that can provide a
complete solution for any organization. Thus, most enterprise-level solutions will
be a combination of package and custom developed software. This “hybrid” realism
has changed the way professionals undertake the SDLC particularly as it relates to
selection of third-party vendors and the legal ramifi cations of working with outside
consultants. For this reason, the book includes subjects like build vs. buy, searching
for vendor solutions, and vendor contract considerations.
My enthusiasm for writing this book was supported by many of my students at
Columbia University who found that existing books on software development to be:
Preface vii
• Very hypothetical . Although they explain the methodologies and management
concepts, they do not provide enough concrete examples.
• Too technical. They do not deal with the political and cultural realities of how
things get done in organizations. Indeed, the objective of providing software
solutions is to service business units in organizations. The management side of
developing software solutions is as important as the technical side.
• Lacking modest but effective cases . The examples do not provide an understand-
ing of the technical and management concepts effectively or are too simplistic
for practice implementation.
The Intended Audience for This Book
This book assumes a reasonable understanding of computer and business concepts.
The material is presented to be used for an introductorary project management class
or analysis and design course in a university program. In addition, it can be used by
practicing information technology professionals or executives who are managing
software projects and need an in-depth understanding of the principles of the analy-
sis and design and project management processes. Furthermore, many business
managers who are also responsible for ERP-type projects may fi nd this book as a
way of developing a useful understanding of the requirements process as well as the
entire SDLC.
New York, NY, USA Arthur M. Langer
Acknowledgments
I want to acknowledge my students at Columbia University in the Executive Masters
in Technology Management program for their dedication and inspiration, and cer-
tainly for keeping me current in the evolving digital world. A special thanks is given
to the executive mentors who give their time to support our students so that we have
a next generation of IT leaders.
A special recognition is owed to Cali and Shane Caprio, my two grandchildren
who bring me joy every day.
New York City , NY , USA Arthur M. Langer
September 2016
ix
Contents
1 Introduction ............................................................................................. 1
What Is, Is ................................................................................................. 2
Just What Is a Complex Project? .............................................................. 4
Development ........................................................................................ 7
Testing .................................................................................................. 9
Production ............................................................................................ 9
Reference .................................................................................................. 18
Part I Determining Needs
2 Assessing Business Requirements .......................................................... 21
The Tiers of Software Development ......................................................... 21
User Interface ....................................................................................... 21
Tools ..................................................................................................... 22
Productivity Through Automation ....................................................... 22
Object Orientation ................................................................................ 22
Establishing User Interfaces ................................................................. 24
Forming an Interview Approach .......................................................... 25
Dealing with Political Factions ............................................................ 27
Categories and Levels of Users ................................................................. 28
Joint Application Development (JAD) ................................................. 31
Problems and Exercises ............................................................................ 36
3 Build Versus Buy ..................................................................................... 37
Drivers and Supporters .............................................................................. 42
The Supporter Side of Buying.............................................................. 43
Open-Source Paradigm ........................................................................ 44
Cloud Computing Options ................................................................... 45
Deployment Models ............................................................................. 46
Summary .............................................................................................. 47
Problems and Exercises ............................................................................ 47
References ................................................................................................. 48
xi
xii Contents
4 Establishing Requirements Using a Request for Proposal (RFP)
and a Request for Information (RFI) .................................................... 49
RFI ............................................................................................................ 49
RFP ........................................................................................................... 54
Requirements Document ...................................................................... 54
Problems and Exercises ............................................................................ 69
5 Searching for Solutions ........................................................................... 71
Selecting the Management Team .............................................................. 71
The Process of Due Diligence ................................................................... 72
Performing Reference Checks.............................................................. 73
Reviewing Financial Statements .......................................................... 73
Doing Bank References........................................................................ 74
Scheduling On-Site Demonstrations .................................................... 74
Scheduling On-Site Review at Vendor Site(s) ..................................... 75
Reviewing Vendor Training Capabilities ............................................. 75
Understanding the Product Upgrade Process ....................................... 75
General Questions to Ask..................................................................... 76
Understanding the Vendor Ownership ................................................. 76
Reviewing the Product’s Architecture and Design ................................... 76
Finding Vendors ........................................................................................ 77
Paying for a Plan ....................................................................................... 78
Summary ................................................................................................... 79
Problems and Exercises ............................................................................ 79
Reference .................................................................................................. 79
6 Controlling Costs and Realistic Budgeting ........................................... 81
Controlling Costs ...................................................................................... 89
Hardware and Infrastructure ..................................................................... 89
Software .................................................................................................... 90
Consulting Fees ......................................................................................... 91
Customization Costs ................................................................................. 91
The Balanced Scorecard as a Budget Tool ................................................ 92
Problems and Exercises ............................................................................ 97
References ................................................................................................. 97
7 Analysis Methods and Tools ................................................................... 99
The Concept of the Logical Equivalent .................................................... 99
Tools of Structured Analysis ..................................................................... 103
Making Changes and Modifi cations ......................................................... 104
Pre-Modeled ......................................................................................... 104
Legacy Systems .................................................................................... 106
The Data Approach .............................................................................. 106
The Process Approach.......................................................................... 108
Specifi cation Formats ................................................................................ 110
Problems and Exercises ............................................................................ 112