Product software implementation method

Last updated

A product software implementation method is a systematically structured approach to effectively integrate a software based service or component into the workflow of an organizational structure or an individual end-user.

Contents

This entry focuses on the process modeling (Process Modeling) side of the implementation of “large” (explained in complexity differences) product software, using the implementation of Enterprise Resource Planning systems as the main example to elaborate on.

Overview

A product software implementation method is a blueprint to get users and/or organizations running with a specific software product.

The method is a set of rules and views to cope with the most common issues that occur when implementing a software product: business alignment from the organizational view and acceptance from human view.

The implementation of product software, as the final link in the deployment chain of software production, is in a financial perspective a major issue.

It is stated that the implementation of (product) software consumes up to 1/3 of the budget of a software purchase (more than hardware and software requirements together).

Implementation complexity differences

The complexity of implementing product software differs on several issues. Examples are: the number of end users that will use the product software, the effects that the implementation has on changes of tasks and responsibilities for the end user, the culture and the integrity of the organization where the software is going to be used and the budget available for acquiring product software.

In general, differences are identified on a scale of size (bigger, smaller, more, less). An example of the “smaller” product software is the implementation of an office package. However there could be a lot of end users in an organization, the impact on the tasks and responsibilities of the end users will not be too intense, as the daily workflow of the end user is not changing significantly. An example of “larger” product software is the implementation of an Enterprise Resource Planning system. The implementation requires in-depth insights on the architecture of the organization as well as of the product itself, before it can be aligned. Next, the usage of an ERP system involves much more dedication of the end users as new tasks and responsibilities will either be created or shifted.

Examples of other "larger" product software are:

Software customization and Business Process Redesign

Process modeling, used to align product software and organizational structures, involves a major issue, when the conclusion is drawn that the product software and the organizational structure do not align well enough for the software to be implemented. In this case, two alternatives are possible: the customization of the software or the redesign of the organizational structure, thus the business processes.

Customizing the software actually transforms the product software in tailor-made software, as the idea of standardized software no longer applies. This may result in loss of support on the software and the need to acquire consultancy when issues arise in the usage of the software. Customizing however results in a situation where the organizational integrity is not adjusted, which puts less pressure on the end users, as less changes or shifts in workflows are required. This fact may positively add to the acceptance of any new (product) software application used and may thus decrease the implementation time and budget on the soft side of the implementation budget.

Redesigning business processes is more sensible for causing resistance in the usage of product software, as altered business processes will alter tasks and responsibilities for the end users of the product software. However, while the product software is not altered, better support, training and service levels are possible... because the support was created for the specific integrity of the software.

Implementation Frameworks

The guiding principle versus the profession

Another issue on the implementation process of product software is the choice, or actually the question, to what extent an implementation method should be used.

Implementation methods can on the one hand be used as a guiding principle, indicating that the method serves as a global idea about how the implementation phase of any project should run. This choice leaves more room for situational factors that are not taken into account in the chosen method, but will result in ambiguity when questions arise in the execution of the implementation process.

On the other hand, methods can be used as a profession, meaning that the method should be taken strict and the usage of the method should be a profession, instead of a guiding principle. This view is very useful if the implementation process is very complex and is very dependent on exact and precise acting. Organizational and quality management will embrace this view, as a strict usage of any method results in more clarity on organizational level. Change management however might indicate that more flexibility in an implementation method leaves more room for the soft side of implementation processes.

Implementation frameworks

Apart from implementation methods serving as the set of rules to implement a specific product or service, implementation frameworks serve as the project managed structure to define the implementation phase in time, budget and quality.

Several project management methods can serve as a basis to perform the implementation method. Since this entry focuses on the implementation of product software, the best project management methods suitable for supporting the implementation phase are project management methods that focus on software and information systems itself as well. The applicability of using a framework for implementation methods is clarified by the examples of using Dynamic and static systems development method (DSDM) and Prince2 as project management method frameworks.

DSDM

The power of dynamic systems development method is that the method uses the principles of iteration and incremental value, meaning that projects are carried out in repeating phases where each phase adds value to the project. In this way implementation phases can be carried out incrementally and add value to important project aspects such as the degree of acceptance, awareness and skills within every increment [F. Von Meyenfeldt, Basiskennis project management, Academic Service 1999]. In addition to the management of chance scope, increments are also usable in the process modeling scope of implementation phases. Using increments can align process models of business architectures and product software as adding more detail in every increment of the phase draws both models closer. The DSDM also has room for phased training, documentation and reviewing.

Prince2

As with DSDM, the Prince2 method acknowledges implementation as a phase within the method. Prince2 consists of a set of processes, of which 3 processes are especially meant for implementation. The processes of controlling a stage, managing product delivery and managing stage boundaries enable an implementation process to be detailed in with factors as time and quality. The Prince2 method can be carried out iteratively but is also suitable for a straight execution of the processes.

The profits for any implementation process being framed in a project management framework are:

Clarity

An implementation framework offers the process to be detailed in with factors such as time, quality, budget and feasibility.

Iterative, incremental approach

As explained, the possibility to execute different phases of the implementation process iteratively enables the process to be executed by incrementally aligning the product to be implemented with the end-user (organization).

Embedded & Generic methods

One way to implement product software is through usage of an embedded method or model. Embedded models are part of the auxiliary materials (see: definition of product software) that come with the software package.

Implementing a software product using an embedded model implies not only that the model is (mostly) only usable with the specific software product, but also that the product can or should only be implemented using the model. Embedded methods can thus be seen as very specific ways implementing product software.

