SlideShare a Scribd company logo
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.
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
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
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.
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
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)
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)
Q10. Please provide your suggestion for improvement in the overall development cycle
and ensuring the bug free development and delivery.
Answer:

More Related Content

What's hot

Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Best practices quality assurance
Best practices   quality assuranceBest practices   quality assurance
Best practices quality assuranceShakal Shukla
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteriaSoftheme
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
 
End-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingEnd-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of Testing
Josiah Renaudin
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
IBM UrbanCode Products
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
Gaya1985
 
Shift Left Security - The What, Why and How
Shift Left Security - The What, Why and HowShift Left Security - The What, Why and How
Shift Left Security - The What, Why and How
DevOps.com
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Mike McGarr
 
Testing & Quality Assurance
Testing & Quality AssuranceTesting & Quality Assurance
Testing & Quality Assurance
Anand Subramaniam
 
Qa testing best practices
Qa testing best practicesQa testing best practices
Qa testing best practices
Nuwantha Fernando
 
DevSecOps 101
DevSecOps 101DevSecOps 101
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
Carl Bruiners
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
suwalki24.pl
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and process
gouravkalbalia
 
Software testing
Software testingSoftware testing
Software testing
Madhumita Chatterjee
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
ShashankBajpai24
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
Trimantra Software Solutions
 
Agile testing
Agile testingAgile testing
Agile testing
Yogita patil
 

What's hot (20)

Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Best practices quality assurance
Best practices   quality assuranceBest practices   quality assurance
Best practices quality assurance
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteria
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
End-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingEnd-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of Testing
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Shift Left Security - The What, Why and How
Shift Left Security - The What, Why and HowShift Left Security - The What, Why and How
Shift Left Security - The What, Why and How
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Testing & Quality Assurance
Testing & Quality AssuranceTesting & Quality Assurance
Testing & Quality Assurance
 
Qa testing best practices
Qa testing best practicesQa testing best practices
Qa testing best practices
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and process
 
Software testing
Software testingSoftware testing
Software testing
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Agile testing
Agile testingAgile testing
Agile testing
 

Similar to Software Development Standard Operating Procedure

Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
Srinivasan Hariharan
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
Mayank Kumar
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
jackcrews
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
Jim Plush
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
cfry
 
Introduction to Behavior Driven Development
Introduction to Behavior Driven Development Introduction to Behavior Driven Development
Introduction to Behavior Driven Development
Robin O'Brien
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWDVikas Sarin
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Sangeetha Rangarajan
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
FarjanaAhmed3
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
Nikhil Todkar
 
DevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesDevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practices
ayoubbahaddouayoub
 
Top 10 clean code practices to reduce technical debt
Top 10 clean code practices to reduce technical debtTop 10 clean code practices to reduce technical debt
Top 10 clean code practices to reduce technical debt
Sparity1
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile EngineeringJohn Lewis
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Unit iv
Unit ivUnit iv
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 
Increasing Quality with DevOps
Increasing Quality with DevOpsIncreasing Quality with DevOps
Increasing Quality with DevOps
Coveros, Inc.
 
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose presoTest Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Elad Elrom
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010
guest5639fa9
 

Similar to Software Development Standard Operating Procedure (20)

Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
 
Introduction to Behavior Driven Development
Introduction to Behavior Driven Development Introduction to Behavior Driven Development
Introduction to Behavior Driven Development
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
DevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesDevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practices
 
Top 10 clean code practices to reduce technical debt
Top 10 clean code practices to reduce technical debtTop 10 clean code practices to reduce technical debt
Top 10 clean code practices to reduce technical debt
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Unit iv
Unit ivUnit iv
Unit iv
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Increasing Quality with DevOps
Increasing Quality with DevOpsIncreasing Quality with DevOps
Increasing Quality with DevOps
 
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose presoTest Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 

Recently uploaded (20)

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 

Software Development Standard Operating Procedure

  • 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: