You are on page 1of 6

1.

Assume you have been identified as the project manager for clearance software project;

a) Identify the steps in this project.


b) Identify the relevant human resource needed for each stage.
c) Number of individual at each stage.
d) Put estimated payment for each stage.
e) Draw a Gantt chart the distribution of staff in each project life.
f) Show the amount of money should be paid during the project.
NB: should include transport, any catering and accommodations
A typical Software Development Life Cycle consists of the following stages −
Stage 1: Planning and Requirement Analysis
Requirement analysis is the most important and fundamental stage in SDLC. It is performed by
the senior members of the team with inputs from the customer, the sales department, market
surveys and domain experts in the industry. This information is then used to plan the basic
project approach and to conduct product feasibility study in the economical, operational and
technical areas.
Planning for the quality assurance requirements and identification of the risks associated with the
project is also done in the planning stage. The outcome of the technical feasibility study is to
define the various technical approaches that can be followed to implement the project
successfully with minimum risks.

Stage 2: Defining Requirements


Once the requirement analysis is done the next step is to clearly define and document the product
requirements and get them approved from the customer or the market analysts. This is done
through an SRS (Software Requirement Specification) document which consists of all the
product requirements to be designed and developed during the project life cycle.

Stage 3: Designing the Product Architecture


SRS is the reference for product architects to come out with the best architecture for the product
to be developed. Based on the requirements specified in SRS, usually more than one design
approach for the product architecture is proposed and documented in a DDS - Design Document
Specification.

This DDS is reviewed by all the important stakeholders and based on various parameters as risk
assessment, product robustness, design modularity, budget and time constraints, the best design
approach is selected for the product.
A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third party modules (if any).
The internal design of all the modules of the proposed architecture should be clearly defined with
the minutest of the details in DDS.

Stage 4: Building or Developing the Product


In this stage of SDLC the actual development starts and the product is built. The programming
code is generated as per DDS during this stage. If the design is performed in a detailed and
organized manner, code generation can be accomplished without much hassle.

Developers must follow the coding guidelines defined by their organization and programming
tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high
level programming languages such as C, C++, Pascal, Java and PHP are used for coding. The
programming language is chosen with respect to the type of software being developed.

Stage 5: Testing the Product


This stage is usually a subset of all the stages as in the modern SDLC models, the testing
activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing
only stage of the product where product defects are reported, tracked, fixed and retested, until the
product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance


Once the product is tested and ready to be deployed it is released formally in the appropriate
market. Sometimes product deployment happens in stages as per the business strategy of that
organization. The product may first be released in a limited segment and tested in the real
business environment (UAT- User acceptance testing).

Then based on the feedback, the product may be released as it is or with suggested enhancements
in the targeting market segment. After the product is released in the market, its maintenance is
done for the existing customer base.

2
1. General analysis and requirements gathering:
In software development, requirements for the products to be designed are sourced in this step.
For most projects, this step happens to be the primary focus. Project managers, interested
stakeholders gather around to meet and put together the requirements. Questions such as “Who
gets to use the product? Utilization of the product, what kind of data goes into the product? And
what kind of data is returned by the product as output?” are all answered in this step.

After the requirements have been gathered, and questions like above have been answered,
analysis of the conditions comes next. The plausibility of putting the elements assembled into the
final product is analyzed and carefully studied in detail. A requirement specification document is
created. After completion of the requirements analysis, the development team can then proceed
to the next level of making out a product design to be followed throughout the development
process.

2. Product Design:
During this step, the creation of the product design from the requirements documentation ensues.
Product design assists in the specification of the necessary hardware required to run the product,
in other words, the deployment. It also helps in clearly marking out the general product
architecture, depicting the software modules required to be developed and their relationships.

It is also time to make a choice of development platform, e.g. .NET, Java, Laravel, Ruby on
Rails or FileMaker. This choice depends on the requirements themselves but also on which
platform is commonly used within the company.

Furthermore, the User Interface and User Experience are designed in this step. Taking into
account the target users of the software application and the main features, a user-friendly and
modern looking User Interface is designed. If you like to read more about “Foundation UX:
Prototyping”, please read our UX article here.

The product design layouts further serve as a base for the next step in the development cycle. In
the next step, which involves coding, the development team would have to come up with a plan
for implementing the programming language.

3. Coding:
After the phase of product design, the development team moves on to the stage of coding and
implementation. Once the development team has the requirement specification and the design
documents in hand, the software developers can start programming. Besides coding, the
developers also perform unit or module testing in this phase, as to detect potential problems as
early as possible in the development phase.

Some companies prefer to outsource the coding activities, and many times also the previous step
of Product Design, to a third-party software development company. Reasons for this outsourcing
vary from simply not having the required resources or skills available or wanting to focus with
their own team on the company’s core products and services. An interesting article about things
to consider when outsourcing can be found here.

After the coding phase, the team can then move on to the next step of development, which is
testing.

4. Testing:
After the step of coding and implementation, the team can then proceed to integration and
validation testing. Software development service teams are in the constant process of releasing
different software applications for various purposes, as such this process is necessary as it is
important to test the product against all parameters available vigorously. This phase exposes
potential bugs in the product, and if any, these are corrected.

As we saw in the previous step, the software developers themselves will perform unit or module
testing. The next stage of testing would be Integration testing. Here the interaction between the
individual modules and/or external systems are tested. After integration testing Validation testing
will be performed, testing the end software product based on the requirements and UI/UX
design, from an end-user point of view.

A different approach to test is the so called Test Driven Development (TDD) method. Using this
method software developers would first write a test script for particular requirements and only
after that write the code to fulfill those requirements. Then the test is run and the code is adjusted
until the test passes.

If the software application contains no more (non-acceptable) problems anymore, the application
is deployed
5. Deployment of the Product:
Once the software product passes the testing phase, deployment of the product can ensue. Once
the product is ready, the first batch is rolled out and opened to the public. That is known as Beta
testing. If any changes are required due to customer feedback, or any bugs not seen during the
testing phase arises, they can be corrected and implemented during this phase of software
development.

Deployment normally involves setting up a so called ‘Production’ server on which the software
will run. Such a server can be one of the company’s own servers or it can be in the ‘cloud’ by
using for example Amazon Web Services or Microsoft Azure.

After deployment the next phase is Maintenance and Operations.

6. Maintenance and Operations:


Once all above steps have been successfully passed, and the software product is fully released
into the market, the product must be kept operational and maintenance of the product is required.
This involves fixing issues, keeping the systems up to date with the latest operating system
patches or updates of used third-party software. In case the user base of the software product
increases significantly, expansion in the form of additional processing power, memory and/or
database capacity might need to be done to keep the system running smoothly

Epilogue:
We went through the 6 basic steps of software development. As is probably understandable, the
used steps will vary at each company, to accommodate for the environment and situations at each
company and for each individual software development project.

If you would like to elaborate more about this topic or if you would like to discuss how our
Software Development services can help you or your company.
Refs: https://www.tutorialspoint.com/sdlc/sdlc_overview.htm

You might also like