SlideShare a Scribd company logo
WHITE PAPER
                             www.intellavia.com | September 23, 2010



Configuration Management of Web Application Development
–Where did you go

Does your ad agency or web design firm use the right processes and tools that
aid in the design, development, and deployment of your website, o rapp?

By Marc Piparo, VP Technology, Intellavia LLC
© Intellavia, 09/23/2010. Permission to share if source is fully credited.

Configuration Management (CM) of software development has its roots in the earliest days of software
development practices. Even the Countess Ada Lovelace, daughter of Lord Byron, is recognized as the
very first computer programmer, used configuration management practices and procedures in her work
with Charles Babbage – and this was back in the 1840s. So with such a long history, it’s ironic that web
application development, arguably the most modified and heavily updated software, continues a
downward trend when it comes to configuration management.

It’s amazing how increasingly rare it is becoming for web developers to work in any type of
configuration managed environment of their software, especially when it comes to version control. It’s
also glaring that the majority of open-source tools that web developers use to build their web
applications are typically under some form of a team environment and versioning control, so why the
disconnect with the web app itself?

The primary reason is typically a lack of discipline that exists today in web application development.
While software engineers with a solid background in CM and an understanding and the respect of the
importance of these processes still thrive, the web application landscape is increasingly lacking this
discipline. It appears the vast proliferation of web development tools have enabled the explosion of web
application development activity along with the exponential expanse of the World Wide Web, hence,
web application development has become a victim of its own success. It has come at the cost of the loss
of software engineering discipline. No longer are software engineers, along with their discipline and
practices, a required resource on an increasing number of web application projects–the reason many
projects increasingly continue to omit configuration management processes.

So what exactly is Software Configuration Management or SCM? To put it simply, it’s a set of
processes and tools that aid in the design, development, and deployment of software. Without it,
especially in the quickly changing world of web application development, source code and supporting
documents become nothing more than a mutation of its previous state, unable to be tracked or
explained. And unfortunately, this is the world we live in today. Web files are being updated and
modified on the local desktops of a developer, only to be uploaded directly to the web server, replacing
its former version of itself, with all history lost. And it’s that important history, containing the



                                       29 S. Orange Ave. 3rd Floor, Orlando, FL 32801 | 407.412.7244 | www.intellavia.com | 1
WHITE PAPER
                            www.intellavia.com | September 23, 2010



information about what was modified, by who, when, and why, that is vital to maintaining a solid
development environment.

While the depth of CM processes that should be implemented can certainly be measured based upon the
complexity of the application and number of developers involved, one vital part of CM that must not be
overlooked, is versioning control. Version control is vital to every…yes, “EVERY”…artifact created
for the project. This includes not only the source code and supporting files, but documents as well.
Documents relating to requirements, design, or even a sketch on a napkin should be scanned in.
Basically any bit of information that is relevant to the application being built should be captured in
version control. Since the ability to simply view a document is not enough, the ability to view past
revisions of these documents is an essential necessity, especially in environment with ever changing
requirements, such as a web site.

So, while I certainly do not expect every web app to be developed in a fully fledged process driven
environment, (though I personally would never work outside of one) the use of some components,
specifically version control, is enough to at least have a level of CM in your project.

The following suggestions are some final food for thought:

   1. Implement a versioning control system (VCS), such as SubVersion (SVN), CVS, or if $$$ is not
      issue, proprietary systems such as Perforce and Visual Source Safe.

   2. Create a build and deployment process, even if it’s just a single page. This process can be highly
      effective and should discourage uploading or modifying files directly on any deployment server,
      including a test server.

   3. Block or disable FTP access to host servers, (both test and production). This will eliminate the
      instinct (and ability) to change files directly on the server.

   4. Always commit your files, including documents, to the project repository to maintain version
      control.

   5. Make use of version control systems deployment and version mechanisms, and ‘diff’ and
      history functionality to determine changes from one revision to the next.

   6. All builds and deployments to test, staging, production, or any platform should be built from the
      repository, create branches where specific modifications unique to a server or web app instance
      are needed.

   7. Choose a versioning control system that your IDE supports either inherently or through an add-
      on or plug-in. This makes working with the VCS very convenient and many times seamless.



                                      29 S. Orange Ave. 3rd Floor, Orlando, FL 32801 | 407.412.7244 | www.intellavia.com | 2
