SlideShare a Scribd company logo
An Engineering
Approach to Build
Websites
Software Engineering Principles
Sunny’s E-Commerce Website
Sunny owns a bookshop, which is doing reasonably well, and he decides to offer his
services online via an e-commerce website.
He starts to do some research on how to build a website. After a few days of searching
and reading blogs he puts down his options.
1. Hire a freelance developer who can create a website for him.
2. Use a website builder and try to create a website on his own with some help from a
freelancer, which may cost him less.
3. Learn programming and start building a website from scratch.
What do you think?
➔ How will his Website perform?
The approaches may work but if he gets lucky and the website traffic
goes up then he may be in some trouble. How will the system keep
up with the traffic? The website may need more storage, how will
that be handled?
➔ How will the Website handle H/W and S/W Updates?
Has analysis been done for handling software and hardware
updates?
➔ Security?
Has website security been considered?
In short does the website development
following any process?
Most of the Software Projects fail because
they don’t follow a proper methodology.
Tip
An Engineering
based approach
may help.
Following a set of proven principles and best practices
can help when building a Website or a Software
Application. These principles are part of Software
Engineering Process and borrow heavily from other
Engineering disciplines.
Consider building a bridge or a new house. Both follow a
process which eventually results in a building that can
survive tests of time.
Coming to Sunny’s website the following basic features
are needed in the website-
1. Website should be able to fulfill all the requirements. Key features - finding books,
viewing book details and making purchases.
2. Website should be up most of the time. Especially during peak hours.
3. Website should be easy to maintain.
4. Website performance should be good.
5. As website traffic grows it should be able to scale.
6. Making changes and adding new features should be easy.
7. Website should be secure.
How to ensure that Sunny get’s a Website which fulfills
Functional and Non-Functional Requirements?
Let’s see the steps at a high level that can be followed.
Each step is important and if not done properly can lead to project failure.
The team we need should include—Project Manager, Business Analyst, Technology
Architect, Software Developers, Testing Team and someone to manage the
Infrastructure.
In startups it’s pretty common to find someone wearing multiple hats at the same time,
which is fine as long as the person knows what he/she is doing.
The Project Manager needs to do thorough planning and ensure project follows a strict
timeline.
Phase 1 - Requirement Gathering
The requirements needs to be captured clearly by some professional.
We usually involve a Business Analyst at this stage. It’s important that BA captures
both the functional and non-functional requirements.
The BA can then come up with data flow diagrams, ER-diagrams etc. which define the
various features and how they are expected to work.
This cycle can take some time. Once the requirements have been captured they need to
be reviewed with the Sunny. A sign off is needed from him to proceed to the next stage.
Output - A Requirement Document
Phase 2 - Share possible Cost & Effort estimates
Based on prior experience a rough estimate can be given to Sunny which can meet the
requirements.
It can help him decide if he wants to wait or go ahead.
Phase 3 - Build Mockups and Prototypes
This step is optional but can help provide Sunny a better picture of what he can expect
to get post development.
The prototype does not implement the features yet.
Phase 4 - Architecture and Design
Once requirements are in place the BA team will share it with the Architect. Role of
Architect can include, but not limited to-
● Come up with a high level design or blueprint.
● Identify how system can meet the functional and non-functional requirements.
● Identify the main components. Identify reusability.
● Identify external systems and any integrations needed.
● Identify constraints.
● Perform capacity planning.
● Do a cost-effort analysis.
Phase 5 - Detailed Design
After Blueprint is ready the Architect can drill down to create a detailed design of the
system like
● How all the pieces can work together.
● Which technology stack can be used. Which frameworks.
● Define API’s.
● Identify the version control process and also how to build and deploy the changes.
An incremental approach is helpful.
● Share the coding best practices with the team.
● Some time should be spent towards the research and evaluation of possible
solutions. To choose the right tools for the job. Architect can involve developers to
provide inputs and should then come up with a plan to implement the features.
Phase 6 - Development
Only after the detailed design is in place should development start.
The designs are reviewed and then passed on to the developers.
Having competent developers who have prior experience in the technology stack is
needed.
The developers should also be able to do unit testing of the code they write. They
should also understand the design and work closely with the Architect.
Phase 7 - Testing
Thorough testing should be performed to validate that all the requirements are met.
Load testing should be performed to identify bottlenecks and break points.
Phase 8 - Code Deployment
Deploy the code to production environment.
Plan and prioritize next set of features, defects etc.
General Guidelines
● Following an incremental build / deploy approach is recommended by having short
sprints. It’s good to showcase features to client and get his feedback. The fail fast
approach should be followed.
● In all the stages proper reviews must happen to ensure there are no last minute
surprises.
● Proper planning is the pillar of this process. If timelines are not being met then
Project Manager should have plans to address that. End of the day no one wants to
pay extra.
● Daily status update can be done to check progress.
This engineering process can improve the chances
of projects success. More than that it can ensure a
quality product.
I have covered some of the important aspects
here. There is more to Software Engineering
though and hence the need for experts. I hope this
proves to be a good starting point to help you
make better choices.
Recommended Reading
● Waterfall Model
● Agile Software Development
● Software Engineering
Meet Ankur
He is a Software Architect who loves
to solve complex problems.
Blog
LinkedIn

