|
System Development Strategies for 21st Century Enterprises
Published: July 1, 2004
Published in TDAN.com July 2004
Enterprise Architecture and Enterprise Engineering achieve Business Integration in the enterprise for more effective Technology Integration. Before we examine these further, we first need to review the evolution of Systems Development Methodologies in the Information Age. Methodologies evolved from the start of the Information Age to help us examine current manual processes so we could automate them. From rudimentary methodologies in the 1960s, by the 1970s these had evolved into the Software Engineering methods. Michael Jackson, Ken Orr, Ed Yourdon, Tom de Marco and others were key originators of Software Engineering methodologies: also called Structured Methods. These methods analyzed manual processes, documenting them with Data Flow Diagrams (DFDs) and Functional Decomposition Diagrams (FDDs). The structure of modular programs to automate these processes was documented using Structure Charts (SCs). Programs were then written in various programming languages to execute the automated processes. As discussed in the last issue of TEN, in automating manual processes AS-IS, we moved from manual chaos to automated chaos. This was due to the fact that common manual processes, used in various parts of the enterprise, had often evolved in quite different ways. For example, a process to manually accept an order (an Order Entry Process) may be carried out differently according to how the order was received: by mail; or by phone; or instead from a salesperson. The Order Entry Process may also be carried out differently depending on the specific products or services that were ordered. The result was the evolution of different manual processes, all intended to achieve the same objective: Accept an Order for Processing. When these manual processes were automated, we found we also had many automated Order Entry Processes, all intended to Accept an Order for Processing. We had lost sight of the principle of Reusability, first identified by Adam Smith in his book, "Wealth of Nations", published in 1776 and discussed last issue. This added to the automated chaos: when a change had to be made to a process, the same change had to be made to every version of that process throughout the enterprise. Every program that automated the different versions of the process had to be changed, often in slightly different ways. The result was also chaos: Program Maintenance Chaos! With Software Engineering, each DFD that was defined for a process identified the data that it needed: as Data Stores. Each different version of the same process resulted in a different data store version of required data. Redundant data versions were implemented for each automated process. In fact, we earlier saw this problem start to emerge with the 19th Century industrial enterprise: we discussed last issue that Insurance and Bank workers each kept a separate hand-written Applicant Ledger or Customer Ledger to answer queries. What was the result? With these redundant data versions, we moved to Data Maintenance Chaos! Whenever a change had to be made to data values for maintenance purposes, such as by changing a customer’s address, every version of that address had to be changed. This was redundant data maintenance processing. It required redundant staffing to do this redundant work. And because redundant data maintenance programs were developed independently, these data maintenance workers also had to be trained in the different operating procedures that were used for data entry by each redundant data maintenance program. This resulted in redundant training. This approach to systems development has lead to the major problems that we have today of redundant data and processes with stovepipe systems. All of these redundant costs are regularly incurred by every enterprise today: in redundant data maintenance costs for redundant data value changes; and in redundant staffing and redundant training to carry out this redundant work. These are all redundant costs. They negatively affect the bottom line - in reduced profits for Commercial enterprises, or in reduced cost-effectiveness for Government or Defense enterprises. In this same period - from the late 60s through the early 70s, Edgar Codd (recently deceased) was a Research Fellow at IBM San Jose Labs where he developed the Relational Model from set theory. This was the foundation of the Relational Data Base technology that we use today. The first Relational Data Base Management (RDBMS) systems were released by IBM Corporation (IBM DB2 RDBMS) and by Oracle Corporation (Oracle RDBMS) in the late 70s and early 80s. From the mid 70s, three approaches emerged to apply concepts of the Relational Model to the methods that were used for Data Base Design. One approach was developed in UK and Europe; another approach was developed in the USA; and a third approach was developed independently in Australia. Each addressed development of Data Modelling methods, using Normalization to eliminate redundant data versions. The Australian approach also evolved into integrated methods for information, using a rigorous engineering discipline, called: Information Engineering (IE). Originally developed from 1976 by Clive Finkelstein, IE was popularized world-wide throughout the 1980s by James Martin. Further books showed the use of Business-Driven Information Engineering. This latter IE variant evolved into what is today called: Enterprise Engineering. We will now review the Systems Development strategies that are used today. Systems Development Strategies Used TodayThe approach that is used to design and build enterprise systems with traditional systems development methods is summarized below:
This approach to Systems Development is Technology-Dependent, and has resulted in problems:
In fact, problems with traditional development methods are much greater than suggested above. The business needs have traditionally been decided by reviewing the operational processes of the business. These processes were determined based on strategic plans typically defined many years ago, sometimes even a decade ago. Yet in the early 90s we had no idea - not even in our wildest predictions of the future - that we would today be able to communicate instantly with customers, suppliers and business partners anywhere in the world, through the Internet. The environment that we accept today as the norm was way beyond our most fanciful imagination. Fact is sometimes stranger than fiction. The strategic plans defined in the 90s did not anticipate that these organizations would today communicate with each other in seconds. They assumed communication would be as it had always been, by mail - or later by fax - with responses received days or weeks later. The most rapid response these business processes assumed was at best in hours. The business processes we still use today were never designed to respond in seconds. This point is critical: The traditional systems development approach - interviewing users based on existing business processes and then identifying their future needs - does not work well in periods of rapid change, such as today. In fact I will make this point stronger: If we base our needs for the future on operational processes that we still use today - we are implicitly assuming that the future will be similar to the past. This is dangerous; very few industries and enterprises can say today that their future will be like their past. Most know that the future will be different. The only certainty we have is that the processes we need then will be quite different from the processes we use today. This brings us to a very important principle for change:
We must design for tomorrow based not on operational processes still used today. We have to design for tomorrow by using new reusable activities and processes that are tailored for the
environment of the Internet - which represents our present and our future - so that enterprises can respond in seconds or minutes, not in days or weeks.
We must design for a future where the only thing that remains constant - is change itself. Businesses must change, to compete with other organizations in their relevant markets. This is certainly true for Commercial organizations, which compete with other organizations. It is true for Government Departments that compete with other departments for government funding. And it is also true for Defense, which competes with hostile Defense forces, and also with friendly Defense forces for limited resources. Competition today demands systems that can change easily to support rapid business change. Many of these business changes may need significant change or redevelopment of systems. Yet most of those systems were not designed for change. Existing systems may need massive modification to support essential business changes. Often it is faster to throw existing systems away and start over again: developing new systems from scratch. This is slow and very costly. The advantages and benefits of Technology were not clear in the early 90s to many senior managers. It was sometimes difficult to get funding approval for new projects and funding for the resources that are vital for success. But the Internet and the Year 2000 problem in the late 90s both demonstrated to management the dramatic impact - both positive and negative - that Technology can have on the enterprise. We have taken a bottom-up view with traditional methods in building systems for the enterprise. We looked at the existing systems - whether manual or automated. From this bottom-up view, we looked at ways in which current manual or automated systems have been implemented. We then examined ways to improve these systems: either by automating manual systems; or by using technology to improve existing automated systems. By designing for tomorrow based on the existing business processes of today, we are basing our designs for the future on plans set perhaps a decade ago. Those plans never contemplated the rapid change environment that we operate under, today. And we already know that the business processes we have today do not enable the business to change rapidly. So the key questions for the future that present themselves to us today are these:
Systems Development Strategies for TomorrowSolutions to the above questions - so our enterprises can respond effectively in an environment of rapid business change - must address the following imperatives:
If this is done, Technology can offer competitive advantage: it can be used to help achieve the strategic business plans and corporate goals, with new activities and processes that respond in seconds or minutes - not in days or weeks. Enterprise Engineering resolves many of these problems with Systems Development today. It enables Business Experts and IT Experts to work together in a Design Partnership - using Enterprise Engineering driven by Strategic Business Plans that set directions for the future. Enterprise Engineering supports: Enterprise Architecture; Business Re-Engineering; Forward Engineering; and Reverse Engineering. These business-driven methods are used to:
Enterprise Engineering provides strategic business planning methods so that the IT Department can participate in strategic business planning with management. It enables IT to build systems based on Strategic Plans so that those systems are aligned with corporate goals. Technology can then offer competitive advantage - used to help achieve the strategic plans and corporate goals. We will now examine the Business-Driven Enterprise Engineering methodologies in more detail. These methods support all phases of the Systems Development Life Cycle (SDLC). Figure 1 illustrates that Phases above the line are Technology-Independent methods and focus on the business. They apply to Rows 1 - 3 (Planner, Owner and Designer) of the Zachman Framework for Enterprise Architecture. These methods are Strategic Business Planning, Data Modelling and Function Modelling:
Figure 1: Enterprise Engineering supports the Zachman Framework for Enterprise Architecture,
with rapid implementation of priority Enterprise Architecture areas The above phases of Figure 1 define Technology-Independent business requirements and address Enterprise Architecture Rows 1-3. Phases below the line in Figure 1 are Technology-Dependent and address the Enterprise Architecture Rows 3-5 (for Designer, Builder and Subcontractor). These methods address Component Design and Systems Implementation:
The result of these Enterprise Engineering methods for the 21st Century Enterprise is the rapid identification of reusable business activities and business processes that can be implemented once, yet shared many times enterprise-wide. Redundant data versions and their consequent redundant processes are eliminated. Business objects are implemented once only, yet shared enterprise-wide. These are the business objects whose identification has been so elusive, when approached traditionally using object-oriented methods from a bottom-up perspective. The same object-oriented methods are now able to implement these business objects rapidly as reusable business processes, with reusable data and methods. Changes can be applied rapidly; once changes have been made to relevant business objects, all systems in the enterprise that share those same business objects immediate operate using these changes. Alternatively, Business Process Management (BPM) languages used for Service-Oriented Architecture (SOA) can be automatically generated as executable XML-based code directly from Workflow Models. These BPM languages can also be automatically generated now directly from UML diagrams. Two examples are: executable Business Process Specification Schema (BPSS) code, as defined for ebXML; and Business Process Execution Language for Web Services (BPEL4WS, or just BPEL) derived from UML diagrams, as developed now by IBM following its purchase of Rational. Another example is automatic generation of executable BPEL code by Microsoft from BizTalk Process Orchestration diagrams using BizTalk Server 2004. The overall result of using Enterprise Engineering with Enterprise Architecture - building systems based on strategic plans for the future as described above - is dramatic savings in development time and cost. Redundant data maintenance costs are eliminated, with further large cost savings in operational processing experienced with today’s stovepipe systems. And the business objects that have been implemented once, yet shared enterprise-wide, permit rapid business change - in days and sometimes hours, no longer in months or years as we have with today’s stovepipe systems. Summary of Systems Development StrategiesI will summarize the overall messages for the future, drawn from previous TEN issues. Please refer to these past issues at http://www.ies.aust.com for the underlying arguments that support this brief summary.
The key messages that I want to leave you with - for evolution to the 21st Century Enterprise - are therefore these:
Rather than 18th Century processes that we have today in most enterprises, the end-result will be integrated 21st Century Enterprises, together with integrated 21st Century Processes that can be implemented easily, yet changed rapidly and often.
Previously published in "The Enterprise Newsletter" (TEN). TEN is a free Electronic Newsletter that is issued quarterly and sent via email. http://members.ozemail.com.au Go to Current Issue | Go to Issue Archive Recent articles by Clive Finkelstein
Clive Finkelstein -
Clive is acknowledged worldwide as the "father" of information engineering, and is Managing Director of Information Engineering Services Pty Ltd in Australia. He has more than 45 years of experience in the computer industry. Author of many books and papers, his latest book, Enterprise Architecture for Integration: Rapid Delivery Methods and Technologies, brings together the methods and technologies for rapid delivery of enterprise architecture in 3-month increments. Read the book review at http://www.ies.aust.com/ten/ten32.htm. Project references, project steps and descriptions are available from http://www.ies.aust.com. Click on the Projects link from any page. Clive may be contacted at cfink@ies.aust.com.
|