Software Development
Life Cycle in Easy Words:
This is a very basic information that will help developers precisely
for beginners to understand the software development process. There are thousands
of books blogs available online offline to read and understand this process. I
just thought to write it in simple and straight forward way to make it easy to
understand.
Collecting Business Process requirements from stockholders
and putting them in a document called Business Requirement Document (BRD). We will formulate the business
requirements and map them to the available features of the platform on which you
are going to develop. In this process we can list out these point as below,
Functionality available out of
the box or built-in:
These functionalities are readily available in platform
which can be used to create functionality for the business requirement without
any changes or customization.
Functionality need to be customized:
These functionalities are available in the platform but need
to be changed or modified or customized according to our requirement.
Functionality need to be developed from scratch:
These are going to be new features and need to be developed
from scratch.
Integration to third party or Legacy Systems:
These are dependent requirement. Either dependent on third
party or dependent on different team. In this case required supporting development
need to be done.
High Level Design Document:
It’s a diagram which depicts relation and interaction
between different modules and systems. As the name suggests its at high level
diagram showing complete system.
Low Level Design Document:
It’s a details diagram of all the modules, functionalities
and systems. As the name suggest all the low-level details of the interactions are
covered by this diagram.
Architecture Diagram:
It’s a complete diagram of the system which includes details
of servers, database and any third parties involved.
Creating Test cases
and Test Data:
In software development process testing is the crucial part.
Testing efforts are more compared to development depending on how critical system
it is. To verify the system functionalities, each functionality split into smaller
scenarios. For each scenario tester creates a case which will be tested to see
whether its meeting the expected requirement or not.
Sample data need to be setup to test the test cases for example
to test a login functionality, Tester should have a Test account to login with
username and password.
Release Notes:
Once the testing is passed the release team need to put down
the release notes which basically contains functionalities, or the features
developed by the development team in that release.
Following
picture gives a better idea of the SDLC. Many iterations will go on to before
development starts and in testing and bug fixing:
Comments