Software Reuse Law, ERP Implementation Failure, And Mitigating Project Risks

Software Reuse Law

Write about the Principles of Software Engineering for Manufacturing and Development.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

The law states that software reuse increases quality and productivity and reduces cycle time. The law was formally drafted in 1968 and this is still valid today. The reason will be discussed below. There is a need to understand what software reuse is. Existing software system can be used to create new systems rather than building particular software from scratch. Mcllroy’s vision stated that off-the-shelf components should be used as building blocks in brand new systems and modifications within the new system would in a way that is controlled (Sametinger, 1997). One of the major limitations of this law is that it failed to address that development of components is also critical. Components that are deemed to be the building blocks need to be upgraded too. Generative reuse is much more beneficial than compositional reuse. This type of reuse will increase productivity factor is software. One of the major advantages that this law brings is that it improves quality considerably since there is accumulation of error fixes because of reuse after reuse.  

This law states that the prime source of project failures is deficiency in requirements. This law basically explains that during the course of software development, certain properties a software development system must have. The first phase is the requirement phase and the task of this phase is to investigate all the question s that start from ‘W’. Questions like- (what type of users’ use it, what features it can provide and after final development where the final product can be used). It is very important that requirements are constantly checked and updated till it is finalized (“Modularity – OSGi™ Alliance”, 2018). Irrelevant data, incomplete or inadequate data may lead to errors in the next phase that is the development phase. As an example- For creating a software for senior citizens, unknowingly small fonts and dark colors are put then old age people will face difficulty in reading the text. This is the reason why requirements must be clear.

A healthcare service company that goes by the name of FoxMeyer was the 5th largest drug wholesaler in the US (United States).  Its annual sales were around 5 billion United States dollar (Hamrouni, 2018). Around five hundred thousand items were shipped daily. At that time there was fierce competition and the company needed to make some complex supply chain decisions. Because of the reasons stated above the company decided to bring in ERP (Enterprise resource planning) software.  ERP is complex software and there is a need to discuss few points about ERP. ERP is a type of business process management software. It allows an organization to manage business and automate some function by the use of integrated applications (“What is ERP – Enterprise Resource Planning? Webopedia”, 2018). Functions are related to services, human resource and technology. Product planning, manufacturing, development, marketing and sales are all taken care by the Enterprise resource planning software. This type of software is specifically designed for use by a large organization. Because of the immense benefits that an Enterprise resource provides FoxMeyer decided to implement the system. It was expected from company’s end to eliminate redundant or unnecessary activities, to implement customer services that are more responsive and finally to set up inventory levels that are appropriate. This was a multimillion dollar project and was the considered a unique one in the pharmaceutical industry. SAP implementation for the company was budgeted at 65 million United States dollars. It was projected that if the enterprise resource system implementation was successful, then it would save around 40 million United States dollars for the company known as FoxMeyer. The budget also includes 4 million US dollars for software, 4.8 million US dollars for client/server computer system, few millions of dollars as consulting fees and 18 million United States dollars for a new three forty thousand square foot warehouse that is computerized. The failure of the project was due to deficiency in requirements, implementation and planning. Under planning the reasons identified was poor selection of Enterprise resource planning, lack of contingency plans and no end user involvement was there. Under implementation the reasons identified was insufficient testing, No restructuring of the business process, and dominance of information technology specialists’ own interest, lack of end user cooperation, overly ambitious project scope and poor management support. For the company, the project was a resounding failure with the total bill amounting to 100 million United States dollars. This was mainly because of faulty implementation of enterprise resource planning system. The company, FoxMeyer, was able to salvage only half of the projected amount and after that few months later the company had to file for bankruptcy.   

Limitations of Software Reuse Law

