The History Of Sustenance Engineering Services

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Sustenance Engineering services enable companies to maintain and enhance the quality of their software products, thus providing regular software upgrades to cater to the needs of the customers. This report contains insight on processes followed in sustenance engineering in order to sustain and improve the quality of Primavera P6 product suite.

Overview Of Oracle Primavera

Oracle Primavera is the leading Enterprise Project Portfolio Management (EPPM) solution for project-intensive industries. It offers best-in-class capabilities focused on mission critical PPM requirements of industries like engineering & construction, discrete and process manufacturing, public administration, financial services and others. Oracle Primavera enables enterprise agility, team productivity, portfolio predictability and overall project management efficiency. The result is the ability to drive down costs, minimize risk and deliver results to key stakeholders.[1]

Primavera Products:

A. Primavera P6 Enterprise Project Portfolio Management

B. Instantis EnterpriseTrack

C. Primavera Unifier

D. Primavera Portfolio Management

E. Contract Management, Business Intelligence Publisher Edition

F. Primavera P6 Analytics

G. Risk Analysis

Overview Of Primavera P6 Enterprise Project Portfolio Management

During my internship period I was working on sustenance of this product. Oracle's Primavera P6 Enterprise Project Portfolio Management is the most powerful, robust and easy-to-use solution for globally prioritising, planning, managing and executing projects, programmes and portfolios. Primavera P6 Enterprise Project Portfolio Management is an integrated project portfolio management (PPM) solution comprising role-specific functionality to satisfy each team member's needs, responsibilities and skills. It provides a single solution for managing projects of any size, adapts to various levels of complexities within a project and intelligently scales to meet the needs of various roles, functions or skill levels in your organisation and on your project team.[2]

Training Sessions

TABLE I

Sr. No.

Session Name

1.

Borland Delphi Training

2.

Code Version Control

3.

Build Environment / build process

4.

Product Training

5.

Dev Environment Readiness

6.

BugDB Training

7.

Agile / Scrum Training

8.

IDC Org structure

9.

Virtualization Environment

10.

Databases Overview

Overview Of Software Development Request

A Software Development Request is created because of an error, flaw, failure, or fault in a computer application or system that produces an incorrect or unexpected result,or causes it to behave in unintended ways. Most of the bugs arises from mistakes and errors in either a program's source code, its design, incorrect business logic and sometimes due to missed cases. In Sustenance Engineering, we recreate issues, debug it using IDEs, then root cause the issue and either provide work around or fix for the issue reported.

Figure 1.

Fiure 1. Shows the Development Request Cycle followed by Oracle Primvera

Summary of steps followed to solve a Development Request

A. Request Raised By Customer:

Customer raises a development request, if they sense unintended behavior in the product. Support follows up with customer and looks into the issue and creates a Development Request for the issue. Status of the Development Request is changed to 51.

B. Developers Part:

When a Development Request is in status 51, developer has to work on the issue and try to resolve it. Developers first check if issue can be replicated locally. Sometimes issue is reproducible only on customer’s database. In this case we ask support team who directly interact with the customers, (Status is changed to 30) to contact customer and ask for Customers database dump. If issue is not reproducible on developer’s environment or if developers require some more information related to Development Request, status of Development Request is changed to 30. If issue is reproducible, developers try to root cause the issue. After finding the root cause for the issue, the customer is either given a workaround (validated by the customer) or the fix for the issue is found and the development request is moved as a bug (Status is changed to 52) or as an enhancement request (Status is changed to 15). There are also cases, when there is no issue. In that case Development Request status is changed to 90-96 as applicable.

90 - Closed, Verified by Filer

91 - Closed, Could Not Reproduce

92 - Closed, Not a Bug

93 - Closed, Not Verified by Filer

95 - Closed Vendor OS/Software/Framework Problem

96 - Closed, Duplicate Bug

C. Role played by the customer support team:

When a Development Request is in status 30, support team comes in. Support team needs to answer questions asked by the developer. Support team also exchanges information with customer on progress of the issue and ask them for further information, if required. After gathering required information Development Request status is changed back to 51.

D. Bug fixing:

Development Request in status 52 means, it is marked as bug and developers needs to fix it. Development Priority is set for the Bug on scale of 1-5. 1 being most urgent and 5 being least required. At the time of bug fixing, status remains 11(Code/Hardware Bug). After fixing the bug, it is reviewed by responsible authorities. Then it is moved to Quality Assurance team, where changes are tested and see if any regression bugs are created. After approval from Quality Assurance team, bug status is changed to 74(Closed, Code/Hardware Fix Verified). Then fix is delivered to customer either as Hot Fix or as service Pack or in Next Release of the product. Hot fix is a patch delivered to a specific customer to address a specific issue. Service pack is a iterative patch released to the which addresses multiple issues prioritized by various customers.

My Contribution

During the first month of my internship I was made to undergo the following list of trainings :

Oracle Software Security Assurance(OSSA) Knowledge Assessment

Ethics and Business Conduct

Anti-Corruption Practices Act

Information Protection Awareness.

Other Training Sessions are mentioned in Table I.

Primavera P6 product suite had both a web version and a desktop client version of the application. I worked on the client version of the product. P6 Client Product is written in Delphi language (Object oriented Pascal) , the basics of which I had to learn during the first month of my internship.

From second month we started working on Development Request (DevReq). In three months I have worked on 19 Development Requests. Outcome varied from one Development Request to another based on the issues reported by the customers. The Outcome of a development request is that it could be Raised as a Bug, Raised as an Enhancement Request, Closed as Not a bug or a Duplicate Bug, Reported as a Missed Case etc. Whenever a Development Request comes it is assigned to one of the developers to work upon. Explanations of some of the Development Request solved by me.

Note: Source Code or product snapshots are not mentioned in the report because of company policies.

Poor Performance when opening a project due to Query inefficiency(>2minutes):

Expected outcome: Opening a project should take less than a minute.

Performance Development Request are always the tricky ones. There is a process we follow to analyse them. First of all we look for unnecessary data being fetched. If this is the case we remove it. In my case there was no unnecessary data. Then check what is taking more time Query Execution or Data Processing fetched by query. If query execution is taking more time, look for query optimization. If Data Processing is taking more percentage of time then look into the code for performance optimization. In my case Data Processing is taking more percentage of time. So, I looked into the code and found that storing data in the VDB (Virtual Data Base) engine is taking more time. It was taking more time because the amount of data in the customer DB was too large. For some queries amount of data to be stored in VDB engine was around 17lakh records. It is bound to take this much time to store the data in VDB engine. There were also other queries which fetched around 5-6 lakh records. Hence this was not the area where optimization can be done. Then I looked for Query Optimization. As customer is on SQL DB, there is very less chance of Query Optimization. But, still I looked into the execution plans of queries taking longer time. There also I had no luck. In the end we provided a detailed document to customer containing our findings. Also in our environment opening a project was taking 1minute 20seconds consistently. I debugged the issue considering the relative timings.

Filter option does not work properly when using Multi Character in P6 Client:

Expected Outcome: Filter options should work properly.

First of all, I reproduced the issue. Then looked into the code to root cause the issue. After root causing it I found that P6 client version does not support multi-byte character comparison. This request was moved as an enhancement.

Global Activity Codes can’t be used in filters, columns or layouts.

Expected Outcome: Global Activity Codes should be available in filters, columns or layouts

This type of issues are not reproducible on sample Data Base. We require Customer DB to reproduce this kind of issues. First of all, I restored the customer DB on our local server. I was able to reproduce the issue. I was not able to see some global activity codes mentioned by customer. This Global activity codes were present in the DB. On debugging through the code I found that if there are two activity codes whose names differ by only special characters or spaces then the activity code on top of the list is only displayed. Reason for this behaviour: There is one function in the code which deletes the character if it is not a valid character and less than ‘z’. If the char is greater than ‘z’ it is going to do base64 encoding for the column name. Due to this reason special characters were omitted from the activity code name. As list only shows unique names, there was only one Global Activity Code present in the list.

Group and Sort Displays No code after Copy and Pasting a Project.

Expected Outcome: Expect the layout to Group and Sort by the recreated coding structure.

This was not a bug and was working as per the design. My findings:

Project A is setup with a saved user layout which uses a Group and Sort using Activity Codes.

Copy Project A and paste to create Project B.

Close Project A and open Project B notice that although saved layout is being used the Group and Sort is not working.

REASON: When we copy paste a project the project level activity codes are also copied, but only the names of the project level activity codes are same, actually internally this project level activity code is different, they can even have different code values. So not grouping automatically is not an issue for another project having the same project level activity code.

Check the Group and Sort and notice that nothing is set.

Recreate the Group and Sort for Project B and save the layout overwriting the existing layout.

Close Project B and open Project A. Notice that although saved layout is being used the Group and Sort for this Project is now not working. Project B is working fine.

Reason: After overwriting the existing layout (in Step 5), this layout is now linked with the project level activity code of Project B, which is different from project level activity code of project A.

Re apply Group and sort for Project A and save the layout overwriting the existing layout. It will work fine for Project A and stop working for Project B.

Reason: After overwriting the existing layout (Step 7), this layout is now linked with the project level activity code of Project A, which is different from project level activity code of project B.

Conclusion

. Sustenance Engineering plays a major role in maintaining and improving the quality of the product and hence provides customer satisfaction. This report also gives an overview of the process followed in the product life cycle as a part of sustenance engineering and Oracle Primavera P6 product suite in particular. Further the report also mentions my learning and contribution as a developer for the P6 client product suite.

Acknowledgment

I hereby take this opportunity to thank my on-campus mentor Prof.P.M.Jat, who guided and supported me throughout my internship tenure. I would also like to thank my off-campus mentor Mr.Amar Rao for guiding me into this corporate world. I would also thank my project lead, Mr.Jatin Bhoir for helping me throughout the internship tenure. In the end I would like to thank all my team members Vinay, Shubhi, Tanya, Saumya, Guru, Jitu, Subodh, Toshi, Nitin, Piyush, Hardik and Pankaj. They all played a very important hand in making my Internship successful and were always there for help. I learned a lot while working with all the people mentioned above.

REFRENCES

[1]http://www.oracle.com/in/products/applications/primavera/overview/index.html

[2]http://www.oracle.com/us/products/applications/primavera/p6-enterprise-project-portfolio-management/overview/index.html?ssSourceSiteId=ocomin



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now