More Related Content

What's hot

Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
Cristian Andreica
 
Agile + Benefits + Transition Nov 2009
Agile + Benefits + Transition   Nov 2009Agile + Benefits + Transition   Nov 2009
Agile + Benefits + Transition Nov 2009
Michael Sahota
 
How to Build a Proof of Concept
How to Build a Proof of Concept How to Build a Proof of Concept
How to Build a Proof of Concept
Michael Hamilton
 
Project Management Growth Practices
Project Management Growth PracticesProject Management Growth Practices
Project Management Growth Practices
Amir Shokri
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness Advocacy
Marie Claire Ponsaran
 
Agile Software Development Model
Agile Software Development ModelAgile Software Development Model
Agile Software Development Model
Ritika Balagan
 
A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...
Peter Bodenheimer
 
Agile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management PresentationAgile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management Presentation
Prateek Sharma
 
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | EdurekaAgile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
Edureka!
 
Scrum methodology
Scrum methodologyScrum methodology
Scrum methodology
Ayman Farhat
 
Product Management @VivaReal for Founder Institute (fi.co) - Medellin July 2013
Product Management @VivaReal for Founder Institute (fi.co) - Medellin July 2013Product Management @VivaReal for Founder Institute (fi.co) - Medellin July 2013
Product Management @VivaReal for Founder Institute (fi.co) - Medellin July 2013
Federico Ortega
 
6 Project Management Mistakes We Made (Founder Institute, Hong Kong chapter)
6 Project Management Mistakes We Made (Founder Institute, Hong Kong chapter)6 Project Management Mistakes We Made (Founder Institute, Hong Kong chapter)
6 Project Management Mistakes We Made (Founder Institute, Hong Kong chapter)
Martin Kessler
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Omar Al-Sabek
 
Product Agility: 3 fundamentals from the trenches
Product Agility: 3 fundamentals from the trenchesProduct Agility: 3 fundamentals from the trenches
Product Agility: 3 fundamentals from the trenches
Pedro Teixeira
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
Mikalai Alimenkou
 
Stc chandan patary_ua_testing _ stc
Stc chandan patary_ua_testing _ stcStc chandan patary_ua_testing _ stc
Stc chandan patary_ua_testing _ stc
Chandan Patary
 
Teamleader testcon 2019
Teamleader testcon 2019Teamleader testcon 2019
Teamleader testcon 2019
Thomas Noë
 
GROWTH PRACTICES - Cracking the PM Career - CHAPTER 7
GROWTH PRACTICES - Cracking the PM Career - CHAPTER 7GROWTH PRACTICES - Cracking the PM Career - CHAPTER 7
GROWTH PRACTICES - Cracking the PM Career - CHAPTER 7
Amir Shokri
 
Introduction to software Engineering
Introduction to software EngineeringIntroduction to software Engineering
Introduction to software Engineering
Mohamed Gaafar
 
Agile Development Practice
Agile Development PracticeAgile Development Practice
Agile Development Practice
Kshitiz Goel
 

What's hot (20)

Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Agile + Benefits + Transition Nov 2009
Agile + Benefits + Transition   Nov 2009Agile + Benefits + Transition   Nov 2009
Agile + Benefits + Transition Nov 2009
 
How to Build a Proof of Concept
How to Build a Proof of Concept How to Build a Proof of Concept
How to Build a Proof of Concept
 
Project Management Growth Practices
Project Management Growth PracticesProject Management Growth Practices
Project Management Growth Practices
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness Advocacy
 
Agile Software Development Model
Agile Software Development ModelAgile Software Development Model
Agile Software Development Model
 
A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...
 
Agile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management PresentationAgile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management Presentation
 
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | EdurekaAgile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
 
Scrum methodology
Scrum methodologyScrum methodology
Scrum methodology
 
Product Management @VivaReal for Founder Institute (fi.co) - Medellin July 2013
Product Management @VivaReal for Founder Institute (fi.co) - Medellin July 2013Product Management @VivaReal for Founder Institute (fi.co) - Medellin July 2013
Product Management @VivaReal for Founder Institute (fi.co) - Medellin July 2013
 
6 Project Management Mistakes We Made (Founder Institute, Hong Kong chapter)
6 Project Management Mistakes We Made (Founder Institute, Hong Kong chapter)6 Project Management Mistakes We Made (Founder Institute, Hong Kong chapter)
6 Project Management Mistakes We Made (Founder Institute, Hong Kong chapter)
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Product Agility: 3 fundamentals from the trenches
Product Agility: 3 fundamentals from the trenchesProduct Agility: 3 fundamentals from the trenches
Product Agility: 3 fundamentals from the trenches
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
 
Stc chandan patary_ua_testing _ stc
Stc chandan patary_ua_testing _ stcStc chandan patary_ua_testing _ stc
Stc chandan patary_ua_testing _ stc
 
Teamleader testcon 2019
Teamleader testcon 2019Teamleader testcon 2019
Teamleader testcon 2019
 
GROWTH PRACTICES - Cracking the PM Career - CHAPTER 7
GROWTH PRACTICES - Cracking the PM Career - CHAPTER 7GROWTH PRACTICES - Cracking the PM Career - CHAPTER 7
GROWTH PRACTICES - Cracking the PM Career - CHAPTER 7
 
Introduction to software Engineering
Introduction to software EngineeringIntroduction to software Engineering
Introduction to software Engineering
 
Agile Development Practice
Agile Development PracticeAgile Development Practice
Agile Development Practice
 

Similar to An Engineering Approach to Build Websites

Automation Project Survival Guide.pptx
Automation Project Survival Guide.pptxAutomation Project Survival Guide.pptx
Automation Project Survival Guide.pptx
Raymund Gatoc
 
Planning more effective milestones in web design projects it-toolkits
Planning more effective milestones in web design projects   it-toolkitsPlanning more effective milestones in web design projects   it-toolkits
Planning more effective milestones in web design projects it-toolkits
IT-Toolkits.org
 
aw_survivalguide_r2opt
aw_survivalguide_r2optaw_survivalguide_r2opt
aw_survivalguide_r2opt
Reza Abed
 
Product management for entrepreneurs
Product management for entrepreneursProduct management for entrepreneurs
Product management for entrepreneurs
Abhinaw Kumar
 
The Business value of agile development
The Business value of agile developmentThe Business value of agile development
The Business value of agile development
Phavadol Srisarnsakul
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
Mohan Late
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative development
Deny Prasetia
 
Software Project management
Software Project managementSoftware Project management
Software Project management
sameer farooq
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
Icalia Labs
 
How To Review The Sprints Efficiently
How To Review The Sprints EfficientlyHow To Review The Sprints Efficiently
How To Review The Sprints Efficiently
Lemi Orhan Ergin
 
Saving Money on Website Development Expert Insights.pdf
Saving Money on Website Development Expert Insights.pdfSaving Money on Website Development Expert Insights.pdf
Saving Money on Website Development Expert Insights.pdf
WebGuru Infosystems Pvt. Ltd.
 
Agile Process.docx
Agile Process.docxAgile Process.docx
Agile Process.docx
kirthana25
 