WHITE PAPER
                             www.intellavia.com | September 23, 2010




   8. Do not dismiss following a formal development process as an unnecessary burden, even for
      small scale projects. Most development processes, such as RUP, will scale to your project size
      and contain invaluable disciplines.


   9. Tag release versions within the VCS, including beta or user acceptance testing versions, so a
      baseline can be established for these releases.

   10. Implement a backup procedure for your VCS repositories, preferably off-site, with a
       documented recovery plan.

As a Director of Marketing or Brand Manager, how many times have you heard "we must have
overwritten some files" as an excuse for your website not working?

Or, what about needing information as to when your website was changed, and who changed it?

Bet you'd love to easily replace those files that were incorrectly edited or *gasp* deleted by the intern...

Wouldn't you love to have those requirements and brainstorming documents from your iPhone app
project stored and tracked? ("I thought it was going to do _______, remember?")

Let Intellavia show you the love, and how many agencies #fail when it comes to configuration
management.

We'd like to hear your comments, even project horror stories.

© Intellavia, 09/23/2010. Permission to share if source is fully credited.




                                       29 S. Orange Ave. 3rd Floor, Orlando, FL 32801 | 407.412.7244 | www.intellavia.com | 3

More Related Content

Viewers also liked

ISciences at the Hands-On Museum Local Tech Event
ISciences at the Hands-On Museum Local Tech EventISciences at the Hands-On Museum Local Tech Event
ISciences at the Hands-On Museum Local Tech Event
ISCIENCES, L.L.C.
 
No Silver Bullet – Essence of Content Management for the Web
No Silver Bullet – Essence of Content Management for the WebNo Silver Bullet – Essence of Content Management for the Web
No Silver Bullet – Essence of Content Management for the Web
Intellavia
 
Report on Cancun COP16
Report on Cancun COP16Report on Cancun COP16
Report on Cancun COP16
ISCIENCES, L.L.C.
 
COP16 Road to Cancun (ISciences)
COP16 Road to Cancun (ISciences)COP16 Road to Cancun (ISciences)
COP16 Road to Cancun (ISciences)
ISCIENCES, L.L.C.
 
Road to durban_share
Road to durban_shareRoad to durban_share
Road to durban_share
ISCIENCES, L.L.C.
 
Report on durban_share
Report on durban_shareReport on durban_share
Report on durban_share
ISCIENCES, L.L.C.
 

Viewers also liked (6)

ISciences at the Hands-On Museum Local Tech Event
ISciences at the Hands-On Museum Local Tech EventISciences at the Hands-On Museum Local Tech Event
ISciences at the Hands-On Museum Local Tech Event
 
No Silver Bullet – Essence of Content Management for the Web
No Silver Bullet – Essence of Content Management for the WebNo Silver Bullet – Essence of Content Management for the Web
No Silver Bullet – Essence of Content Management for the Web
 
Report on Cancun COP16
Report on Cancun COP16Report on Cancun COP16
Report on Cancun COP16
 
COP16 Road to Cancun (ISciences)
COP16 Road to Cancun (ISciences)COP16 Road to Cancun (ISciences)
COP16 Road to Cancun (ISciences)
 
Road to durban_share
Road to durban_shareRoad to durban_share
Road to durban_share
 
Report on durban_share
Report on durban_shareReport on durban_share
Report on durban_share
 

Similar to Configuration management intellavia_sept2010[1]

Tech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsTech Stack & Web App Development For Startups
Tech Stack & Web App Development For Startups
ZimbleCode
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release Automation
Jules Pierre-Louis
 
White-Paper-Continuous-Delivery
White-Paper-Continuous-DeliveryWhite-Paper-Continuous-Delivery
White-Paper-Continuous-Delivery
alkhan50
 
DevOps Pragmatic Overview
DevOps Pragmatic OverviewDevOps Pragmatic Overview
DevOps Pragmatic Overview
Mykola Marzhan
 
Quality Attributes of Web Software Applications ∗
Quality Attributes of Web Software Applications ∗Quality Attributes of Web Software Applications ∗
Quality Attributes of Web Software Applications ∗
hasnainqayyum1
 
Software Lifecycle Management
Software Lifecycle ManagementSoftware Lifecycle Management
Software Lifecycle Management
Ankit Jain
 
Full Stack Web Development Basics to Know.pdf
Full Stack Web Development Basics to Know.pdfFull Stack Web Development Basics to Know.pdf
Full Stack Web Development Basics to Know.pdf
Laura Miller
 
John N. Lewis - Resume - Public
John N. Lewis - Resume - Public John N. Lewis - Resume - Public
John N. Lewis - Resume - Public
John N. Lewis
 
Top DevOps Best Practices for a Successful Transition in 2023
Top DevOps Best Practices for a Successful Transition in 2023Top DevOps Best Practices for a Successful Transition in 2023
Top DevOps Best Practices for a Successful Transition in 2023
SofiaCarter4
 
Agile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is builtAgile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is built
Vincent Burckhardt
 
Dev ops intro
Dev ops introDev ops intro
Dev ops intro
Raju Raju
 
Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.
Massimo Talia
 
Best Practices for Full-Stack Development: A Comprehensive Guide
Best Practices for Full-Stack Development: A Comprehensive GuideBest Practices for Full-Stack Development: A Comprehensive Guide
Best Practices for Full-Stack Development: A Comprehensive Guide
priyanka rajput
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dm
Actian Corporation
 
The Importance of Plugins in WooCommerce Development
The Importance of Plugins in WooCommerce DevelopmentThe Importance of Plugins in WooCommerce Development
The Importance of Plugins in WooCommerce Development
BeePlugin
 
PPT - A slice of cake php
PPT - A slice of cake phpPPT - A slice of cake php
PPT - A slice of cake php
Konstant Infosolutions Pvt. Ltd.
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
sourav verma
 
The State of DevOps Tools: A Primer
The State of DevOps Tools: A PrimerThe State of DevOps Tools: A Primer
The State of DevOps Tools: A Primer
DevOps.com
 
CI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABITCI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABIT
alkhan50
 
8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce
AutoRABIT
 

Similar to Configuration management intellavia_sept2010[1] (20)

Tech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsTech Stack & Web App Development For Startups
Tech Stack & Web App Development For Startups
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release Automation
 
White-Paper-Continuous-Delivery
White-Paper-Continuous-DeliveryWhite-Paper-Continuous-Delivery
White-Paper-Continuous-Delivery
 
DevOps Pragmatic Overview
DevOps Pragmatic OverviewDevOps Pragmatic Overview
DevOps Pragmatic Overview
 
Quality Attributes of Web Software Applications ∗
Quality Attributes of Web Software Applications ∗Quality Attributes of Web Software Applications ∗
Quality Attributes of Web Software Applications ∗
 
Software Lifecycle Management
Software Lifecycle ManagementSoftware Lifecycle Management
Software Lifecycle Management
 
Full Stack Web Development Basics to Know.pdf
Full Stack Web Development Basics to Know.pdfFull Stack Web Development Basics to Know.pdf
Full Stack Web Development Basics to Know.pdf
 
John N. Lewis - Resume - Public
John N. Lewis - Resume - Public John N. Lewis - Resume - Public
John N. Lewis - Resume - Public
 
Top DevOps Best Practices for a Successful Transition in 2023
Top DevOps Best Practices for a Successful Transition in 2023Top DevOps Best Practices for a Successful Transition in 2023
Top DevOps Best Practices for a Successful Transition in 2023
 
Agile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is builtAgile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is built
 
Dev ops intro
Dev ops introDev ops intro
Dev ops intro
 
Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.
 
Best Practices for Full-Stack Development: A Comprehensive Guide
Best Practices for Full-Stack Development: A Comprehensive GuideBest Practices for Full-Stack Development: A Comprehensive Guide
Best Practices for Full-Stack Development: A Comprehensive Guide
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dm
 
The Importance of Plugins in WooCommerce Development
The Importance of Plugins in WooCommerce DevelopmentThe Importance of Plugins in WooCommerce Development
The Importance of Plugins in WooCommerce Development
 
PPT - A slice of cake php
PPT - A slice of cake phpPPT - A slice of cake php
PPT - A slice of cake php
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
The State of DevOps Tools: A Primer
The State of DevOps Tools: A PrimerThe State of DevOps Tools: A Primer
The State of DevOps Tools: A Primer
 
CI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABITCI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABIT
 
8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 

