This website includes Education Information like a programming language, job interview question, general knowledge.mathematics

Education log

PageNavi Results No.

Ads

Wednesday, December 25, 2019

software development life cycle models

         software development life cycle models



In this article today learn software development life cycle model  previous tutorial provides a what is software project management.

software development cycle


Software development cycle is used to break the entire application development into a number of processes (Figure 1.1). Small and manageable processes can be better controlled and monitored. These allow a methodical and systematic approach for development. An exact number of processes will depend on the size of the projects and also varies from organization to organization. In the same organization, depending on the skill of team members, the maturity of processes and the development cycle.can also vary. Sometimes-processes are combined to make it shorter. In all the cases, a development cycle would at least consist of the following software development life cycle model  processes:





software development life cycle models





Pre-sales:

In this process, the vendor prepares the technical and financial capabilities of the organization. The pre-sales team understands the business model of the prospects and the likely area where there is a business need for developing a software application. The pre-sales team makes research in the domain as well as on the business need of the prospect and interacts with other researching organizations such as Gartner to get valuable inputs related to their field of research. This information is then used to prepare a proposal to the prospect. Sometimes, looking at the need, the prospect may himself ask for a proposal from the vendor. This is known as "request for proposal" or RFP and is usually sent to a number of competing vendors. The proposal, in response to this RFP, will contain estimation (ballpark based rough estimation), quality processes adopted in the organizations to show predictability and quality of end deliverables from the vendor, financial proposals, and past record of completing similar projects for other customers.


Requirement Analysis:

Requirements from the customers are gathered and analyzed. A team from the software development team would meet the customer and would ask questions about the features and functionalities that are needed to be developed. These requirements are recorded and then reviewed again by the team along with the customer. A feasibility study is carried out to understand the viability of developing these requirements into software applications. The findings of this feasibility study are discussed with customers. Once the customer signs off this document, this process is complete. At the end of this process, the customer should give a go-ahead for the application development and the project is kicked off. The formal document that is usually expected at the end of this process is a purchase order, work order, LOI, or any such document indicating that the project execution has been awarded to the vendor. It is a good practice that the customer indicates the details of the quality of the deliverables with an acceptable limit for defects, delivery schedule expected, and budget allocated for the project. This practice ensures that all the objectives of the project are mentioned tacitly, and the project team can follow the same during execution.



Kick-Off or Initiation:

Once the objectives are determined and the go-ahead is obtained from the customer, the management from vendor organization should appoint a PM for execution. The PM, now, has the responsibility to successfully execute the project to completion. At this stage, when he/she has the LOI or any such document from the customer, he/she identifies all the stakeholders in this project. He/she then calls for a meeting with these stakeholders. The stakeholders could be infrastructure representative (for providing hardware and software resources required for the project), HR representative (for recruiting personnel for the project), a quality representative (for setting the quality process and objectives for the team), visa representative (for arranging visa for overseas travel), technical architects (to provide technical design and assistance), training department (to provide required domain and technical training to the team members), identified team members for the project (to share and make them understand the objectives of the project), etc. Depending on the nature of the project, there could be more stakeholders such as the legal department a representative who would appraise the team about legal points related to particular project in question. For examples, legal points related to the country
 Software Project Management where the application is to be installed and statutory need for maintaining data and back up for transactions.


Design:


This stage is the next step after the requirement analysis stage. The entry criteria for this stage is the signed off requirement document from the customer. The activities in this stage are converting the functional requirements stated in the requirement document to design specifications. These specifications are arrived at by looking into hardware and software constraints, for example, if PCs with lower memory are to be used, then design needs to take care of performance-related issues. Here, the design will be made such that processing time for the CPU will be reduced. This will ensure that the final output from the application is available within the performance criteria mentioned in the requirement document.
Point to be noted that during the design stage the design team usually breaks the entire requirements into manageable sınall modules. These modules can be developed in parallel so as to reduce the development cycle. The idea of breaking the requirements into small modules is to make manageable, independent modules that can be developed in parallel, thus, saving time.

Construction:

On the basis of functional design specifications, the development team writes code, does unit self-testing, and then integrates all modules. Here, the team needs to take care that all specifications mentioned in the design documents are met. Periodic reviews are carried out to ensure that the code complies with the defined standard and also meets design specifications.



Testing:

The team prepares a testing strategy. The strategy shows the type of testing that needs to be done, the stage when testing needs to be carried out, and the participants in that testing. It also explains the criteria as to when testing should be stopped. A test plan is also prepared, which will indicate all test cases and the expected results from this testing. While testing, proper environment set up (which includes test data set up, creation of IDs for testing, if required) is also done so that a proper simulated condition is created
Acceptance Testing and Warranty

   After proper testing is done and dies results are validated against the requirements, the development team would deliver the application to the customer. The customer would then test the application using the test plan that he has prepared. This testing by a customer is called acceptance testing and is carried out by a customer or his representatives. Once the customer is happy with the quality of the application, the development team would install the application on the customer machines The team also supports the customer and application after acceptance testing. The period of this support warranty will depend on the contract signed with the customer at the beginning of the project. After successfully testing the application, and migrating data to the new database, if required, the application "goes live." "Go live" implies the application is ready to be used in the production and used for business transactions. It also means that all the required end users are trained and well versed with the new application and can use them on a regular basis.


Maintenance:


This process starts after the application is installed and goes to production and the warranty period is
ver. The project team enters into an agreement with a customer to fix bugs and issues coming out of production (maintenance), enhance existing features, and add new features as well. The maintenance is usually carried out by contract.

No comments:

Post a Comment