Software Configuration Management for Cloud, Mobile, and Database Development

Supporting cloud, mobile, and database development sounds like a remarkably technical endeavor. In practice, personality issues between team members can impact just how effectively you handle these complex technical efforts.

Supporting cloud, mobile, and database development sounds like a remarkably technical endeavor. In practice, personality issues between team members can impact just how effectively you handle these complex technical efforts. You need to be able to understand these challenges and how the personality of the members of your team will impact their individual performances as well as the performance of the entire team. The good news is that there is a lot you can do to ensure success. Here's how to get started.

Taming Complexity
Cloud, mobile, and database development have some unique characteristics. When Bob Aiello and I worked on the source code management chapter of Configuration Management Best Practices [1], specifying practices to handle mainline, bugfixes, and other variants seemed to be fairly straightforward. But version control in the cloud, on your Android, and also databases adds some unique challenges that are not always so straightforward to tame. For example, technology experts are highly specialized and may not have a firm grasp on all of the technical details requirement to produce a complete complex system. Much of this complexity revolves around managing ambiguity.

Dealing with Ambiguity
The cloud brings with it the risk of having to manage resources, over which you have little actual control. There is ample ambiguity in having to rely upon the service provided by a vendor that may or may not be in alignment with your own goals and priorities. Mobile devices have their own set of requirements and industry standards that are rapidly emerging as smart phones become as ubiquitous as less dynamic cell phones.

Trying to version control your database also carries its own set of complexities. For example, handling SQL scripts and stored procedures to managing low DBA level performance tuning takes creative and flexible strategies. Although, there are emerging tools in this space, there also remain considerable challenges. Some people are better at accepting and dealing with ambiguity than others. One effective way to tame complexity is to reduce it into simple constructs that are easier to handle.

Reducing Cognitive Complexity
Taking complex problems and reducing them into one or more, less complicated challenges, reduces work and eliminates many protential sources of error. Many technology professionals can tackle complex tasks but are very challenged when it comes to reducing cognitive complexity. When you feel challenged and uncertain as to how to handle complexity, start by defining the requirements for the situation at hand. Many agile practices are very effective at managing requirements and provide a good starting point for gaining a clear understanding of the system that you need to develop.

Requirements Management
Requirements may be specified in big documents with formal requirements specifications. Many agile enthusiasts prefer to define requirements in lighter terms using what are called epics and stories. [2] Still others use test-driven development to manage and reduce cognitive complexity. [3] From a personality perspective, a critical determinant is whether you are an innovative leader or will be mired and rendered immobile by the challenge of handling platforms that may be a little bit out of the ordinary. Innovative leaders help the team tackle tough challenges and set the direction for the entire development effort. This can be especially important when there is a lack of control.

About the author

Leslie  Sachs's picture Leslie Sachs

Leslie Sachs is a New York state certified school psychologist and the COO of Yellow Spider, Inc. ( Leslie is the coauthor of Configuration Management Best Practices: Practical Methods that Work in the Real World, Addison-Wesley Professional ( Ms. Sachs has more than twenty years of experience in the psychology field and has worked in a variety of clinical and business settings where she has provided many effective interventions designed to improve the social and educational functioning of both individuals and groups. Ms. Sachs has an M.S. in School Psychology from Pace University and interned in Bellevue's Psychiatric Center in New York city. A firm believer in the uniqueness of every individual, she has recently done advanced training with Mel Levine's "All Kinds of Minds" Institute. She may be reached at, or link with her

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!