SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
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:

Contenu connexe

Tendances

SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...Tori Wieldt
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference ArchitecturesSonatype
 
Secure DevOPS Implementation Guidance
Secure DevOPS Implementation GuidanceSecure DevOPS Implementation Guidance
Secure DevOPS Implementation GuidanceTej Luthra
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile FundamentalsGraham Dick
 
One page effective project status report
One page effective project status reportOne page effective project status report
One page effective project status reportTechno-PM PTY LTD
 
Definition of Done Canvas.pptx
Definition of Done Canvas.pptxDefinition of Done Canvas.pptx
Definition of Done Canvas.pptxKaizenko
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesAshutosh Agarwal
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationKeith Pleas
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceIntland Software GmbH
 
Vendor transition checklist final
Vendor transition checklist finalVendor transition checklist final
Vendor transition checklist finalBlue Leopard LLC
 
Earned Value Management and Agile
Earned Value Management and AgileEarned Value Management and Agile
Earned Value Management and AgileGlen Alleman
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsJulian Mazzitelli
 
Project Management Kickoff Meeting Template Powerpoint Presentation Slides
Project Management Kickoff Meeting Template Powerpoint Presentation SlidesProject Management Kickoff Meeting Template Powerpoint Presentation Slides
Project Management Kickoff Meeting Template Powerpoint Presentation SlidesSlideTeam
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD PipelineJames Wickett
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile DevelopmentJosiah Renaudin
 
Agile Dependency Management
Agile Dependency ManagementAgile Dependency Management
Agile Dependency ManagementKmanthei
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesOnur Demir
 

Tendances (20)

SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
 
DevOps & DevEx
DevOps & DevExDevOps & DevEx
DevOps & DevEx
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures
 
Secure DevOPS Implementation Guidance
Secure DevOPS Implementation GuidanceSecure DevOPS Implementation Guidance
Secure DevOPS Implementation Guidance
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile Fundamentals
 
One page effective project status report
One page effective project status reportOne page effective project status report
One page effective project status report
 
Definition of Done Canvas.pptx
Definition of Done Canvas.pptxDefinition of Done Canvas.pptx
Definition of Done Canvas.pptx
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practices
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
SonarQube Overview
SonarQube OverviewSonarQube Overview
SonarQube Overview
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practice
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
Vendor transition checklist final
Vendor transition checklist finalVendor transition checklist final
Vendor transition checklist final
 
Earned Value Management and Agile
Earned Value Management and AgileEarned Value Management and Agile
Earned Value Management and Agile
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd products
 
Project Management Kickoff Meeting Template Powerpoint Presentation Slides
Project Management Kickoff Meeting Template Powerpoint Presentation SlidesProject Management Kickoff Meeting Template Powerpoint Presentation Slides
Project Management Kickoff Meeting Template Powerpoint Presentation Slides
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile Development
 
Agile Dependency Management
Agile Dependency ManagementAgile Dependency Management
Agile Dependency Management
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering Techniques
 

Similaire à Software Development Standard Operating Procedure

Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDFMayank Kumar
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
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 ShopJim Plush
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposalcfry
 
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 ENGINEERINGSangeetha Rangarajan
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)FarjanaAhmed3
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile EngineeringJohn Lewis
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Increasing Quality with DevOps
Increasing Quality with DevOpsIncreasing Quality with DevOps
Increasing Quality with DevOpsCoveros, Inc.
 
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 2010guest5639fa9
 
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 presoElad Elrom
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Abdelkrim Boujraf
 

Similaire à 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
 
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) 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
 
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 Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
 
Put to the Test
Put to the TestPut to the Test
Put to the Test
 

Dernier

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 

Dernier (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 

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: