Table of Contents
Table of Contents.................................................................................................. 1 Introduction........................................................................................................... 2 Background........................................................................................................... 4 Objectives of the Project........................................................................................6 Constraints............................................................................................................ 7 Methods / Technology to be used..........................................................................8 Project Products.....................................................................................................9 Activities.............................................................................................................. 13 Resources............................................................................................................ 14 Risk Analysis........................................................................................................15
This document contains the project plan for the software project to be undertaken for one of the leading cooperative bank in Ahmedabad. This document will highlight the objectives of the project, any constraints in attaining those objectives, methods and technologies to be used in order to develop the software, products coming out of the project, activities involved, resources required, and the risk analysis. Thus, this document will serve as a guideline for executing the project successfully, as it will highlight all the issues and the risks involved at the beginning itself. This will also help in contingency planning.
The client is “Ahmedabad Sahakari Bank”. It is a co-operative bank with around 25 branches in and around Ahmedabad. It also has few branches in other cities of Gujarat like Baroda, Surat, Jamnagar, Nadiad and Bhavnagar. It has over 100 ATM installed at different locations. It has crores of rupees of deposits, and is known for its customer friendly policies and high quality customer service. It has a got a good amount of customer base in Ahmedabad and adjoining areas. Apart from traditional banking, it also offer various other services like safe deposit vault, home loans, car loans, various investment schemes, etc. The bank has, till date, believed in traditional banking methods. But with changing times and advent of technology, it has decided to start net banking services for its customers.
To develop and online banking system for Ahmedabad Sahakari Bank. It will cover four major functionalities like
Account Summary – The user can get a summary of his last 10 transactions. He can also get the summary of his transactions between certain dates.
Fund Transfers – The user can transfer funds from his account to any other account in the same bank or different bank. Intra-bank transfer is free, however, inter-bank transfer will attract transaction fees.
Bill Payments – The user can pay his bills on line. There will be list of billers from which he can select. He needs to add that biller in his list, and then can make payment through his account.
Issuing Cheque Books – The user can issue cheque books online.
As this is a very traditional organization, it does not have a separate IT department. For this project, a steering committee is appointed which will comprise of 5 people from different divisions. It will be headed by the director of the bank. This committee will be the end point of all decisions regarding this project from the client side. There will be a small structure of officials under them who will take reports and deliverables according to the agreement and will submit their reports to him. For handling the technical side for the bank, a consulting firm is being hired. It will work closely with Indus Technologies for project deliverables and milestones.
The bank is a cooperative bank and was established in 1978. It has a very huge local client base. Over the years it has built a reputation of being an honest bank with transparent procedures. It is also known for moving ahead with the times and using technology wherever possible. The bank is mainly into core banking sector. It, however, offer other value added services like safe deposit vault, home loans, car loans, education loans, fixed and recurring deposit schemes, and many other services. It has strong internal reserves and CRAR at 14.74%.
Existing hardware / software:
• All the branches are around 80% computerised, with all the day to day banking transactions being carried out through computers. This has reduced the dependency on paperwork to a great extent.
All the computers are connected to a central server with mainframe used as central database for overall data.
The operating system used is UNIX because of better stability. The bank has implemented successfully the Core Banking Solution (CBS). This has helped the Bank to migrate the Branches from being the processing centres to marketing customer centric outfits.
The bank is using basic banking software like transaction processing software, tally, etc. It is using readymade packages to take care of its accounting and back office requirements.
It also uses loan processing system for processing various types of loans it offers. It also has the ATM technology installed in all its branches as well as at other locations.
Circumstances leading to current projects:
The bank is carrying out its day to day activities very efficiently and satisfaction level among the customers is also very high. This bank has till now been very traditional in its banking approach. However, with the advent of information technology and increasing advantages it offers, the bank has been forced to use it. After great deal of deliberation, the higher management have decided to implement online banking services for its customers. Main rationale behind this decision is the convenience it will offer to the customers, which in turn will increase the satisfaction level among them. They can stay in the comfort of their house or workplace and carry out their regular banking transactions. Also this will reduce some of the rush in the bank, thus helping them in managing the affairs better.
Work already carried out in the project:
A survey has been carried out among existing users of the bank, as to whether they will appreciate online banking software. That survey got an overwhelming response. After that, the bank approached Indus Technologies, which is one of the leading company providing software solutions. The bank provided all the requirement specifications to Indus mentioning the functionalities to be developed along with the scope where it needs to be implemented. It also provided an approximate budget and timeline in which they want the project to be completed. Indus did a detailed feasibility study as to whether the project was possible with all the required functionalities in the given budget and timeline. They gave a detailed report to the bank about the feasibility of the bank. According to the report, the project was feasible. They suggested some minor modifications which the bank accepted.
Stakeholders in the project:
Stakeholders in the project include all the upper management of the bank, steering committee which is responsible for the project, all the other employees as the accuracy of the transactions will depend on the success of the project, shareholders who have stake in the bank, and the customers of the bank who will using this system for their day to day transactions.
Objectives of the Project
The objective of this project is to build an online banking system that will have basic functionalities like • •
Account Summary Fund Transfers Bill Payments Issuing Cheque Books.
Thus this project will aid the users of the bank to carry out the above mentioned transactions without actually visiting the bank. This in turn will help the bank as it will increase the satisfaction level of the customers. For measuring the success rate in meeting the objectives, the bank can monitor the customer behaviour over the period of time. The ease with which the banking transactions are carried out, which in turn may increase the number of transactions carried out, will determine the success of the objectives of the project.
Every project has some constraints or other which may provide a hindrance in the smooth functioning of the project. Following can be the possible constraints in this project.
Externally imposed time scales:
Time lines are very important in a particular project. And, specially, in project such as online banking, it is very important to stick to the go live date. Once the date is declared it cannot be postponed under any circumstances, as after that the portal is open for actual customers of the bank and the data that will be used will be the actual live data. Hence the project team has to manage the project such that the timeline is not exceeded under any circumstances.
The data that will be fed in the application will be highly confidential banking information of the users. Hence, there should be checks in order to ensure that nobody is able manipulate that data. Or else the bank can come in legal trouble.
The code developed need to adhere proper programming standards. Also, the front end of the application should have standard features.
Limitations on the people who can be approached for information:
A team of business specialists are appointed to guide the team of developers at offshore regarding the business requirements, any queries, progress updates, change in requirements or any other information related to the project. However, it may happen that the people responsible for information from the client side are busy with other work or some relevant authority is on leave. In such cases, the developers have to wait until they get a response
back. This may cause some temporary delay in the project, for which a buffer needs to be maintained.
Methods / Technology to be used
They will be using waterfall model for developing the project. The application will be developed using the J2EE framework with the client – server format.
The front end will be developed using xml and asp.net. It will follow the 3 tier architecture of J2EE with business logic written in the middle layer.
The source code will be compiled and built using Apache Ant. Struts framework will be used to develop the application and use of EJB calls will also be made.
The middle layer will be connected to the database with the help of appropriate calls. The data will be stored in the centrally located mainframe servers on DB2 platform. Some of the legacy software like transaction processing software will be retained and an interpreter will be used to connect them to this application.
The application will be hosted on UNIX OS. Eclipse will be used as IDE (Integrated Development Environment) for coding.
Version control will be done using VSS. Lotus notes will be used as official email server. It has got many advantages like Sametime Connect which is used for internal messaging; different databases can be connected through it for various functionalities like creating requests, logging defects, etc.
Application related training will be provided to all the relevant employees in the bank, so that they can use the application without any problems. The customer care division will be given extensive training as they will need to solve the issues of the customers.
They will be provided with training manual and user guides.
As discussed in the above section, this project will follow a waterfall model. Hence it will include all the steps followed in the waterfall model like requirement analysis, design, coding, testing, etc. For each step, there will be a separate deliverable. It will be sent to the client for review. The client will review it and send back to the IT firm with concerns if any. The concerned person from the IT firm will then work to resolve that concern. If the client doesn’t have any concerns, he gives a sign off to that product and it is finalized. The products will be divided into three categories, viz, System products, Module products, Management products. Following is the list of project products that will be delivered to the client.
System Level Agreement:
This is the agreement between the client and the provider which is signed at the start of the project. It has all the terms and conditions approved by both sides which the two need to abide by for the entire length of the project. Violation of this term can lead to legal complications. It also contains the duration after which the agreement will terminate.
Requirement Specification document:
This will come under system products as well as module products. System product will have an overall system specification. Before that there will be a requirement analysis done which will include analysis of all the requirements given by the client. This analysis will be done by business analysts who will analyse the functional requirements, along with technical analyst who will analyse the technological requirements.
Once this analysis is done, they will come up with the requirement specification. This document will contain all the functionalities that will be included in this project, special features if any required, overall look and feel of the front end, the technology that will be used in developing it, etc. If the requirement specification document gets a signoff from the client, the requirements are freezed. It is very difficult to change the requirements after that, and is subject to the requirement change clause mentioned in the Service Level Agreement (SLA).
Once the requirements are finalized, the next product is the design document. It is a module product, as it will involve design of various modules involved and the interconnections between them. There will be two types of design procedures carried out, high level design and detailed level design. High level design will outline various functionalities that will go into the package on a broader view. Since the software will be using a J2EE platform, it will outline the object classes required for the four major functionalities. It will also mention the database connection and various database drivers to be used for connecting database with the application. Currently, mainframe is been used for storing all the transaction data of the bank. Hence the application will be connected to this server. Detailed level design will explain all the functions in great detail. STRUTS framework will be used in this application. It will explain the actual flow of different java classes and its connection with the database and the front end (which will be done using jsp). It will mention all the calls and how will they be called. In case of jsp, it will explain if the jsps are using frame structure or any other structure. It will also explain how the connection will be established with the database and how the calls will be made. In short, it will be a total technical design of how the application will be. IBM Rational Rose tool will be used to create the detailed design diagrams.
Once the actual design is finalized and signed off from the client, the coding phase starts. The error free source code is the deliverable in this phase. Developers are assigned various modules for different functionalities which will then be tested in the testing phase. The coding is done in java language and eclipse IDE (Integrated Testing Environment) is used. The code is hosted on UNIX OS.
Test Plan and test cases:
The test plan is a very important product. Preparation of test plan starts in parallel with the coding phase, just after the design phase is completed. The test plan needs to be comprehensive with all the different scenarios of the functionalities covered in it. One needs to take into consideration boundary value test cases to check whether the code is sustaining the boundary cases. Also, hammer testing needs to be done to ensure that the code works for all the possible scenarios however hostile they may be. The test plan will be divided into black box and white box testing. White box testing will contain test technical test cases to check how the code is behaving from inside and is technically sound or not. The black box testing will cover only the business functionalities and will be done by the users.
This is the final, and arguably, the most important deliverable. It is the software package for the online banking system. It will contain four functionalities, viz, Account Summary, Fund Transfers, Bill Payments and Issuing Cheque Books. It will have a proper authentication system in place. The user will need to login using his user name and password and once his credential are authenticated, he will be allowed to use the application. The application will be integration tested, system tested and user tested for all the possible errors. It will ready to go live.
This will contain a step by step guide on how to use the application. It will have all the steps right from the web address, logging in to actually using all the functionalities in the application and logging out. It will also contain the actual screen snapshots guiding him through the steps in order to help the user further.
Standard Operating Practices:
This document will act as a guideline for the client for various modules. It will contain the technical specifications about the various modules used. It will be a very confidential document.
This will contain all the intellectual documents that are created during the course of the project about technology used and functionalities implemented. This will be very useful for future reference.
This will contain the progress of the project for different milestones set in the SLA. It will help in tracking whether the project is on track or is going off tangent.
Following is the product breakdown diagram for the project:
System Level Agreement
Overall Requirement Specification document
Design docume nt for Account Summar y Design docume nt for Fund Design Transfer Design docume docume nt for nt for issuing Bill cheque
Code for Accoun t Summa ry Code for Fund Transfe Code r Code for for Bill issuing Payme cheque nt books
Test plan and test cases for Test plan and Test test plan Test cases and plan for test and cases test for cases
Standard Operating Practices Knowledge
User Manual Application Management
Resources are one of the key components of any software project. Resources for this project can be classified into the following categories:
• Labour: These include the actual people who will be working on this project. There needs
to be a proper hierarchical structure in place for efficient managing. There will be a project manager who will be responsible for the entire project. There will be four module leaders under him who will be responsible for four different modules. Each module will employ 3 – 4 developers who will be responsible for developing each module. The developers will be responsible for testing and integrating their respective modules. There will be testers for testing the integrated codes base. The team will also consist of a system analyst who will analyse the client system and will accordingly prepare the technical specifications. It will also consist of a quality assurance team, which will be responsible for ensuring quality.
• Equipment: It will include workstations and other computing and office equipments. It
will also include desks, chairs, proper lightings and other such stuff for the staff. It will also include the hardware requirements for the projects like servers, network cables, internet ports, printers, scanners, photo copiers, etc. Software like OS, antivirus and other various important software need to be updated on all the workstations.
• Space: The management will require proper space for housing the resources. It will
include cabin for the manager and cubicles for other employees.
The resource allocation needs to be done on the basis of skill set and the management needs to be in constant touch with the HR department in order to get the right people. They have to manage the resource attrition and have to find suitable replacement. Also, if some critical activity is taking more than estimated time, management need to employ extra resources there from some other module or activity. The management, also, need to keep the resources motivated in order to get the maximum out of them, so that there will be no issues in completing the project on time.
Project needs to follow a strict deadline and also works on a budget. Any deviation from that can cause the company huge deal of losses and humiliation. Hence, risk analysis is very important step in the success of the project. It helps in analysing where the project can go wrong. There are three major causes of risk in this project.
Unavailability of resources:
The resources that are working on the project have complete knowledge of all the processes followed and the functionalities. It can happen that some of the resources may leave the team or the company for some better opportunity outside. Thus, the knowledge gained will go away with them. The team management will have to look for his replacement. It will take time to find a suitable replacement and to train him. This may cause considerable delay and may affect the final deadline.
Unavailability of key client personnel:
The team which is responsible for corresponding with the developers for requirement and other specifications need to be in constant touch with each other on a regular basis. They need to do weekly or fortnightly update meetings for status reports and updated. If, for some
reasons, these client personnel are unavailable, it will cause a delay in execution of the project.
There may be other technical problems like the environment issue, some peculiar bug in the code, inexperience of the developer, etc. that can cause delay in project completion. A priority can be given to each risk by allocating a probability rating (1 – 10) and a seriousness of impact rating (1 – 10). Multiplying the two together gives an overall score of priority purposes. For most serious risks (one with the highest scores), preventive measures to reduce or remove the risk should be specified. In some cases, contingency measures that can be undertaken once the risk has actually been materialized are more appropriate.