Feature Prioritization Techniques for an Agile PMs by Microsoft PM
Feature Prioritization Techniques for an Agile PMs by Microsoft PMFeature Prioritization Techniques for an Agile PMs by Microsoft PM
Feature Prioritization Techniques for an Agile PMs by Microsoft PM
Product School
 
The Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayThe Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool Essay
Heidi Owens
 
223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt
Deepgaichor1
 
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
Cuneiform Consulting Pvt Ltd.
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
Srinivasan Hariharan
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
Fáber D. Giraldo
 
TechOut_Generalized Workflow
TechOut_Generalized WorkflowTechOut_Generalized Workflow
TechOut_Generalized Workflow
Kabeed Mansur
 
Agile Efficacy Presentation
Agile Efficacy PresentationAgile Efficacy Presentation
Agile Efficacy Presentation
Clarion Marketing
 

Similar to An Engineering Approach to Build Websites (20)

Automation Project Survival Guide.pptx
Automation Project Survival Guide.pptxAutomation Project Survival Guide.pptx
Automation Project Survival Guide.pptx
 
Planning more effective milestones in web design projects it-toolkits
Planning more effective milestones in web design projects   it-toolkitsPlanning more effective milestones in web design projects   it-toolkits
Planning more effective milestones in web design projects it-toolkits
 
aw_survivalguide_r2opt
aw_survivalguide_r2optaw_survivalguide_r2opt
aw_survivalguide_r2opt
 
Product management for entrepreneurs
Product management for entrepreneursProduct management for entrepreneurs
Product management for entrepreneurs
 
The Business value of agile development
The Business value of agile developmentThe Business value of agile development
The Business value of agile development
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative development
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
 
How To Review The Sprints Efficiently
How To Review The Sprints EfficientlyHow To Review The Sprints Efficiently
How To Review The Sprints Efficiently
 
Saving Money on Website Development Expert Insights.pdf
Saving Money on Website Development Expert Insights.pdfSaving Money on Website Development Expert Insights.pdf
Saving Money on Website Development Expert Insights.pdf
 
Agile Process.docx
Agile Process.docxAgile Process.docx
Agile Process.docx
 
Feature Prioritization Techniques for an Agile PMs by Microsoft PM
Feature Prioritization Techniques for an Agile PMs by Microsoft PMFeature Prioritization Techniques for an Agile PMs by Microsoft PM
Feature Prioritization Techniques for an Agile PMs by Microsoft PM
 
The Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayThe Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool Essay
 
223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt
 
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
TechOut_Generalized Workflow
TechOut_Generalized WorkflowTechOut_Generalized Workflow
TechOut_Generalized Workflow
 
Agile Efficacy Presentation
Agile Efficacy PresentationAgile Efficacy Presentation
Agile Efficacy Presentation
 

Recently uploaded

22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
Mahmoud Morsy
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
riddhimaagrawal986
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
GauravCar
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
AjmalKhan50578
 

Recently uploaded (20)

22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
 

