Question

In: Computer Science

Case-IT Auditing Code developers modify or create programs. The IT testing team performs all internal IT...

Case-IT Auditing

Code developers modify or create programs. The IT testing team performs all internal IT testing; however, the business areas perform their own user acceptance testing. The IT Departments Middleware team is responsible for migrating all code to production (except for database triggers). The Middleware Team does not perform any code development activities. Although SQL database triggers are developed or modified by code developers, the migration for the triggers is performed by the Database Administrators from test databases to production databases since this code development is specific database centric. Question: What are the Controls and what are the GAPS.

Question: What are the Controls and what are the GAPS

Solutions

Expert Solution

As per the case explained below are various teams working on specific functions:

1. Development team responsible for create & modify programs and also development & modification of SQL database troggers

2. IT Testing team responsible for all internal testing

3. Business users responsible for their own User Acceptance Testing (UAT).

4. IT Middleware Team responsible for code migration to Production except for database triggers. They do not perform code development activities.

5. Database Administrators migrate database triggers from test databases into Production databases.

From above data, we understand below are the controls which are in place and Gaps which exist.

Controls:

1. Development Team are only responsible for writing & modifying code & database triggers but have no rights to deploy into Production

2. Seperate Team called IT Middleware team is in place which deploy code into Production

3. IT Testing Team is in place who perform internal testing but have no rights on User Acceptance Test environment

4. Business User team which is not part of IT teams is conducting their own User Acceptance Testing which is very good practice followed so that they can test on real life data & scenarios and can sign-off based on their validation against requirements they had raised

5. Middleware team do not perform any code development activities

Gaps:

1. Database Administrators are responsible for deploying/migrating SQL database triggers which is incorrect as per IT software process guidelines. They should only be responsible for managing the database infrastructure, schema & support any queries/issues raised by users/support/development teams in application databases. They shouldn't be deploying any database specific changes into Production. This should be managed by IT Middleware or a Application Production Support team or a Release Management Team

2. Also As mentioned Database administrators teams are migrating triggers from test databases into Production databases. This is incorrect as per guidelines. Any SQL code whether Stored procedures, Create, Alter scripts or Cursors, Triggers should be deployed/run by IT Middleware or a Application Production Support team or a Release Management Team as said in point 1 above and not from test database but from a source code repository or a shared loacation. So Ideally once the code is deployed to UAT or test environment and is passed/sign-offed by Business users same code should be deployed into Production. There should be a mechanism of code sharing such as a protected shared drive on NAS or a Source code repository or through a Service Now release management software.


Related Solutions

Code programs using ReadlineSync for prompts. Note: For all programs, create and call a main function,...
Code programs using ReadlineSync for prompts. Note: For all programs, create and call a main function, and if required additional functions called by the main. Also please use the ES6 style of keywords => instead of the older function and for local scope variables use the keyword let, not var triangle.js Write a program that is required to use nested loops to generate a triangle as shown in the sample run below. The program should begin by prompting the user...
Code programs using ReadlineSync for prompts. Note: For all programs, create and call a main function,...
Code programs using ReadlineSync for prompts. Note: For all programs, create and call a main function, and if required additional functions called by the main. Also please use the ES6 style of keywords => instead of the older function and for local scope variables use the keyword let, not var Name: coinflip.js For this program you will have two functions, one called main and the second called flip. This program is also required the use of a loop construct. Write...
Code programs using ReadlineSync for prompts. Note: For all programs, create and call a main function,...
Code programs using ReadlineSync for prompts. Note: For all programs, create and call a main function, and if required additional functions called by the main. Also please use the ES6 style of keywords => instead of the older function and for local scope variables use the keyword let, not var Name: cookout.js Assume that hot dogs come in packages of 10, and hot dog buns come in packages of 8. Write a program called cookout.js, that calculates the number of...
create business Research proposal on internal auditing
create business Research proposal on internal auditing
create business Research proposal on internal auditing
create business Research proposal on internal auditing
You manage a small team of developers that works on internal projects for your company. You...
You manage a small team of developers that works on internal projects for your company. You have two potential projects your team has the opportunity to work on. For the first project (Project A), your company has provided you an initial set of application features asked you to develop a cost estimate for the application. Below is some standard data on the team: Project A Description Number Number of team members 5 Developer Cost per person per day $80 Work...
// TESTING //------------------------------------------------------------------------------ // TEST CASE 1 // // DESCRIPTION // Performs an acceptance test of...
// TESTING //------------------------------------------------------------------------------ // TEST CASE 1 // // DESCRIPTION // Performs an acceptance test of the entire program. // // INPUT DATA (Note that the input data is read from a file named payroll.txt) // Simpson Homer // 15.25 84 // 2 // // EXPECTED OUTPUT // ----------------------------- // EMPLOYEE: Simpson, Homer // // PAY RATE: $ 15.25 // HOURS: 84.00 // GROSS PAY: $ 1311.50 // MED INS DEDUCT: $ 110.13 // 401K DEDUCT: $ 78.69 // FED...
Modify the provided code to create a program that calculates the amount of change given to...
Modify the provided code to create a program that calculates the amount of change given to a customer based on their total. The program prompts the user to enter an item choice, quantity, and payment amount. Use three functions: • bool isValidChoice(char) – Takes the user choice as an argument, and returns true if it is a valid selection. Otherwise it returns false. • float calcTotal(int, float) – Takes the item cost and the quantity as arguments. Calculates the subtotal,...
Java: modify the given example code to make it possible to create a student object by...
Java: modify the given example code to make it possible to create a student object by only specifying the name, all other info may be absent. it may also be possible to add a tag with an absent value. use OPTIONAL TYPE and NULL object design pattern.   import java.util.HashMap; import java.util.Map; public class Student { private final String aName; private String aGender; private int aAge; private Country aCountry; private Map aTags = new HashMap<>(); public Student(String pName) { aName =...
Java: modify the given example code to make it possible to create a student object by...
Java: modify the given example code to make it possible to create a student object by only specifying the name, all other info may be absent. it may also be possible to add a tag with an absent value. import java.util.HashMap; import java.util.Map; public class Student { private final String aName; private String aGender; private int aAge; private Country aCountry; private Map<String, String> aTags = new HashMap<>(); public Song(String pName) { aName = pName; } public String getName() { return...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT