Showing posts with label Comprehensive. Show all posts
Showing posts with label Comprehensive. Show all posts

July 11, 2019

Software Architectures - Comprehensive Reference Solution

Question 
Choose the most appropriate architectural pattern (one) for the 5 descriptions below. Motivate for your choices (give reasons for choosing the pattern):
1. Wants to split a system into a number of computationally independent execution structures (groups of software and hardware) such as database, business logic, web interface and client, connected by some communication media. The structure is chosen to provide a specific server environment optimized for operational requirements and resource usage.

2. Wants to set up a set of equal distributed computational entities that are connected via a common protocol to share their services and provide high availability and scalability.

3. Wants a system that can be divided into reusable, loosely coupled components that can be flexibly combined and arranged to transform between various data formats.

4. Wants a distributed system with a structure that enables that service users do not need to know the nature or location of service providers.

5. Wants a system that quickly can analyze enormous volumes of data by sorting the data and then analyzing the grouped data.

Answer:
1 .Multi-tier
2. Peer-to-peer
3.Pipe-and-filter
4. Broker
5. Map-Reduce

Question
Present a general and a specific scalability requirement in the form of a Quality Attribute Scenario

Answer
A concrete scalability quality attribute scenario:

  • Source system owner 
  • Stimulus request to accommodate five times more concurrent users 
  • Artifact the main server cluster 
  • Environment normal operation 
  • Response increase the number of servers no more than sixfold, without recompiling the software 
  • Response measure performance as measured by average number of typical requests processed per minute may not drop more than 10%


Question 
In the Service Oriented Architecture style there is a strong decoupling between functionality and implementation, throughout the application life-cycle. Applications are built by combining or connecting services. Explain why and how this architecture facilitates
a. (1) reuse of existing software components;
b. (1) independent development.

Answer:
 In SOA, application components depend on each other only through the service interface. No details of an implementation may be used or be visible.
(a) There are two elements of reuse. Once a service (interface) is defined, the only thing that needs to be done to use an existing piece of software is to map the service interface to this software, typically by building an adapter. Secondly, services can be reused in many different applications since they do not contain knowledge about their application context. One remark on the latter is in place: a service may use other services.
(b) This relies on the same separation between service definition and implementation. By defining and using only the service interface, the implementation of the service becomes irrelevant for the service user. For example, by defining the UPnP interface, the implementation behind is it entirely invisible and can be developed by independent parties. One might also replace one implementation by the other.

Question
Read the description of the Cricket-Ticket system below and do an architectural design using the attribute-driven design (ADD) method.
Your answer should include: • Architectural drivers • Architectural tactics and patterns • A logical view • Interfaces • Verification of the architecture
Note that you should only describe the logical view and only do one level of decomposition!
Motivate for your choices and state your assumptions.

The Cricket-Ticket System (CTS) is a system where the users can buy tickets using credit cards to cricket matches in India over the Internet using a Web-browser. The user can look at information about future matches from cricket teams from all over India, and see if there are any available seats. The information about the cricket matches is retrieved from various servers with different interfaces provided by the different teams. Note that the teams in India will change every year. It is critical that the TSS is available to the users all the time, and it cannot be unavailable for more than 2 minutes a week. Before important games, such as Champion League games, it is important that the system does not break down even if over 40000 users try to get tickets at the same time

Answer:
Step 1. Choose module to decompose: The CTS

Step 2a. Choose architectural drivers: AD1: The system cannot be down more than 2 minutes a week (availability) AD2: The system should provide secure electronic payment (security) AD3: The system should be able to communicate with various team servers (modifiability) AD4: The system must handle 40,000 simultaneous users (performance)

Step 2b. Choose architectural patterns: Tactics for security: Firewall for server, autorize users, authenticate users, Payment handled by third-party and usage of secure connection (e.g. https) Tactics for modifiability: Divide the functionality into coherent units and plan for changeable interfaces for external systems. Tactics for performance: Use replication of the server to ensure support for many users, and cache data from team servers. Tactics for availability: Use replication of the server to cope with downtime.
Architectural patterns: Use a kind of a model-view controller pattern where the view and the controller is represented in the user interface part and the model is the database. Replication is used on server and database for higher performance and availability. Separation of concern is used to provide modifiability (separate core functionality and external interfaces), and a separate part dealing with secure computation and interfaces.

Step 2c. Instantiate Modules and Allocate Functionality Applied architectural patterns and instantiated functionality for match browsing, seats browsing, and ticket booking. Also added a data manager that takes care of caching of data from external systems (stored in database).

Step 2d. Define Interfaces of the Child Modules Interfaces between the server and the external parts of the system: • Between User interface and user clients: HTML over HTTP • Between External system interface and External Team server: XML over HTTP • Between Data manager and Database server: SQL over HTTP • Between Ticket payment and External payment service: encrypted binary over HTTPS Interfaces within the server: • The User interface class provides display methods that uses other classes: • displayMatch() • displaySeats() • displayBooking() The Ticket payment class offer the method payTicket (used by the Ticket booking class) The Data manager class offers methods that are used by three other classes: • getMatchInformation() • getSeatsInformation() • getBookingInformation() The External system interface class, offers a more general method for accessing information from external team servers: • getInformation()

Step 2e. Verify Use Cases and Quality Scenarios Check that functional requirements are covered: • The user can get information about future matches: Match browsing class • The user can get information about available seats: Seats browsing class • The users can buy tickets: Ticket booking and Ticket payment classes Check architectural drivers: • AD1: The system cannot be down more than 2 minutes a week (availability): Replication of the server and the database, and caching of external servers. • AD2: The system should provide secure electronic payment (security): Use secure computation in Ticket payment class, use secure transfer (https) and secure external payment service. • AD3: The system should be able to communicate with various team servers (modifiability): Supported through the External system interface class. • AD4: The system must handle 40,000 simultaneous users (performance): Replication of the server and database, and caching of external servers.

Question
Read the description below and do the following:
1.Identify the most important quality attribute(s) and the architectural drivers for the system described below.
2.Choose and describe suitable architectural tactics for the problem described below, and describe how the tactics affect the quality attributes.
3.Create architecture views of the system described below. The architecture must be described in two views according to the 4+1 view model: Process and Logical view
Motivate for your choice of quality attributes, architectural drivers and the architectural tactics used in your architecture.
Software for House Alarm System: The software described here is software for controlling an alarm system sold to households. The software should be able to run different configurations consisting of sensors from various producers, variations in types of displays and keyboard/button configurations. The different configurations also represent different price segments from the very simple and cheap alarm systems to the expensive and advanced. The software system is supports both smoke (fire) and movement sensors (theft). In normal mode, the system is running on electrical power from a standard power socket in the wall. However, in case a power outage, the system can operate on battery power. All the sensors are powered by the system. In case of a detection of fire or theft, the system will start a siren (alarm sound) and the display information about what caused the alarm, in what area of the house. How the information is shown is dependent on the capabilities of the display used in the system from only simple text to graphical description of the situation. For the more expensive configurations, the system can call the fire department or a security company through a telephone connection. The system can also be set up to call the mobile phone of the owner of the house. The system will also warn the security company if the alarm system is running on battery. The software is running on custom made computer with a CPU, memory and various input/output interfaces.

Answer:
1.Most important quality attribute(s) and architectural drivers for the system: This system is a product line system with many variations of configurations. In addition, such a system must be reliable as it concerns safety of the users. The two most important quality attributes for this system are availability and modifiability. Architectural drivers for the system:
• The architecture must provide high availability because the system can possibly save lives or keep people out of danger.
• The architecture must provide interfaces that can handle various types of sensors.
• The architecture must be able to support various types of displays and keyboard/button configurations.
• The architecture must be flexible in such way that it provides different types of functionality based on the price segment of the product.
• The architecture must be able to automatically switch to battery-operated mode in case of a power outage.

Data Storage Technologies and Networks - Comprehensive Reference Solutions

Question 
Why is SCSI performance superior to that of IDE/ATA? Explain the reasons from an architectural perspective

Answer :
SCSI offers improved performance and expandability and compatibility  options, making it suitable for high-end computers.
- Number of devices supported is 16
- SCSI architecture derives its base from the client-server relationship
- SCSI initiator, or a client, sends a request to a SCSI target, or a server.
- The target performs the tasks requested and sends the output to the initiator
- When a device is initialized, SCSI allows for automatic assignment of device IDs on the bus, which prevents two or more devices using the same SCSI IDs

Question 
What is a difference between a Cluster and a geographically-dispersed Cluster from administrative perspective?

Answer :
Geographically dispersed clusters, also called stretched clusters or extended clusters, are clusters comprised of nodes that are placed in different physical sites. Geographically dispersed clusters are designed to provide failover in the event of a site loss due to power issues, natural disasters or other unforeseen events.
From administrative perspective the difference would come up due to the storage that will be used. It won't be a common storage available at the respective locations instead a replication between the two will have to be set up and managed accordingly. Managing failover will also be different than a normal
cluster.

