satyam computer services limited. name: sis remediation customer: xxxxx project type: development...
TRANSCRIPT
Satyam Computer Services LimitedSatyam Computer Services Limited
Name : SIS Remediation Customer : xxxxx Project Type : Development Project Manager : Punit Pandey Team Size : Onsite - 5, Offshore – 25 (peak) Start Date : xxxxx End Date : xxxxx Database : Oracle 9i Target Technology :
– WebSphere® Application Server– WebSphere MQ Series– IBM Directory Server– IBM HTTP Server
Tools used : – Rational XDE, VSS, Dream weaver, Adobe
Photoshop CS, Jtest, Load Runner,
Project Details
Satyam Computer Services LimitedSatyam Computer Services Limited
Business Needs & BenefitsNeeds Remediate existing application to Enterprise Architecture Build functional inadequacy to meet business needs Ensuring the developed system are,
Scalable in terms of users, source systems, managed transactions and geographic deployment
Performant based on the non-functional specification Consistent with security standards which may be issued from time to time Resilient with no single point of failure Locale-sensitive Robust, with availability in-line with the non-functional specification Maintainable at a code and administrative level Compliant with relevant legislation, regulations and company policies and standards
Benefits Timely Collection of Payments Gamut of the outstanding amounts for all lines of business at one place Ease of use Application with rich scalability Met XYZ company performance criteria Substantial cost savings achieved
Satyam Computer Services LimitedSatyam Computer Services Limited
Application Details
Size of the project - 146 P Months
Methodology – RUP/Satyam OOAD
Architecture – N tier
Source Environment
Technology Size
• VB• ASP• SQL Server 2003
• No. of Screens : 35• Database Size
– Tables : 21– Views : 16 – Size : 630 MB
Target Environment
Technology Size
• WebSphere Application Server• WebSphere MQ Series• Web Services• IBM Directory Server• IBM HTTP Server• Oracle• Jtest, Jprobe & Load Runner
• No. of Screens : 157• Database Size
– Tables : 57• Java Code : 290kLoc• Effort: 131 P Months
Satyam Computer Services LimitedSatyam Computer Services Limited
Application Features
Reduce provisioning for outstanding premiums Mini Search Engine Rule configuration Automatic and ad-hoc generation of reminder notice via letter,
fax and email Daily scheduled uploads and updates of policy, Account and
Cash details Generating follow up action items/tasks and assign responsibility
to users based on business rules Creating templates for letters, fax and email Role based security
Existing Application New Application
Satyam Computer Services LimitedSatyam Computer Services Limited
Solution Highlights
Delivery Model - SIS has been developed in an incremental and iterative model based on the functional grouping of the requirements.
Non functional characteristics
Enterprise-class on the dimensions of Scalability, Robustness, Resilience, Security, Maintainability and Interoperability
Less costly to support / host Suitable for internationalization and localization to enable use in a
pan-European context Functionally extensible with a manageable degree of risk Meet regulatory requirements Compliant with The META Architecture
Technical Solution
Layered Architecture for Loose coupling of reusable common services - Usage of J2EE as the platform technology
Integration via the Global Service Bus, using Web Services Message Oriented Middleware as a middleware technology Web Application Framework - Struts Persistence Framework – Hibernate Application to run on IE 5.5+ GUI Design Retain the business flow of the existing application
Uniqueness of the proposed Technical Solution - Multi Layered Architecture, GUI Design, Search Engine within SIS, Automated Rule Generation, Role Based Security System, Integration and interfacing with Document Rendering & Document Output Services that enabled communication needs of Email/Print/Fax, Integration with Tasking services that provide information to other applications.
Prototype Iteration 1 Iteration 2 Iteration 3
Functional screen navigation through static HTML
Architectural base lining - main business flow to build the framework
Complete functionality except integration points
Build supplemental functionalities & all integration points
Final delivery including UAT bug Fixes and performance enhancement
Iteration 4 Post Live Fixes
Minor enhancements, additional features, performance enhancements
Satyam Computer Services LimitedSatyam Computer Services Limited
Onsite – Offshore Distribution
Iterative - Phase Onsite Offshore Onsite-Offshore Ratio
Behavioral Modeling /Requirement Gathering
Done By Customer
Requirement Elicitation & Prototype 80:20
Technical Modeling / System Requirement Specification
70:30
Detailed Modeling 30:70
Coding / Construction 10:90
Class Integration Testing 10:90
System Testing 10:90
Acceptance Testing Support 30:70
Satyam Computer Services LimitedSatyam Computer Services Limited
Lessons Learnt
General Have a strong set of technical resources on board before start of any high end technology
work. Requirement are never 100% complete and so the need to baseline the basis of delivery,
in other words Implicit requirements leading to scope creep. Business user expectation is to achieve 100% accuracy for go Live needs to be handled
with care Firm commitment from client on their resources. Regular communication between onsite and offshore team and also within the team to
address the status check as well as technical & functional understanding. All standards, review processes needed to set and enforced from initiation of project A induction training to be conducted for every new member getting in to team in the middle
of development process. A strong work allocation process is required for development work based of RUP based
Rapid Application Development A new/innovative tracking and monitoring process to be in place as the traditional process
is not sufficient for this kind of work.
Technical For every development engagement a dedicated DBA to be deployed, even though they
may not be fully occupied at times. Start early on the integration points Don’t forget network traffic (client-server) concerns while designing any web application
especially around page size, java script file sizes, etc.
Satyam Computer Services LimitedSatyam Computer Services Limited
Best Practices
Dedicated business analyst during all phases of project life cycle as being the gate keeper between Satyam and Business users.
Delivery of Prototype (what you see and what you get Model) to the Business users before actual delivery of application and obtain their approvals on UI as well as flow of application
Use of automation, Tools used to review, unit and performance test the code. Tools used for generating Hibernate XML, object relationship.
Use of internet or googling, Help on technological problems Use of open source tools/code concepts
Dedicated team/resource for UI design and Testing Deploying UXM expert to captures user’s needs in designing GUI
Innovative way for work allocation Use case leaders, Use case based ownership throughout project life cycle. Flat structure in the project team including interactions with customer (Agile
project Management)
Satyam Computer Services LimitedSatyam Computer Services Limited
Period : November 2005 – February 2007
METRICS INFORMATION
Satyam Computer Services LimitedSatyam Computer Services Limited
METRICS INFORMATION
MetricsUnit of measurement
Goal Upper Bound
Lower Bound Iteration
1Iteration 2&3
Consolidated Iteration 1-4
Post live Fixes
Consolidated for the project
Remarks
Effort Estimation Variance Percentage 4.6 9.4 1.4 29.98 8.97 25.22 -33.94 17.53
Primarily the reason for effort variations are as below, New and complex technology with in experience
Team Effort required to integrated with interface has taken
more time than estimated Elongated UAT and delay in signoff from customer on
UAT completion
Schedule Estimation Variance Percentage 4.6 9.4 1.4 16.50 15.89 10.28 4.0 1.86
Size Estimation Variance Percentage 10 20 5 67 NA NA NA 67Due to Change in the scope of the project, re-estimated after completion of Iteration 1
Requirement Volatility Index Percentage 84 NA 84 23 39
Productivity- Java LOC/Pday
31 55 5344.55 127.55 92.69 210.04 101.27
Delivered Defect Density Per kloc 0.2 0.4 0 0.001 0.001 0.001 0.003 0.001
Cumulative Defect Removal Efficiency percentage 96 100 91.9 99 99 99.7 99.7 99.55
Defect Density in Code Review Defects/KLOC 1.6 7 0 65.79 81.28 194.108 1086.52 201.73
Numbers are high primarily due the usage of Jtest and its in-built rules such as Formatting and standard related errors flagged by Jtest Tool.
Defect Density in Inspection Defects/KLOC 0.4 1.1 0 1.3 1.3 1.3 1.3 0.76
Less number of document went through the inspection processInspection Rate Page/hrs 0.70 0.90 0.50 0.315 0.315 0.315 0.315 0.38
Review Efficiency percentage 69.8 82.8 55.9 54% 43% 29% 84% 99.17
Cost of Quality % of effort 32.1 41.1 24.7 18.7% 24.27 16.71 40.62 18.87
Rework Due to Defects % of effort 3.9 6.4 1.9 6.0% 5.0% 5.3% 7.79 5.6
Project Maturity Index Scale 4 4.5 3.5 1 1.67 1.67 4.67 4.0
Satyam Computer Services LimitedSatyam Computer Services Limited
CUSTOMER APPRECIATION
From: [email protected] [mailto:[email protected]] Sent: 15 December 2005 08:41To: Siddharth_GuptaSubject: Marsh - feedback on SIS project team
Sid,
As discussed last night, the feedback from Marsh on the quality of people you have put on site is very good. The business have commented to me that the Norwich based team (Gayathri and Chhavi) are doing are good job in working with them and quickly gaining knowledge of the underlying business processes and requirements. From my point of view, the team as a whole are doing a good job in all aspects - business analysis, architecture and design, and project management.
The 2 weeks slippage we have encountered has been caused by; (1) differences in approach and communication between business users and analysts (2) requirement to revise UI for main user screens - hence usability expert on board (3) under-estimation of extent of completeness of use case model issued as part of ITT document set
Please call me if you want to discuss any of this feedback Thanks Tim
Satyam Computer Services LimitedSatyam Computer Services Limited
CUSTOMER APPRECIATION
From: [email protected]: Thursday, March 23, 2006 10:48 PMTo: Punit_Pandey; Vinod_Gopala; Sachan_Dassi; Anupam_BhasinCc: Siddharth_GuptaSubject: SIS code review resultsAll,Please see attached results of the SIS code review of iteration 1.Can you pass on my thanks to the development teams responsible for this code. The results of this review are a credit to their hard work and professionalism.RegardsTim------------------------Forwarded by Tim Bennett/LON/GB/Marsh/MMC on 23 Mar 2006, 17:04 Thursday ---Paul S Smith 23 Mar 2006, 16:27 Thursday To: Tim BennettSubject: Re: SIS code review (Document link: Tim Bennett)Tim,Overall: The code seems to be in very good shape. There has obviously been good attention to detail in the creation of the various packages and a close adherance to naming standards and practices.Details:The code is well structured and efficient approach to packages. The EJB & Web tier classes do not overlap each other, always a good sign. There is clear and consistant naming standard in the code, see the struts Action & Form class package for an example. Every class that was inspected was well commented and method comments, where required, were again both present and clear.The reuse of the opensource Netscape Ldap classes is very good to see. All db access appears to be through Hibernate, as per the design and architecture. There is limited use of bespok security objects, they have used the javax.security objects where possible. Sometime the code can be hard to read, in complex & large class files they should consider reformattiing code to be easier to understand. Also some method appear to be very large, is it possible to break these up?See the SaveAction.java class for an example. Comments in the code indicting future actions should not just be comments, they should use the //TODO: whish as well as commenting will automatically show up the tooling (e.g. RAD 6 has a view of all //TODOs) The web.xml has 'Serve classes by name' enabled- should this be the case? Normally this is considered a security hole as it enables attackers to call classes at will. There are may unused imports in the code. These should be removed. There are references to JGroups (a multicasting technology), can we have a reason why these references are still in the code and what they are doing there in the first place? There is a spelling mistake in a constant: ISISConstants.USE_FIRTS_PASS.Overall the code is well executed and appears to be conformant to our standards.Regards,Paul
Satyam Computer Services LimitedSatyam Computer Services Limited
CUSTOMER APPRECIATION
Marsh spotlight dashboard - Apr'06
customer feedback - SIS 20070312.doc
Now in Production.doc
Midway Feedback – Apr’06
In Production – Dec’06
Closure Feedback – Mar’07