A successful software organization is one that consistently deploys quality software that meets the needs of its users in a timely and predictable manner with an efficient and effective use of resources. Modeling, especially in this case Enterprise Unified Process is a central part of all of the activities that lead up to the development, implementation, and deployment of good software. And this paper examines how it might be a better fit for the OPQ’s online grocery project.

The Enterprise Unified Process (EUP) is an extension to the industry standard IBM Rational Unified Process (RUP). Whereas the RUP defines a very good software development lifecycle, the EUP extends it to cover the entire information technology (IT) lifecycle to include the operation and support of a system after it is in production and its eventual retirement (i.e. to release a product into production and retire an existing system or product respectively) (Ambler et al, 2005). Thus providing a mechanism for true IT governance for projects such as the OPQ e-business project. Since OPQ has more that one system that is not properly coordinated, EUP is the best choice in this case because it has the ability to handles cross-system enterprise issues such as portfolio management, enterprise architecture, and strategic reuse. This is effectively addressed by the seven new enterprise management disciplines that have been added to EUP.

Some of the reasons as to why EUP modeling is a good fit for the OPQ e-business project is due to the following: EUP helps identify areas of OPQ’s business that needs be improved either through targeted automation or wide-scale business process reengineering. That is, it defines the roles that people fulfill, the activities that they perform, and the artifacts that they create to develop, operate, and support one or more computer systems.

EUP provides important information to project teams that can help them to delimit the scope of their project, in particular helping them to identify how their effort fits into the overall business. In addition, it easy to determine if a EUP team is on track or not, and redirect them if required. Therefore, the delivery of high quality working software, which meets the actual needs of stakeholders, is delivered early and regularly following the EUP modeling. In relation to the above is that EUP emphasizes collaborative development where teams work together modeling with each other, thus promoting the concept that teamwork is better than individuality.

EUP enables projects to be developed iteratively thus allowing risks to be addressed on priority basis. If there is a question about whether or not a requirement can be met or a technical challenge can be overcome, it can be addressed in an early iteration.  Testing for and catching defects early is much more efficient than a comprehensive approach to testing at the end. This allows for a constant measuring of progress, as iterations have a fixed time window and a specific goal to be met. For example in Webvan’s web applications, reusable components define the structure and attributes of a particular type of page element. These components can use data repositories that contain attribute values, such as field labels and titles; which must exist completely in the background and remain invisible to the user interface. But a developer must know that these are essential to the consistent and efficient implementation of accessibility features.

EUP offers a better choice for change management. In software development, change must be expected and handled appropriately for a project to run smoothly and to take advantage of changes that may give them a competitive advantage. A wide range of artifacts - documents, models, plans, tests, code, etc… will potentially be affected by any changes. In OPQ’s case, the process must address the following questions: who must give input for the change decision? who must be notified once the decision is made? When, how, and in how much detail will the notice be given? For example, accepting a change to a code module will require retesting the module. You must notify the test team, who should at least have a say in the scheduling. Since EUP allows systems to be developed in smaller iterations, you can react to any changes and therefore build software without loosing focus of the project’s primary objective.

With EUP, use case models can be used for business process modeling, such tools as data flow diagrams (DFDs) and UML activity diagrams should be used to either represent the logical business process i.e. what needs to be completed or present the physical modeling, which focuses on how the processes are accomplished. Modeling helps people envision and think through concepts and then share those ideas with others. This allows developers in OPQ’s case to see the project beyond its development while working with operations and support professionals to ensure that their needs are met. Hence, enabling the building and deployment of a system within the architecture and IT infrastructure guidelines. Modeling can be done with high-powered, GUI-based software applications or can simply be sketches on whiteboards.

EUP allows developers to integrate operations and support into their software lifecycle; this leads to increased end user productivity by responding to their feedback. End user requests for fixes and enhancements are automatically included in the requirements for new releases of systems and ensure that their needs don’t slip through the cracks.

Further, EUP reduces time to deliver systems. An improved enterprise-level software process will reduce a developers overall time to deliver systems for several reasons.  (Ambler et al, 2005). First, an improved portfolio management approach enables you to identify projects, which are more likely to succeed, reducing the change of late and/or cancelled projects.  This means that all OPQ’s proposed investments are consistently evaluated against an agreed set of criteria, resulting in an objective measure of an investment's goodness. This helps in rationalizing of OPQ’s existing investments that can result in near-term savings of 10-20% of the OPQ’s portfolio value. Thus freeing up funds to invest in innovations that contribute to business transformation.

Second, an effective enterprise architecture strategy enables a developer to work to a common platform, reducing the learning curve of project teams.  Strategies are useful for OPQ’s in identifying business and IT requirements currently and in the future by examining the forces shaping the external environment: by increasing information content in products, value networks, and/or leveraging technologies to create new products, or sharing knowledge, and capabilities across business units and partners. SOA and service-oriented computing must be a part of IT strategies; it requires dreamers, business executives, IT executives, and architects who see IT not how it is, but how it ought to be.

Third, improved reuse increases software development velocity by enabling a developer to take advantage of existing assents instead of creating systems from scratch each time. OPQ should use an iterative approach to project management, which breaks down large projects into smaller components thereby simplifying the task. All this leads to reduced costs, thus realizing a significant increase on ROI

Enterprise modeling (EM) has long been recognized as a valuable activity. However, the current situation in this domain prevents us from getting the most benefits from EM. Many enterprise-modeling languages exist and offer similar but slightly different constructs for modeling. EUP is a very good option for this Webvan project because it enhances the capabilities of the Zachman Framework (ZF) by focusing on its strengths and addressing its weaknesses (Ambler et al, 2005). By replacing the six rows of ZF with the sixteen disciplines of the EUP, a more finely detailed collection of views provided. This helps to address the structural issues of a project design and remove the data-oriented bias of the ZF, making it clear that you have more options available to you than data-oriented artifacts.

Reference:
Ambler, S.W. (2002). Agile Modeling: Best Practices for the Unified Process and Extreme Programming. New York: John Wiley & Sons.
www.ambysoft.com/agileModeling.html

Ambler, S.W., Nalbone J., and Vizdos, M. (2005) Enterprise Unified Process Extending the Rational Unified Process. Upper Saddle River, NJ: Prentice Hall PTR
 http://www.enterpriseunifiedprocess.com/downloads/eupIntroduction.pdf

McGover, J., Ambler, S. W., Stevens, M. E. Linn, J., Sharan, V. and Elias, J. K. (2004).
A Practical Guide to Enterprise Architecture. Prentice Hall Upper Saddle Rive