An Engineering Approach to Build Websites

  • 1. An Engineering Approach to Build Websites Software Engineering Principles
  • 2. Sunny’s E-Commerce Website Sunny owns a bookshop, which is doing reasonably well, and he decides to offer his services online via an e-commerce website. He starts to do some research on how to build a website. After a few days of searching and reading blogs he puts down his options. 1. Hire a freelance developer who can create a website for him. 2. Use a website builder and try to create a website on his own with some help from a freelancer, which may cost him less. 3. Learn programming and start building a website from scratch.
  • 3. What do you think? ➔ How will his Website perform? The approaches may work but if he gets lucky and the website traffic goes up then he may be in some trouble. How will the system keep up with the traffic? The website may need more storage, how will that be handled? ➔ How will the Website handle H/W and S/W Updates? Has analysis been done for handling software and hardware updates? ➔ Security? Has website security been considered?
  • 4. In short does the website development following any process? Most of the Software Projects fail because they don’t follow a proper methodology. Tip An Engineering based approach may help.
  • 5. Following a set of proven principles and best practices can help when building a Website or a Software Application. These principles are part of Software Engineering Process and borrow heavily from other Engineering disciplines. Consider building a bridge or a new house. Both follow a process which eventually results in a building that can survive tests of time.
  • 6. Coming to Sunny’s website the following basic features are needed in the website- 1. Website should be able to fulfill all the requirements. Key features - finding books, viewing book details and making purchases. 2. Website should be up most of the time. Especially during peak hours. 3. Website should be easy to maintain. 4. Website performance should be good. 5. As website traffic grows it should be able to scale. 6. Making changes and adding new features should be easy. 7. Website should be secure.
  • 7. How to ensure that Sunny get’s a Website which fulfills Functional and Non-Functional Requirements? Let’s see the steps at a high level that can be followed. Each step is important and if not done properly can lead to project failure. The team we need should include—Project Manager, Business Analyst, Technology Architect, Software Developers, Testing Team and someone to manage the Infrastructure. In startups it’s pretty common to find someone wearing multiple hats at the same time, which is fine as long as the person knows what he/she is doing. The Project Manager needs to do thorough planning and ensure project follows a strict timeline.
  • 8. Phase 1 - Requirement Gathering The requirements needs to be captured clearly by some professional. We usually involve a Business Analyst at this stage. It’s important that BA captures both the functional and non-functional requirements. The BA can then come up with data flow diagrams, ER-diagrams etc. which define the various features and how they are expected to work. This cycle can take some time. Once the requirements have been captured they need to be reviewed with the Sunny. A sign off is needed from him to proceed to the next stage. Output - A Requirement Document
  • 9. Phase 2 - Share possible Cost & Effort estimates Based on prior experience a rough estimate can be given to Sunny which can meet the requirements. It can help him decide if he wants to wait or go ahead.
  • 10. Phase 3 - Build Mockups and Prototypes This step is optional but can help provide Sunny a better picture of what he can expect to get post development. The prototype does not implement the features yet.
  • 11. Phase 4 - Architecture and Design Once requirements are in place the BA team will share it with the Architect. Role of Architect can include, but not limited to- ● Come up with a high level design or blueprint. ● Identify how system can meet the functional and non-functional requirements. ● Identify the main components. Identify reusability. ● Identify external systems and any integrations needed. ● Identify constraints. ● Perform capacity planning. ● Do a cost-effort analysis.
  • 12. Phase 5 - Detailed Design After Blueprint is ready the Architect can drill down to create a detailed design of the system like ● How all the pieces can work together. ● Which technology stack can be used. Which frameworks. ● Define API’s. ● Identify the version control process and also how to build and deploy the changes. An incremental approach is helpful. ● Share the coding best practices with the team. ● Some time should be spent towards the research and evaluation of possible solutions. To choose the right tools for the job. Architect can involve developers to provide inputs and should then come up with a plan to implement the features.
  • 13. Phase 6 - Development Only after the detailed design is in place should development start. The designs are reviewed and then passed on to the developers. Having competent developers who have prior experience in the technology stack is needed. The developers should also be able to do unit testing of the code they write. They should also understand the design and work closely with the Architect.
  • 14. Phase 7 - Testing Thorough testing should be performed to validate that all the requirements are met. Load testing should be performed to identify bottlenecks and break points.
  • 15. Phase 8 - Code Deployment Deploy the code to production environment. Plan and prioritize next set of features, defects etc.
  • 16. General Guidelines ● Following an incremental build / deploy approach is recommended by having short sprints. It’s good to showcase features to client and get his feedback. The fail fast approach should be followed. ● In all the stages proper reviews must happen to ensure there are no last minute surprises. ● Proper planning is the pillar of this process. If timelines are not being met then Project Manager should have plans to address that. End of the day no one wants to pay extra. ● Daily status update can be done to check progress.
  • 17. This engineering process can improve the chances of projects success. More than that it can ensure a quality product. I have covered some of the important aspects here. There is more to Software Engineering though and hence the need for experts. I hope this proves to be a good starting point to help you make better choices.
  • 18. Recommended Reading ● Waterfall Model ● Agile Software Development ● Software Engineering
  • 19. Meet Ankur He is a Software Architect who loves to solve complex problems. Blog LinkedIn