This portion will try to recommend few strategies that will mitigate the risk of project failures. The first step should be about choosing the right project. Questions like- (what type of users’ use it, what features it can provide and after final development where the final product can be used should be addressed). Identifying the causes that leads to a project failure is an important step towards mitigation. Inadequate communication, failure to identify document and track requirements, poor plans and planning process, lack in resources, project managers who are trained inadequately or might be inexperienced, technology illiteracy, poor budget management, lack of sound sponsorship, quality control that is poor and finally ignoring the impact of change. Inadequate communication is one of the main reasons for project failures (“Mitigation Strategies for the Top 10 Causes of Project Failure | Sirius Computer Solutions”, 2018). A large number of people across the enterprise could be affected which mainly depends on the deliverables of the project and the objective. Therefore atypical plan for communication should include project risk identification, management, assessment, project status report, project scope change management, Issue and action item reports and management and project kick offs and orientation.  Additionally, there are few strategies that can be implemented before the project goes live. There are always some risks present and this is the reason why an adequate risk management should be there. In order to manage risks, 3 big areas need to be accounted for. These three areas are- risk in execution, risk in integration and risk in the unknown. Hereby, a framework is proposed that would mitigate the risk. First one is identifying the risk. The second one is analyzing the risk that has been identified and its impact on the project. Third one should be prioritizing the risk, which is ranking the risk in term of damage they can cause to the project (Wakeman, 2018). The fourth one is mitigating the risk. The most challenging risk should be taken first and then actively working towards it before they can cause any damage. The most important point is monitoring the risk. There is a need to make sure awareness for the risk is there.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper
  1. Student Administration System- Functional requirements.

The functional requirements of the student administration system are,

  1. Course Registration: The registration of the course by the student in the student administration system is the primary deliverable for the project and it is the most appropriate functional requirement of the project.
  2. Timetable Analysis: The implementation of the effective timetable development of information would be supported by the student administration system.
  3. Modification PIN: The modification of the PIN is another major requirement for the student administration system as the student would require logging in and out of the system.
  4. Single Sign on: The functional requirement of limitation of the access to single user at a time from one account is helpful for the security in student administration system.
  5. Look up Course: The look up course is developed for easing the student with the faster searching of information.

 Student Administration System- Non-functional requirements.

The non functional requirements of the student administration system are,

  1. Ease of System handling: The ease of system handling would be eased by the implication of the successive development implication for student administration system.
  2. Small Response time for the system: The response time should be shortened for forming the utilization of the effective student administration system.
  3. Friendly user interface: The implication of the improved user interface would assist in deploying the effective and faster implication of student administration system.
  4. Backup of the database: The backup of database would be helpful for the implication of the successive development of the activities favouring the student administration system (Bharamagoudar, Geeta & Totad, 2013).
  5. Secured Database: The secured database would be helpful for forming the utilization of the activities favouring the implication of the effective development of the database.

Traceability Matrix of Functional and Non Functional Requirements

The traceability matrix of the functional and non functional requirements for the student administration system is, 

Ease of use

Colorful Timetable

Appropriate Information

Student can look up course

Availability of access

Security

Welcome Page

Course Registration

?

?

?

?

?

Timetable Analysis

?

?

?

?

?

Modification PIN

?

?

?

Single Sign on

?

?

?

Look Up Course

?

?

?

?

?

?

Ease of System handling

?

?

?

?

Small Response time for the system

Friendly user interface

?

?

?

Backup of the database

?

?

?

Secured Database

?

?

?

References:

Bharamagoudar, S. R., Geeta, R. B., & Totad, S. G. (2013). Web based student information management system. International Journal of Advanced Research in Computer and Communication Engineering, 2(6), 2342-2348.

Description of Functional Requirements. (2018). Home.cse.ust.hk. Retrieved 28 April 2018, from https://home.cse.ust.hk/~fred/FYP/DBDevelopment/Requirements/school-functional-reqmt.html

Hamrouni, W. (2018). 5 of the Biggest Information Technology Failures and Scares. Exoplatform.com. Retrieved 27 April 2018, from https://www.exoplatform.com/blog/2017/08/01/5-of-the-biggest-information-technology-failures-and-scares

Mitigation Strategies for the Top 10 Causes of Project Failure | Sirius Computer Solutions. (2018). Sirius Computer Solutions. Retrieved 27 April 2018, from https://www.siriuscom.com/2012/08/mitigation-strategies-for-the-top-10-causes-of-project-failure/

Modularity – OSGi™ Alliance. (2018). Osgi.org. Retrieved 27 April 2018, from https://www.osgi.org/developer/modularity/

Sametinger, J. (1997). Software engineering with reusable components. Springer Science & Business Media.

Wakeman, D. (2018). How to Mitigate Risk on Your Project. ProjectManager.com. Retrieved 28 April 2018, from https://www.projectmanager.com/blog/mitigate-risk-project

What is ERP – Enterprise Resource Planning? Webopedia. (2018). Webopedia.com. Retrieved 27 April 2018, from https://www.webopedia.com/TERM/E/ERP.html