Examples of software products with an embedded method are:

Implementing SAP (SAP R/3), using the ARIS embedded model.

Implementing the Baan ERP system, using Dynamic Enterprise Modeling (DEM).

Implementing Oracle E-Business Suite, using Oracle Application Implementation Method (AIM).

Generic implementation methods are not meant for a specific software product but for common usage in implementing product software products. This usage is going to be elaborated on using the example of implementing product software using Object Process Methodology. This methodology is very useful in for example ERP modeling: the modeling of ERP systems in order to implement it into an organizational structure.

Assessments

Using an embedded method brings the power that the method is designed to implement the software product that the method comes with. This suggests a less complicated usage of the method and more support possibilities. The negative aspect of an embedded method obviously is that it can only be used for specific product software. Engineers and consultants, operating with several software products, could have more use of a general method, to have just one way of working.

Using a generic method like ERP modeling has the power that the method can be used for several ERP systems. Unlike embedded methods, the usage of generic methods enables engineers and consultants that operate in a company where several ERP systems are implemented in customer organizations, to adapt to one specific working method, instead of having to acquire skills for several embedded models. Generic methods have however the lack that implementation projects could become too situational, resulting in difficulties and complexity in the execution of the modeling process, as less support will be available.

Related Research Articles

<span class="mw-page-title-main">Enterprise resource planning</span> Corporate task of optimizing the existing resources in a company

Enterprise resource planning (ERP) is the integrated management of main business processes, often in real time and mediated by software and technology. ERP is usually referred to as a category of business management software—typically a suite of integrated applications—that an organization can use to collect, store, manage and interpret data from many business activities. ERP systems can be local based or cloud-based. Cloud-based applications have grown in recent years due to information being readily available from any location with Internet access. Traditional on-premises ERP systems are now considered legacy technology.

Project management is the process of leading the work of a team to achieve all project goals within the given constraints. This information is usually described in project documentation, created at the beginning of the development process. The primary constraints are scope, time, and budget. The secondary challenge is to optimize the allocation of necessary inputs and apply them to meet pre-defined objectives.

<span class="mw-page-title-main">Iterative and incremental development</span> Development methodology

Iterative and incremental development is any combination of both iterative design or iterative method and incremental build model for development.

A software company is an organisation — owned either by state or private — established for profit whose primary products are various forms of software, software technology, distribution, and software product development. They make up the software industry.

The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.

The following outline is provided as an overview of and topical guide to software engineering:

<span class="mw-page-title-main">Systems development life cycle</span> Systems engineering terms

In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life cycle, is a process for planning, creating, testing, and deploying an information system. The SDLC concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.

<span class="mw-page-title-main">Product lifecycle</span> Duration of processing of products from inception, to engineering, design & manufacture

In industry, product lifecycle management (PLM) is the process of managing the entire lifecycle of a product from its inception through the engineering, design and manufacture, as well as the service and disposal of manufactured products. PLM integrates people, data, processes, and business systems and provides a product information backbone for companies and their extended enterprises.

In software development, agile practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/end user(s), adaptive planning, evolutionary development, early delivery, continual improvement, and flexible responses to changes in requirements, capacity, and understanding of the problems to be solved. Popularized in the 2001 Manifesto for Agile Software Development, these values and principles were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban.

<span class="mw-page-title-main">Dynamic systems development method</span>

Dynamic systems development method (DSDM) is an agile project delivery framework, initially used as a software development method. First released in 1994, DSDM originally sought to provide some discipline to the rapid application development (RAD) method. In later versions the DSDM Agile Project Framework was revised and became a generic approach to project management and solution delivery rather than being focused specifically on software development and code creation and could be used for non-IT projects. The DSDM Agile Project Framework covers a wide range of activities across the whole project lifecycle and includes strong foundations and governance, which set it apart from some other Agile methods. The DSDM Agile Project Framework is an iterative and incremental approach that embraces principles of Agile development, including continuous user/customer involvement.

Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed. It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing.

Dynamic enterprise modeling (DEM) is an enterprise modeling approach developed by the Baan company, and used for the Baan enterprise resource planning system which aims "to align and implement it in the organizational architecture of the end-using company".

Phased adoption is a strategy of implementing an innovation in an organization in a phased way, so that different parts of the organization are implemented in different subsequent time slots. Other concepts that are used are: phased implementation, phased conversion, phased approach, phased strategy, phased introduction and staged conversion.

Parallel adoption is a method for transferring between a previous (IT) system to a target (IT) system in an organization. In order to reduce risk, the old and new system run simultaneously for some period of time after which, if the criteria for the new system are met, the old system is disabled. The process requires careful planning and control and a significant investment in labor hours.

Big bang adoption or direct changeover is when a new system is adopted instantly, with no transition period between the old and new systems.

Internet-Speed Development is an Agile Software Development development method using a combined spiral model/waterfall model with daily builds aimed at developing a product with high speed.

A glossary of terms relating to project management and consulting.

In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.

The following outline is provided as an overview of and topical guide to project management:

SAP implementation refers to the name of the German company SAP SE, and is the whole of processes that defines a method to implement the SAP ERP enterprise resource planning software in an organization. The SAP implementation method described in this entry is a generic method and not a specific implementation method as such. It is based on best practices and case studies from various literature sources and presents a collection of processes and products that make up a complete implementation method to allow any organization to plan and execute the implementation of SAP software.