The challenges of managing SaaS projects

A look at the hurdles in managing software-as-a-service solutions

How to address audit, security and business continuity upfront

Configuration management traditionally looks at production configuration and code as a "baseline," identifies changes that will be released, and incorporates them into a new, auditable baseline once the release is validated. Ensuring reliability for the enterprise involves:

* Limiting which users have a system administrator profile and defining their configuration management responsibilities.

* Putting procedures in place to insure that code, configuration and data for production are checked into the code repository and archived (this may require taking manual snap shots of sharing rules, the role hierarchy and so on).

* Creating manual or automated installation scripts.

* Making sure that there is a plan for backing out production changes if needed.

* Deploying to a sandbox for testing and QA.

* Repeating the deployment to production.

* Validating the deployment in production.

The gotchas

Even senior developers can get lost in the weeds trying to figure out how a feature can be, or might have been implemented, in Force.com. Typical "gotchas" include:

* With numerous configuration options and powerful programming tools there are many ways to implement the same features. Configuration experts and developers run the risk of reinventing the wheel if they do not collaborate closely on solution design.

* Force.com deployment tools do not currently support critical items such as data sharing rules, picklist fields on standard data objects, lead and sales processes, and the management role hierarchy.

* Apex unit tests are impacted by actual org data, so code that passes unit test requirements in the sandbox may not deploy. For example, data queries on objects with more than 100K of data require querying an external ID field. Unit tests that pass in a sandbox can fail in production, killing your deployment.

Success is all in the plan

Getting configuration management under control is much easier if the development and testing teams are on the same page from day one. While typical build/release cycle looks like this:

* Check in code.

* Compile code.

* Run database scripts and deploy code to test.

* Run tests/inspections.

* Deploy to pre-production/production.

* Validate deployment.

The following tasks need to be adapted for Salesforce.com development:

* Check in code and configuration from development.

* Check in task list for manual changes to the code repository.

* Deploy manual code/configuration changes to test.

* Run Eclipse/Ant automated deployment to test.

* Run tests inspections.

* Deploy using same process to pre-production/production.

* Validate deployment.

SaaS software development platforms such as Salesforce.com require a mix of configuration and custom development that can confuse developers and be difficult to deploy. This can be addressed by adapting your configuration management processes for SaaS projects.

Although SaaS offerings are designed to limit the time spent on traditional development, some tweaking is required in order to fully integrate them with enterprise systems. Once you understand how standard programming and configuration management practices apply to a SaaS application it becomes easier to tackle with the traditional approach.

Hamilton is a CRM technical architect at Acumen Solutions, a business and technology consulting firm. Contact him at ghamilton@acumensolutions.com.

Join the newsletter!

Or

Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

Tags software-as-a-service

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Gary Hamilton

Network World
Show Comments

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Tom Pope

Dynabook Portégé X30L-G

Ultimately this laptop has achieved everything I would hope for in a laptop for work, while fitting that into a form factor and weight that is remarkable.

Tom Sellers

MSI P65

This smart laptop was enjoyable to use and great to work on – creating content was super simple.

Lolita Wang

MSI GT76

It really doesn’t get more “gaming laptop” than this.

Jack Jeffries

MSI GS75

As the Maserati or BMW of laptops, it would fit perfectly in the hands of a professional needing firepower under the hood, sophistication and class on the surface, and gaming prowess (sports mode if you will) in between.

Taylor Carr

MSI PS63

The MSI PS63 is an amazing laptop and I would definitely consider buying one in the future.

Christopher Low

Brother RJ-4230B

This small mobile printer is exactly what I need for invoicing and other jobs such as sending fellow tradesman details or step-by-step instructions that I can easily print off from my phone or the Web.

Featured Content

Product Launch Showcase

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?