Perforce Software (www.perforce.com) has released five tips for software teams to consider this spring when managing their development environments. The suggestions are guidelines for maintaining well-organized codebases and improving development processes.
“Springtime is when software projects begin to pick up steam, but longer days don’t have to equal longer delivery cycles,” says Randy DeFauw, senior product manager at Perforce. “With a well-maintained and well-managed codebase, companies can have peace of mind while ramping up to launch various projects.”
Five tips from Perforce to spring clean codebases:
1. Use one tool to keep track of everything: Studies consistently show that poor communication is a barrier to effective delivery — and that this obstacle is more challenging among distributed teams. To overcome this hurdle, make sure everyone knows where to look for all important project assets and information.
2. Email is, at most, a reminder to look somewhere else: Documentation, deployment instructions, the latest secret to upgrading the database — store it somewhere safe. (Note: File attachments do not count as “somewhere safe.”) The knowledge shared in conversations is just as important; keep it with the code to avoid digging through Outlook folders at 3 a.m.
3. Plan for growth: If it does not scale, it is going to fail. That home-brewed deployment system hacked together last fall to push one web app into Azure will not work well now that it is supporting a few thousand concurrent users in a system with five tiers.
4. Virtualization simplifies release engineering: Ever wanted to use real pre-flight checks on every commit? Or simplify five build channels into a unified pipeline to reduce dependency headaches? Modern CI tools provide the horsepower for the job by taking advantage of virtualized build farms.
5. Manage deployment branches like code branches: Merging has to follow a strategy. After all, companies do not allow someone to randomly cherry-pick changes from a software branch. Not every deployment environment looks the same, and branching strategies for deployment data must take into account divergence, security and selective merging of feature toggles.