Friday, 26 July 2013

Software Development Life Cycle (SDLC)

A set of guidelines followed to have an optimum development.
A framework that describes the activities performed at each stage of a software development project.

 Pre-SDLC

 PRE-SDLC PROCESS

 Sign-in:

It is the process in which the legal agreement is done between the customer and the development company in such a way that the customer agrees to give the project to the development Company, the project development is done with in a specific budget and the project is to be delivered to the customer on so and so deadline.

Kick of meeting:

It is the first meeting conducted soon after the project came with in the development company in order to discuss and do the following:
Overview of the project, Nature of the customer, Project team selection (project manager the development team, quality head and quality team).
The participants of this meeting are HOO (Head of Operations), Technical Manager and the Software Quality Manager. Once the project manager is selected he will release a PIN (Project Initiation Note).

PIN (Project Initiation Note)

          PIN means sending e-mail to the CEO of the development company asking for formal permission to start the project development activities. Once the PM gets the green signal from CEO the project development activities will be geared up (started).

 Software Development Life Cycle (SDLC)

It contains following phases.

1 1.  Initial phase / Requirement phase.
2 2. Analysis phase
3 3.    Design phase.
4 4.   Coding phase.
5 5.   Testing phase.
6 5.  Delivery and maintenance phase.

1. Initial-Phase/ Requirements phase:

    Task     :     Interacting with the customer and gathering the requirements

    Roles    :    Business Analyst and Engagement Manager (EM).

    Process:     First the BA will take an appointment with the customer, Collects the requirement template, meets the customer, gathers requirements and comes back to the company with the requirements document.
Then the EM will go through the requirements document. Try to find additional requirements, Get the prototype (dummy, similar to end product) developed in order to get exact details in the case of unclear requirements or confused customers, and also deal with any excess cost of the project.

      Proof: BRD, The Requirements document is the proof of completion of the first phase of SDLC.

Alternate names of the Requirements Document:
(Various companies and environments use different terminologies, but the logic is same)
FRS: Functional Requirements Specification.
CRS : Customer/Client Requirement Specification,
URS : User Requirement Specifications,
BRS : Business Requirement Specifications,
BDD : Business Design Document,
BD : Business Document.

2Analysis Phase:


    Tasks    :    Feasibility Study,
                       Tentative planning,
                       Technology selection

     Roles   :    System Analyst (SA)
                       Project Manager (PM)  
                       Technical manager (TM)    

    Process:    A detailed study on the requirements and judging the possibilities and scope of the requirements is known as feasibility study. It is done by the Manager level teams usually. After that in the next step we move to a temporary scheduling of staff to initiate the project, Select a suitable technology to develop the project effectively (customer’s choice is given first preference, If it is feasible).
              And Finally the Hardware, software and Human resources required are listed out in a document to baseline the project.

     Proof   :    The proof document of the analysis phase is SRS (System Requirement Specification.)
       

 3.Design Phase:


    Tasks:    High level Designing (H.L.D)
                   Low level Designing (L.L.D)

     Role:    Chief Architect (handle HLD)
                  Technical lead (involved in LLD)

     Process:  The Chief Architect will divide the whole project into modules by drawing some graphical layouts using Unified Modeling Language (UML). The Technical lead will further divide those modules into sub modules using UML. And both will be responsible for visioning the GUI (The screen where user interacts with the application OR Graphical User Interface.) and developing the Pseudo code (A dummy code or usually, it’s a set of English Instructions to help the developers in coding the application.)
ProofTDD Technical Design Document.


4. Coding Phase:

     Task:     Developing the programs

     Roles:     Developers/programmers

     Process: The developers will take the support of technical design document and will be following the coding standards, while actual source code is developed. Some of the Industry standard coding methods include Indentation, Color coding, Commenting etc.
            The complete implementation of Design phase is Coding phase. In this the pseudo code is converted into source code. In this phase developer will develop the actual code using the source code and they release the application to the tester, the application is converted into “.exe” format in the case of client server applications and the packet of code like WAR files with a URL (web address) in the case of web application will be given for testing. Once test engineer receive this testing is performed.
The developers must follow the coding standards in order to ensure that the program is clear and systematic so that anybody can enhance it under maintenance of project in feature. Some of the coding standards are as follows.
1.    Four character margins have to be left on the left side.
2.    Comments must be placed for each and every specific block of code.
3.    Color coding must be maintained for various types of variables.
4.    A single line space must be maintained between two blocks of code as well as between a comment and a block etc.

     Proof:  The proof document of the coding phase is Source Code Document (SCD).

5.Testing Phase:


    Task     : Testing

    Roles    : Test engineers, Quality Assurance team.

    Process:

·         First, the Requirements document will be received by the testing department
·         The test engineers will review the requirements in order to understand them.
·         While revising, If at all any doubts arise, then the testers will list out all the unclear requirements in a document named Requirements Clarification Note (RCN).
·         Then they send the RCN to the author of the requirement document ( i.e, Business Analyst ) in order to get the clarifications.
·         Once the clarifications are done and sent to the testing team, they will take the test case template and write the test cases. (Test cases like example1 above).
·         Once the first build is released, they will execute the test cases.
·         While executing the test cases, if at all they find any defects, they will report it in the Defect Profile Document or DPD.
·         Since the DPD is in the common repository, the developers will be notified of the status of the defect.
·         Once the defects are sorted out, the development team releases the next build for testing. And also update the status of defects in the DPD.
·         Testers will here check for the previous defects, related defects, new defects and update the DPD.
Proof: The last two steps are carried out till the product is defect free, so quality assured product is the proof of the testing phase (and that is why it is a very important stage of SDLC in modern times).

 Delivery & Maintenance phase


    Tasks     : Delivery
                  : Post delivery maintenance

     Roles     : Deployment engineers 
     Process

Delivery: The deployment engineers will go to the customer environment and install the application in the customer's environment & submit the application along with the appropriate release notes to the customer.

Maintenance: Once the application is delivered the customer will start using the application, while using if any problem occurs, then it becomes a new task, Based on the severity of the issue corresponding roles and process will be formulated. Some customers may be expecting continuous maintenance; In that case a team of software engineers will be taking care of the application regularly.  
                         In this process usually PM, SQM, DM (Deployment Manager), Development team and testing team are involved. During this phase the following documents are produced.
i.      Certification document
ii.     User guide and help stuff
iii.    Deployment document (used for installation)
iv.   SDN document (Software Delivery Note) Used for letting know the customer special information about the product.

Are you looking for part /full tome job click  Here

No comments:

Post a Comment