Question
DAS provides an economically viable alternative to other storage networking Solutions. Justify this statement

Answer :
- Setup requires a relatively lower initial investment
- Setup is managed using host-based tools, such as the host OS, which makes storage management tasks easy for small and medium enterprises.
- Requires fewer management tasks, and less hardware and software elements to set up and operate.

Question

i.Write the type of networks in place of N1 and N2. Write the type of ports in place of P1 and P2.
ii. What is meant by FC network is lossless? How FC achieve this ? How can we achieve losslessness in FCoE?

Answer
(i)N1 – IP Network. N2 – FC SAN. P1- Native SCSI port. N2- FC port

(ii) An FC network is lossless, meaning that the protocol has a built-in mechanism that prevents frame drops caused by congestion. Fibre Channel manages congestion through link level, credit based flow control. With credit-based flow control, the receiver sends credits to the sender to indicate the availability of receive buffers; the sender waits for credits before transmitting messages to the receiver Busy receive port can send the control frame to the transmit port for pause in transmission. This is called PAUSE capability of ethernet. Using this FCoE supports losslessness which is required in FC transmission.

Question
i.Write Server Configuration for the following:
Export src and ports to client01 and client02, but only, client01 has root privileges on it.
The client machines have root and can mount anywhere  on /exports. Anyone in the world can mount /exports/obj read-only.

ii.How do you recover the data from backup in following scenarios :      
(a) Full backup taken on Monday, Incremental backup taken on Tuesday, Wednesday and Thursday. You have to restore system on Friday.
(b) Full backup taken on Monday, Cumulative backup taken on Tuesday, Wednesday and Thursday. You have to restore system on Friday.

Answer
i)
# Export src and ports to client01 and client02, but only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=root    client01
/usr/src /usr/ports               client02
# The client machines have root and can mount anywhere
# on /exports. Anyone in the world can mount /exports/obj read-only
/exports -alldirs -maproot=root      client01 client02
/exports/obj –ro

ii)
First restore Mondays full backup. 
(a) Then restore backup of Tuesday, wednesday and Thursday. 
(b) After restoration of Monday’s, restore Thursday’s backup

Question 
A host generates 8,000 I/Os at peak utilization with an average I/O size of 32 KB.  The response time is currently measured at an average of 12 ms during peak utilizations. When synchronous replication is implemented with a Fiber Channel ink to a remote site, what is the response time experienced by the host if the network latency is 6 ms per I/O?

Answer
Actual response time = 12+ (6*4) + (32*1024/8000) = 40.096 
Where 12 ms = current response time 
6 ms per I/O = latency 
                   32*1024/8000 = data transfer time
Question 
We have 6 nodes running a cluster. If suddenly 5 nodes found that they can communicate with each other but they cannot communicate with one specific node.
i. What steps the cluster should take to prevent data corruption? What is this phenomena called?
ii. Now if it is found that cluster is split in two groups with 3 nodes in each group. Nodes in one group can communicate with each other but can not communicate with nodes of other group. What is this situation called? Explain in brief about the steps the cluster will take to resolve the problem. 
Answer :
(i) The node will be forced to shut down through some managed Switch. This is called fencing.
(ii)This is called as split brain. To prevent data corruption cluster should shut down the group with lesser number of nodes. Since here the number of nodes are equal, cluster will take the help of quorum disk to decide the group of nodes to be shut down

Question
A host generates 8,000 I/Os at peak utilization with an average I/O size of 32 KB.  The response time is currently measured at an average of 12 ms during peak utilizations. When synchronous replication is implemented with a Fiber Channel ink to a remote site, what is the response time experienced by the host if the network latency is 6 ms per I/O?

Answer :
Actual response time = 12+ (6*4) + (32*1024/8000) = 40.096
Where 12 ms = current response time
6 ms per I/O = latency
                   32*1024/8000 = data transfer time

Question 
It is required to connect one FOCE SAN and one FC SAN to a rack mounted servers having 10Gbe CNAs. Suggest a plan of connection with a diagram showing necessary components.

Answer :

Question 
Explain the action involved between the NDMP DMA control and NDMP Server during Recovery process in the given scenario.


Answer :

DMA creates a control connection to the secondary storage agent
 Connect using TCP port 10,000
 NDMP_CONNECT_OPEN  (to negotiate version)
 NDMP_CONNECT_CLIENT_AUTH (to authenticate DMA to Server)
DMA uses the tape library media changer to load the required tape
The SCSI service is invoked
 NDMP_SCSI_OPEN
 NDMP_SCSI_EXECUTE_CDB - to manipulate media changer
NDMP_SCSI_CLOSE
DMA prepares the tape service for a recovery operation
 The tape service is invoked
 NDMP_TAPE_OPEN
 NDMP_TAPE_READ - to validate volume label
 NDMP_TAPE_MTIO - to position tape to start of backup data
DMA prepares the mover for a recovery operation
 The mover is invoked
 NDMP_MOVER_SET_RECORD_SIZE
 NDMP_MOVER_SET_WINDOW
  DMA opens control connection to the primary storage agent
 Connect using TCP port 10,000
 NDMP_CONNECT_OPEN - to negotiate protocol version
 NDMP_CONNECT_CLIENT_AUTH - to authenticate DMA to Server
  DMA queries secondary storage agent for capabilities
 NDMP_CONFIG_GET_CONNECTION_TYPE
  DMA queries primary storage agent for capabilities
 NDMP_CONFIG_GET_BUTYPE_INFO
 NDMP_CONFIG_GET_CONNECTION_TYPE
  DMA obtains the data server’s data connection address information
 The Data service is invoked
 NDMP_DATA_LISTEN
  DMA creates a data connection connection between NDMP servers
 NDMP_MOVER_CONNECT
  DMA creates a data connection connection between NDMP servers
 The mover connects to the specified IP address & TCP port
  DMA instructs the data server to initiate the recovery operation
 NDMP_DATA_START_RECOVER
  DMA recovery request is processed
 Data service determines the offset & length of the DMA specified recovery data
 Data server requests the specified data stream be transferred
 NDMP_NOTIFY_DATA_READ
  DMA instructs the mover to transfer the specified recovery stream
 NDMP_MOVER_READ
the mover interacts with the tape service to access the recovery stream
  DMA instructs the mover to transfer the specified recovery stream
 The mover begins sending recovery stream over data connection
  NDMP Data & Tape services send periodic log messages to DMA
 NDMP_LOG_MESSAGE
  NDMP Tape service sends notification when DMA intervention is required
example: end of mover window or tape medium encountered
 NDMP_NOTIFY_MOVER_PAUSED
  DMA initiates tape swap possibly utilizing media changer support
 NDMP_TAPE_MTIO - to rewind/unload tape
 NDMP_SCSI_EXECUTE_CDB - to manipulate media changer
 NDMP_TAPE_MTIO - to position new tape
 NDMP_TAPE_READ - to validate new tape header
DMA prepares the mover to continue the recovery operation
 NDMP_MOVER_SET_WINDOW
 NDMP_MOVER_CONTINUE
Data server detects end of recovery operation

June 24, 2019

Network Security - Comprehensive Paper Solution


Note: This is a previous year comprehensive solutions for your reference, feel free to provide solutions by navigating Submit Question/Answer tab in case you have latest solutions.


1) Jira's password is made of up 6 alphanumeric characters only. One password attempt takes 1 millisecond, What is the time to crack it in days?
i)  If password is case-sensitive.
ii) If password is case- insensitive.

Answer:
i) Case sensitive
 total chars = 26 + 26 + 10 = 62
 possible combinations = 62 ^ 6 passwords
 total time taken = 62 ^ 6 . 1 ms
 approx. 62.62 =~ 3600 sec = 1 hour
 Total time taken = 62. 62. 62. 62 / 1000 hours
 =~ 360. 36 hours = 360.36/24 days
 =~ 360.3/2= 180.3 = 540 days
 Note: 62^4/1000/24 =~ 615 days
 So an approx. answer between 520 to 620 days is good enough.

ii) Case insensitive
 total chars = 26 + 10 = 36
 possible combinations = 36 ^ 6 passwords
 total time taken = 36 ^ 6 . 1 ms
 = 36.36.36./ 1000 . 36 ^3
 =~ 36. 36 ^ 3 seconds
 = 36. 36. 36. 36 / 3600 hours
  = 466 hours
 =~ 19 days
 So an approx. answer between 18 to 20 days is good enough.

2) What is a self-signed SSL certificate ?  Detail on the security perspective when a website is using a self-signed SSL certificate.

Answer:
A certificate not-signed by a Publicly trusted CA, but signed by a locally setup CA server is a self-signed certificate. Any entity/website/server using a self-signed SSL certificate cannot be trusted and very commonly used in phising attacks. I can setup a server to act as gmail.com fradulently by creating a self-signed certificate for www.gmail.com and deploying it in the server.

Most standard browsers – Firefox, Google Chrome, Safari, etc. throw errors when trying to browse to websites having self-signed certificates.

3) How to avoid man-in-the-middle attack in SSH sessions? Show passwordless SSH logins at work.

Answer:
Man-in-the-middle attack is at-work when a client C logs in to a server M thinking it is server S and the client C is unable to detect it. In this case, the server M has successfully duped the client C and has forged a man-in-the-middle attack. So it can be a passive two-way data forwarder between client C and the actual server S, or an active data-mangler.
Every host server in SSH have their public keys sent to the client in the Key Exchange., which gets stored in client’s .ssh/known_hosts file. So the next time, client connects to the host, the server sent public key is matched with the client’s .ssh/known_hosts file and if there is a mismatch, SSH does not connect. So this SSH behavior effectively thwarts a middle server M trying to pose as actual server S.
Password less SSH logins happen via public keys.
Consider Client C connecting to Server S. In server S side, in file .ssh/authorized_keys, there should be entry containing client C’s public key. Then the server S will use it to exchange - encrypting/signing initial key exchange material with the client C. Because of the property that any data encrypted with public key can only be decrypted using the matching private key, this mechanism automatically authenticates the client C as only client C holds the private key. Client’s private key file are usually stored in file .ssh/id_rsa or .ssh/id_dsa depending on the public key algorithm chosen.

February 15, 2019

Data Mining - Comprehensive Paper Solution



Note: This is just a reference paper which you can go through,  we are facing some issue with the website. If you have any more important question/answer, let us know. 
Share it on our Email - 1trickyworld1@gmail.com


Question:
For the following vectors x and y, calculate the cosine similarity and euclidean distance measures:
x =(4,4,4,4), y=(2,2,2,2)

Solution:

Cosine
x ● y = 4*2 + 4*2 + 4*2 + 4*2 = 32
||x|| = sqrt(4*4 + 4*4 + 4*4 + 4*4) = sqrt (64)   = 8
||y|| = sqrt(2*2 + 2*2 + 2*2 + 2*2) = sqrt (16) = 4
cos(x,y) = (x ● y) /  (||x||*||y||) = (32)/ (8*4) 
cos(x,y) = 1

Euclidean
d(x, y) = sqrt((4-2)^2 + (4-2)^2 + (4-2)^2 + (4-2)^2) 
Euclidean distance = 4

Question:
Consider the one-dimensional data set shown on the below table

X  
0.6  
3.2  
4.5  
4.6  
4.9  
5.2  
5.6  
5.8  
7.1  
9.5  
Y
-
-
+
+
+
-
-
+
-
-

Classify the data point x=5.0 according to its 3- and 9- nearest neighbors (Using majority Vote)

Answer:
We need to first find the difference of each data set with respect to x=5.0, Refer the below table for the same.

x
X
Difference (x & X)
Y
5.0
0.6
4.4
5.0
3.2
1.8
5.0
4.5
0.5
+
5.0
4.6
0.4
+
5.0
4.9
0.1
+
5.0
5.2
0.2
5.0
5.6
0.6
5.0
5.8
0.8
+
5.0
7.1
2.1
5.0
9.5
4.5

As asked,
Using 3- nearest neighbors method, 3 Closest points to the point x=5.0 will be the one who has least difference among them - > 4.9, 5.2, 4.6
Classes ->   +
Using Majority Vote, 3-nearest neighbor: +

Using 9- nearest neighbors method, 9 Closest points to the point x=5.0 will be the one who has least difference among them - > 4.9, 5.2, 4.6, 4.5, 5.6, 5.8, 3.2, 7.1, 0.6
Classes -> +  + +  +   
Using Majority Vote, 9-nearest neighbor: 

Question:
Suppose a group of 12 sales price records has been sorted as follows:
5; 10; 11; 13; 15; 35; 50; 55; 72; 90; 204; 215:
Partition them into three bins by each of the following methods.
(a) equal-frequency partitioning
(b) equal-width partitioning
(c) clustering

Answer:
(a) equal-frequency (equidepth) partitioning:
Partition the data into equidepth bins of depth 4: [given as n=4]
Bin 1: 5, 10, 11, 13
Bin 2: 15, 35, 50, 55
Bin 3: 72, 90, 204, 215

(b) equal-width partitioning:
Partitioning the data into 3 equi-width bins will require the width to be (215−5)/3 = 70.
We get interval like- (1,70),(71,140),(141,210),(211,280)
Bin 1: 5, 10, 11, 13, 15, 35, 50, 55
Bin 2:72, 90
Bin 3: 204
Bin 4: 215

(c) clustering:
Using K-means clustering to partition the data into three bins we get
Bin 1: 5, 10, 11, 13, 15, 35
Bin 2: 50, 55, 72, 90
Bin 3: 204, 215

February 08, 2019

Software Project Management - Comprehensive Paper Solution

Note: This is just a reference paper which you can go through,  we are facing some issue with the website. Thanks for sharing some answer key with us, let us know if you have more answer keys so we can share with others too.
Share it on our Email - 1trickyworld1@gmail.com

Question:
1. Pick the odd one out and say why?:
a. WBS
b. Gantt chart
c. Prototype
d. Slip Chart
e. Time chart

Answer: c. Other four relates to methods of project scheduling.

Question: How do you create agile processes to manage unpredictability?

Answer:  Software increments must be delivered in short time periods and Software processes must adapt to changes incrementally

Question: Which of the following does not take account of the dependencies between activities? 
a. Activity network  
b. Resource histogram 
c. Work breakdown structure   
d. Gantt chart

Answer: WBS, rest of the activities involve multiple activities linkages.

Question:  Based on what SDLC deliverable, acceptance criteria for a project be derived and why and also give one example of NFR acceptance criteria.

Answer: The acceptance criteria should be derived from the Requirements Specification, which is where the users’ stated needs are documented. Eample, ‘a response time of less than 2 seconds for 90% of transactions’ is a lot more precise than ‘a fast response time’.

Question:  Explain the difference between effort and elapsed time. What is the significance of this difference for project planning purposes?

Answer: Effort is the total volume of work involved in a task and is best thought of as how long it would take to accomplish if one person were assigned to it.  Elapsed time, on the other hand, is how long the task will take from start to finish and this will depend on the effort involved, how many people are assigned to the task and what delays or external dependencies are involved.


Question:  Compute the function point value, corresponding effort (state your assumption) and the Minimum time to develop for that effort for a project with the following information domain characteristics.
Number of user inputs.                 - 32
Number of user outputs.              - 60
Number of user inquiries.             - 24
Number of Files.                              - 8
Number of external interfaces.   - 2
Assume that all complexity adjustment values are average.                                        Marks  10

Answer: ( 4+2+4)
For Average adjustment values,               
32 X 4 = 128
60 X 5 = 300
24 X 4 = 96
8 X 10 = 80
2 X 7 = 14
So, Count Total is equal to 618.
FP = Count Total X [0.65 + 0.01 X Summation (Fi)]
FP = 618 X [0.65 + (0.01 X 30)] = 587.10.

Effort:  assumption : 1FP/person/day or any similar no. = 587.10X1= 587 persondays. (persondays is important)
Duration: use the formula :  2.5*(Effort)exponent   Exponent can be :0.32,0.35,0.38

Question: Read the following project scenario and suggest your best approach by precisely answering the questions (make your own assumptions and state them clearly)
You are currently the Project Manager (PM) for the first development project of EuroShell—the prestigious customer who has recently signed an MoU with your company—XcelPro--for a multi-million-dollar business over the next 5 years. The project spans a period of 9 months and it involves several new technologies/tools. In addition, the customer keeps changing the requirements at an average rate of 1-2 change-requests (CR) per month. You are asked to send regular weekly status reports to the customer’s PM. The customer has not raised any major issue (nor responded to your regular status reports) till the final product is delivered for acceptance testing (UAT) during which your Delivery Head (your boss) received a major escalation (mail) from the customer (with a copy to XcelPro’s CEO) citing various defects observed and in turn seriously doubting XcelPro’s capability to develop and deliver software product.


Q1) You are asked to prepare a report/PPT as response to the escalation mail by holding a meeting via video conference call with customer.  Who are all the people to be involved in the meeting? What are agenda/items in your report/PPT? What are your recommended methods/techniques for presentation of data/issues so that the meeting concludes well with renewed trust in the company’s management and its QMS?  5 Marks


Q2) What was the format/Template of your project report?  Why do you think your customer did not respond to your regular weekly status reports (and of course, jumped with an escalation only at the end of delivery)? What factors (internal/external) contributed to this escalation?  If you were to redesign your project status report to elicit frequent responses from customers, what would you do?   5 Marks