The Dangers of Application Complexity

June 15, 2012 Appirio

Naoki Tsukamoto (@nikes63)
It’s that time of year again. I need to restock my contact lenses, which means I’m overdue for my annual eye exam and should probably schedule a number of other health checks.  None of us enjoy being reminded about the consequences of our bad habits – sitting too close to our computers, not flossing, neglecting our fitness, etc. – but we agree that regular health checks should be conducted to prevent what seemed like a small decision from worsening. The same practice can be applied to the health of our business applications.
What does it mean to have a healthy business application? It means having the proper governance for data, release management, development practices, organizational change management, support process, innovation management, etc.  It means achieving the targeted user adoption to ensure your application is delivering end user benefits.  It means staying within your budget but also having having the agility to be responsive to changes in business priorities.  It means keeping a pulse check on your application metadata to keep track of complexity, performance and usage. 
Many companies are approaching some aspects of health by tracking metrics from their Salesforce.com instance like counts of custom workflow rules and custom objects to measure how their application is changing.  Salesforce conveniently sends these type of metrics to your admin every month.  But analyzing your application’s complexity metrics over time is just a window into its past.  Just like year to year cholesterol level change is good to know, it’s more meaningful and impactful when you also know where your metrics stand relative to your peers. 
Understanding the complexity of your environment is critical because each change request not only has the cost of the resources needed to execute the change, but also the cost of making subsequent changes harder.  Each customized code, workflow, UI page, etc deployed means another integration check or test case for any module that touches that customization.  And as you deploy more customizations they will inevitably interact with each other and compound your complexity.  In order to understand the trade-off of the next change request, companies need to look at aggregated complexity metrics across a larger set of companies.  By understanding your relative complexity compared to other companies and learning from companies whose complexity is higher than yours, you’re able to better assess the true trade-off costs of the next change request.  And just as important, you can learn from the experiences of those companies and avoid unnecessary complexity which threatens to dilute the cloud’s benefits of lower cost, ease of use, and flexibility to change.  
How are you assessing the health of your cloud applications?  Which metrics have the most impact on your business? How do you measure your application health against others? We’d love to hear from you in comments or on Twitter (@appirio #health). And if you’d like to hear more about how we look at application health and complexity, join us in a few weeks for a webinar on why complexitymatters and how you can manage it.

Previous Article
Appirio Cloud Sync June 2012 Release
Appirio Cloud Sync June 2012 Release

Summary: Appirio Cloud Sync is a multi-tenant cloud-based application that synchronizes Salesforce and Goog...

Next Article
Salesforce + Buddy Media … And Now the Salesforce Marketing Cloud
Salesforce + Buddy Media … And Now the Salesforce Marketing Cloud

Mark Crafts (@markcrafts), Kirk Crenshaw (@appirio_kirk) and Balakrishna Narasimhan (@bnara75) This week’s ...