1. Software Development
Standard Operating Procedure
VERSION HISTORY
VERSION NO. 1.0 CURRENT VERSION
DATE
1-JUNE-2022
DESCRIPTION OF
CHANGE
EFFECTIVE DATE 1-JUNE-2022
NAME OF ROLE REVISION DATE
DIVISION AUTHOR RUPESH
CHANCHAL
DEPARTMENT DEVELOPMENT APPROVED BY PRAFUL SHAH
PROGRAMMING STANDARD OPERATING PRACTICE
Objective
Implementing programming standards and best practices would help the team to detect the
problems early or even prevent them completely. This will increase efficiency throughout the
software development life cycle. We are trying to achieve following objective by
implementing this process.
Enhance Efficiency
Reduce project failure risk
Minimize complexity
Early Bug rectification and delivery
Saving team's and company's time & cost
Avoiding Rework
Quality & Timely Delivery
Employee Responsibilities
Here are described the responsibilities of the development team for ensuring that any
software development tasks he/she does, follows the standard and best practices. This is to
ensure the quality output of the products that we develop and save the time and resources.
Advantage of Implementation of Coding Standards
Offers uniformity to the code created by different engineers.
Enables the creation of reusable code.
Makes it easier to detect errors.
Make code simpler, more readable, and easier to maintain.
Boost programmer efficiency and generates faster results.
2. Below mentioned are few of the standards practices that we
need to follow during or software development life cycle.
1. Code Readability
Code Readability is the fundamental of any software program we write, it is key to
maintainability and working together with a team. It helps you team member
understand your code easily and efficiently that saves lots of time of all team
members. Following are the best and standard practices which must be followed
whenever you are writing a code.
Commenting & Documentation
See the example below, most IDE's in the market today provides such feature for
commenting, no matter which you are using.
Avoid Obvious Comments
When the text is obvious avoid writing the comments, see the example below.
Consistent Naming Scheme
"camelCase" & "unerscores" are two best naming schemes, follow any one of your
choice and keep the consistency though out the code.
Separation of Code and Data
3. This is another principle that applies to almost all programming languages in all
environments. In the case of web development, the "data" usually implies HTML
output.
When PHP was first released many years ago, it was primarily seen as a template
engine. It was common to have big HTML files with a few lines of PHP code in
between. However, things have changed over the years, and websites have become
more and more dynamic and functional. The code is now a huge part of web
applications, and it is no longer a good practice to combine it with the HTML.
You can either apply the principle to your application by yourself, or you can use a
third-party tool (template engines, frameworks, or CMSs) and follow their
conventions.
Read Open-Source Code
Reading is the most effective source of knowledge gathering, therefore reading the
Open Source will help you to understand how to format your code and how to keep
it clean and more readable. See the below example
Use Meaningful Names for Variables and Functions
You will save a lot of your precious time by using meaningful names for variables
and functions. This may not seem like a big deal when you are just starting out and
4. the programs you write are just a couple of dozen lines long. However, things get
very confusing fairly quickly for code that has hundreds or thousands of lines.
Code Refactoring
When you "refactor," you make changes to the code without changing any of its
functionality. You can think of it like a "cleanup," for the sake of improving
readability and quality.
2. Standardize headers for different modules
It is easier to understand and maintain code when the headers of different modules align
with a singular format. For example, each header should contain:
Module Name
Date of creation
Name of creator of module
History of modification
Summary of what the module does
Functions in that module
Variables accessed by the module
3. Leave comments and prioritize documentation
Each code segment must have proper meaningful & standard comment in it. Please
refer to the best practices for example.
Each project's source must have proper documentations
o API documentation & collection
o ER Diagram
o Class Diagram
o Technical Documentation of code.
4. Exception Handling
„Exception‟ refers to problems, issues, or uncommon events that occur when code is
run and disrupt the normal flow of execution. This either pauses or terminates
program execution, which is a scenario that must be avoided.
However, when they do occur, use the following techniques to minimize damage to
overall execution in terms of both time and dev effort:
Keep the code in a try-catch block.
Ensure that auto recovery has been activated and can be used.
Consider that it might be an issue of software/network slowness. Wait a few
seconds for the required elements to show up.
Use real-time log analysis.
5. Reusability and Scalability
In coding, reusability is an essential design goal.
Because if modules and components have been tested already, a lot of time can be
saved by reusing them. Software projects often begin with an existing framework or
structure that contains a previous version of the project. Therefore, by reusing
existing software components and modules, you can cut down on development cost
and resources.
5. This directly results in faster delivery of the project, thereby increasing profitability.
Another key aspect to pay attention to is the „scalability‟ of code. As user demands
change, new features and improvements are constantly added to an application.
Therefore, the ability to incorporate updates is an essential part of the software
design process.
6. Unit Testing
Testing your work while coding is a vital part of software development and should be
well-planned. It requires to understand the use cases properly before the actual coding
of the software begins.
Also, while basic unit testing is a good practice to adopt, it is also useful to perform
Automated Functional Testing (AFT) with the help of tools such as Geb Spock and
Selenium.
7. Peer Review
“PEER REVIEWS CATCH 60 PERCENT OF THE DEFECTS”
This method is very helpful when it comes to refactoring your code. Others might see
better implementation to optimize your code or just make your code more elegant. It
also ensures that developers adhere to standards and the work is double checked. In
addition to all that, it is a wonderful way for developers to learn from each other and
get cross project understanding and knowledge gathering without spending any extra
time for it. In case if a team is not available another team can easily take over the
project in no time.
8. Code Review
This tasks is to be done on a weekly basis by the Project Manager allocated to the
project to ensure that the team is following the standard practices and clarify if they
have any kind of understanding issue with any points.
EMPLOYEE SIGNATURE
Obtain Signature from employees to confirm that they have read and understand
procedures.
STAFF MEMBER NAME SIGNATURE DATE
6. Feedback and Assessment Report
Project Name Version No.
Release Date: QA Date
Team Members
Project Manager BA Team
Back End Team Front End Team
QA Team UAT Team
QA Report
Type of Bugs Total # of Bugs
Functional Bug
API Side Bug
UI Bug
UX Bug
Validation Bug
Security Bug
Performance Bug
Compatibility Bug
Other(Please mention)
Total
Questionnaire
Q1. What was the root cause of these Bugs?
Answer:
Choose any one or multiple from the below Options.
Complex Scope
Scope not understood correctly
Scope not described correctly
No Unit Test Perfumed
Design not clear
Design changed
Scope changed
Time Pressure
Too much rework on same module created confusion
Others (Mention Below)
7. Q2. What will you do to avoid that next time this kind of bugs do not appear or
minimize in the system?
Answer:
Q3. Did you perform Unit Test during the development?
Answer:
Yes
No (Please mention the reason)
Q4. Did you submit the Unit Test Report?
Answer:
Yes
No (Please mention the reason)
Q5. Will you do the Unit Test for next development tasks?
Answer:
Yes
No (Please mention the reason)
Q6. Did you follow standard practices for the development?
Answer:
Yes
No (Please mention the reason)
Q7. Did you properly document the code as per the standard development guideline?
Answer:
Yes
No (Please mention the reason)
Q8. Did you create any reusable component in this project?
Answer:
Yes
No (Please mention the reason)
Q9. Did you use any reusable component from any other project, in this project to
save development time?
Answer:
Yes
No (Please mention the reason)
8. Q10. Please provide your suggestion for improvement in the overall development cycle
and ensuring the bug free development and delivery.
Answer: