Software Lifecycle Management

The software development life cycle, or SDLC, encompasses all of the steps that an
organization follows when it develops software tools or applications. The SDLC is broken
down into seven stages; requirement gathering, UI Interface design, system architecture
design, development, testing, deployment and maintenance. A software project manager is
required during the entire software development lifecycle to do the entire software delivery
management.
•

The first stage in software development lifecycle is requirement gathering and
planning. It is the most important step of the entire SDLC and is done by senior
business analysts or product managers of the company. This stage consists of
requirement understanding, technical feasibility analysis and documentation of SRS
(Software Requirement Specifications). SRS templates are made and filled post
discussions with the client. In this collaborative exercise, many rounds of
discussions are held with the client and they are advised about all interactions that
the end users will have with the software system. The business analysis think
through all edge cases, imagine themselves in the shoes of the end-user and make
wireframes and mocks to show how the final web screens or mobile screens etc.
will look. Competitor benchmarking is done with existing competitive sites. Latest
technological trends are discussed for how to do things differently and more
intuitively.
Depending on time and cost constraints of the end-user, suggestions are also given
by software consultants for which functionality should be left out for next phase and
which are a must have for the first launch.
During this process lots of un-clear requirements get thrashed out in detail, and all
software features are spaced out with full data flow wireframes. Some functionality can be
out of the scope of project because of un-clear requirements in the beginning or due to
high cost so It is very important to do the requirement analysis right because it sets the
outline of the entire software project and helps in making the right management decisions
regarding development cost and project execution time lines.
•

•

•

•

The next step is UI interface design – This is the visual appearance and actual
physical look of the website or mobile app or desktop application. The software user
interface must be simple, easy to use, non-cluttered and intuitive. Users should
have a good navigation flow, a good organized page with all relevant content and
they should be able to easily access all features of the site without getting lost. UX
designers with experience of human computer interaction get involved at this stage
to make visually appealing designs that are web 2.0 compatible.
This is followed by design stage. This phase mainly involves making the web or
mobile application architecture which consists of database modeling, class
diagrams and feature sequence diagrams. The coding frameworks, libraries and
open source tools are identified. The is done by senior tech leads and the goal is to
understand site’s traffic and make a scalable web architecture which is secure, fast
and robust.
Next comes the development stage of SDLC which deals with the actual coding of
the project followed by software quality assurance Development and software QA
testing go hand in hand. Development is done by experienced software engineers.
A senior project managers gives them tasks to code with a software project lifecycle
chart called a Gantt chart that shows start and end time for coding each feature.
Feature dependencies are hash out which shows which feature depends on which
ones as pre-requisites. The Gantt chart shows how features can be parallely
executed by different developers and who works on which features. All software
engineers follow this to complete development. Software QA testing is done by QA
engineers who may be non-technical. They do black box testing to identify bugs that
may be either functional defects or potential breaks caused in the system due to
stress on the server, network speed or incorrect 3rd party integrations. In order to
lower the risk of pushing a deficient system in production, a rigorous software QA
testing
exercise
is
performed
by
experienced
test
engineers.
QA engineers should make comprehensive test cases in order to understand the
scope of testing. Practically, a test environment can never be an exact mirror image
of the production environment due to several factors such as difference in database
sizes, integrations, network security etc. and this can cause the system to behave
differently as that in the production environment. All such bugs are filed in a bug
reporting tool and assigned to the developer to fix it. However, it is not possible to
create a system that is completely ‘bug’ free. The main intent of the test engineers
to ensure that the system that is pushed to the production has minimum permissible
level of bugs and the system behaves in the desired fashion.
Deployment phase is final stage of the SDLC. This is is the release management
step when the final bug-free software code is taken from QA servers and deployed
on production servers. The software is launched for live and real users on such
production machines. This is done by experienced server administrators with
•

guidance from cloud computing consultants. It involves procuring resources for the
various components, like DB, application, etc. The first and most important step in
deployment is to estimate the traffic which in turn would help to create a cloud
deployment architecture plan that specifies the total number of servers needed and
where to host it. The final step is to procure the servers, configure them on needs of
the application and then launch the code.
In the complete software delivery management process, , software maintenance is
last step. Once the application is made live, server monitoring tasks, cloud
monitoring tasks, as well as alerts are set up to insure overall health of the system.
Based on user feedbacks minor changes/feature enhancements are done along
with bug fixing (if any).

The main intent of following SDLC is to produce a product that is time-efficient, costeffective and of high quality. The methodology under SDLC may vary across industries and
organization but the two well know methodology used today is waterfall SDLC and agile
SDLC. While waterfall model is a much traditional approach that begins with well-defined
requirements, agile SDCL is a methodology that begins with less strict guidelines and then
makes adjustments as needed in the process.

Contact Details:
Phone No:

Email:

Website:

(+91) 11 40658630

info@atlogys.com

http://www.atlogys.com