Configuration management intellavia_sept2010[1]

  • 1. WHITE PAPER www.intellavia.com | September 23, 2010 Configuration Management of Web Application Development –Where did you go Does your ad agency or web design firm use the right processes and tools that aid in the design, development, and deployment of your website, o rapp? By Marc Piparo, VP Technology, Intellavia LLC © Intellavia, 09/23/2010. Permission to share if source is fully credited. Configuration Management (CM) of software development has its roots in the earliest days of software development practices. Even the Countess Ada Lovelace, daughter of Lord Byron, is recognized as the very first computer programmer, used configuration management practices and procedures in her work with Charles Babbage – and this was back in the 1840s. So with such a long history, it’s ironic that web application development, arguably the most modified and heavily updated software, continues a downward trend when it comes to configuration management. It’s amazing how increasingly rare it is becoming for web developers to work in any type of configuration managed environment of their software, especially when it comes to version control. It’s also glaring that the majority of open-source tools that web developers use to build their web applications are typically under some form of a team environment and versioning control, so why the disconnect with the web app itself? The primary reason is typically a lack of discipline that exists today in web application development. While software engineers with a solid background in CM and an understanding and the respect of the importance of these processes still thrive, the web application landscape is increasingly lacking this discipline. It appears the vast proliferation of web development tools have enabled the explosion of web application development activity along with the exponential expanse of the World Wide Web, hence, web application development has become a victim of its own success. It has come at the cost of the loss of software engineering discipline. No longer are software engineers, along with their discipline and practices, a required resource on an increasing number of web application projects–the reason many projects increasingly continue to omit configuration management processes. So what exactly is Software Configuration Management or SCM? To put it simply, it’s a set of processes and tools that aid in the design, development, and deployment of software. Without it, especially in the quickly changing world of web application development, source code and supporting documents become nothing more than a mutation of its previous state, unable to be tracked or explained. And unfortunately, this is the world we live in today. Web files are being updated and modified on the local desktops of a developer, only to be uploaded directly to the web server, replacing its former version of itself, with all history lost. And it’s that important history, containing the 29 S. Orange Ave. 3rd Floor, Orlando, FL 32801 | 407.412.7244 | www.intellavia.com | 1
  • 2. WHITE PAPER www.intellavia.com | September 23, 2010 information about what was modified, by who, when, and why, that is vital to maintaining a solid development environment. While the depth of CM processes that should be implemented can certainly be measured based upon the complexity of the application and number of developers involved, one vital part of CM that must not be overlooked, is versioning control. Version control is vital to every…yes, “EVERY”…artifact created for the project. This includes not only the source code and supporting files, but documents as well. Documents relating to requirements, design, or even a sketch on a napkin should be scanned in. Basically any bit of information that is relevant to the application being built should be captured in version control. Since the ability to simply view a document is not enough, the ability to view past revisions of these documents is an essential necessity, especially in environment with ever changing requirements, such as a web site. So, while I certainly do not expect every web app to be developed in a fully fledged process driven environment, (though I personally would never work outside of one) the use of some components, specifically version control, is enough to at least have a level of CM in your project. The following suggestions are some final food for thought: 1. Implement a versioning control system (VCS), such as SubVersion (SVN), CVS, or if $$$ is not issue, proprietary systems such as Perforce and Visual Source Safe. 2. Create a build and deployment process, even if it’s just a single page. This process can be highly effective and should discourage uploading or modifying files directly on any deployment server, including a test server. 3. Block or disable FTP access to host servers, (both test and production). This will eliminate the instinct (and ability) to change files directly on the server. 4. Always commit your files, including documents, to the project repository to maintain version control. 5. Make use of version control systems deployment and version mechanisms, and ‘diff’ and history functionality to determine changes from one revision to the next. 6. All builds and deployments to test, staging, production, or any platform should be built from the repository, create branches where specific modifications unique to a server or web app instance are needed. 7. Choose a versioning control system that your IDE supports either inherently or through an add- on or plug-in. This makes working with the VCS very convenient and many times seamless. 29 S. Orange Ave. 3rd Floor, Orlando, FL 32801 | 407.412.7244 | www.intellavia.com | 2
  • 3. WHITE PAPER www.intellavia.com | September 23, 2010 8. Do not dismiss following a formal development process as an unnecessary burden, even for small scale projects. Most development processes, such as RUP, will scale to your project size and contain invaluable disciplines. 9. Tag release versions within the VCS, including beta or user acceptance testing versions, so a baseline can be established for these releases. 10. Implement a backup procedure for your VCS repositories, preferably off-site, with a documented recovery plan. As a Director of Marketing or Brand Manager, how many times have you heard "we must have overwritten some files" as an excuse for your website not working? Or, what about needing information as to when your website was changed, and who changed it? Bet you'd love to easily replace those files that were incorrectly edited or *gasp* deleted by the intern... Wouldn't you love to have those requirements and brainstorming documents from your iPhone app project stored and tracked? ("I thought it was going to do _______, remember?") Let Intellavia show you the love, and how many agencies #fail when it comes to configuration management. We'd like to hear your comments, even project horror stories. © Intellavia, 09/23/2010. Permission to share if source is fully credited. 29 S. Orange Ave. 3rd Floor, Orlando, FL 32801 | 407.412.7244 | www.intellavia.com | 3