Copyright©
Automated Logical Software Pvt. Ltd.
All Rights Reserved

Software Lifecycle Management

  • 1.
    Software Lifecycle Management Thesoftware development life cycle, or SDLC, encompasses all of the steps that an organization follows when it develops software tools or applications. The SDLC is broken down into seven stages; requirement gathering, UI Interface design, system architecture design, development, testing, deployment and maintenance. A software project manager is required during the entire software development lifecycle to do the entire software delivery management. • The first stage in software development lifecycle is requirement gathering and planning. It is the most important step of the entire SDLC and is done by senior business analysts or product managers of the company. This stage consists of requirement understanding, technical feasibility analysis and documentation of SRS (Software Requirement Specifications). SRS templates are made and filled post discussions with the client. In this collaborative exercise, many rounds of discussions are held with the client and they are advised about all interactions that the end users will have with the software system. The business analysis think through all edge cases, imagine themselves in the shoes of the end-user and make wireframes and mocks to show how the final web screens or mobile screens etc. will look. Competitor benchmarking is done with existing competitive sites. Latest technological trends are discussed for how to do things differently and more
  • 2.
    intuitively. Depending on timeand cost constraints of the end-user, suggestions are also given by software consultants for which functionality should be left out for next phase and which are a must have for the first launch. During this process lots of un-clear requirements get thrashed out in detail, and all software features are spaced out with full data flow wireframes. Some functionality can be out of the scope of project because of un-clear requirements in the beginning or due to high cost so It is very important to do the requirement analysis right because it sets the outline of the entire software project and helps in making the right management decisions regarding development cost and project execution time lines. • • • • The next step is UI interface design – This is the visual appearance and actual physical look of the website or mobile app or desktop application. The software user interface must be simple, easy to use, non-cluttered and intuitive. Users should have a good navigation flow, a good organized page with all relevant content and they should be able to easily access all features of the site without getting lost. UX designers with experience of human computer interaction get involved at this stage to make visually appealing designs that are web 2.0 compatible. This is followed by design stage. This phase mainly involves making the web or mobile application architecture which consists of database modeling, class diagrams and feature sequence diagrams. The coding frameworks, libraries and open source tools are identified. The is done by senior tech leads and the goal is to understand site’s traffic and make a scalable web architecture which is secure, fast and robust. Next comes the development stage of SDLC which deals with the actual coding of the project followed by software quality assurance Development and software QA testing go hand in hand. Development is done by experienced software engineers. A senior project managers gives them tasks to code with a software project lifecycle chart called a Gantt chart that shows start and end time for coding each feature. Feature dependencies are hash out which shows which feature depends on which ones as pre-requisites. The Gantt chart shows how features can be parallely executed by different developers and who works on which features. All software engineers follow this to complete development. Software QA testing is done by QA engineers who may be non-technical. They do black box testing to identify bugs that may be either functional defects or potential breaks caused in the system due to stress on the server, network speed or incorrect 3rd party integrations. In order to lower the risk of pushing a deficient system in production, a rigorous software QA testing exercise is performed by experienced test engineers. QA engineers should make comprehensive test cases in order to understand the scope of testing. Practically, a test environment can never be an exact mirror image of the production environment due to several factors such as difference in database sizes, integrations, network security etc. and this can cause the system to behave differently as that in the production environment. All such bugs are filed in a bug reporting tool and assigned to the developer to fix it. However, it is not possible to create a system that is completely ‘bug’ free. The main intent of the test engineers to ensure that the system that is pushed to the production has minimum permissible level of bugs and the system behaves in the desired fashion. Deployment phase is final stage of the SDLC. This is is the release management step when the final bug-free software code is taken from QA servers and deployed on production servers. The software is launched for live and real users on such production machines. This is done by experienced server administrators with
  • 3.
    • guidance from cloudcomputing consultants. It involves procuring resources for the various components, like DB, application, etc. The first and most important step in deployment is to estimate the traffic which in turn would help to create a cloud deployment architecture plan that specifies the total number of servers needed and where to host it. The final step is to procure the servers, configure them on needs of the application and then launch the code. In the complete software delivery management process, , software maintenance is last step. Once the application is made live, server monitoring tasks, cloud monitoring tasks, as well as alerts are set up to insure overall health of the system. Based on user feedbacks minor changes/feature enhancements are done along with bug fixing (if any). The main intent of following SDLC is to produce a product that is time-efficient, costeffective and of high quality. The methodology under SDLC may vary across industries and organization but the two well know methodology used today is waterfall SDLC and agile SDLC. While waterfall model is a much traditional approach that begins with well-defined requirements, agile SDCL is a methodology that begins with less strict guidelines and then makes adjustments as needed in the process. Contact Details: Phone No: Email: Website: (+91) 11 40658630 info@atlogys.com http://www.atlogys.com Copyright© Automated Logical Software Pvt. Ltd. All Rights Reserved