Featured Whitepapers
- Learn Ways to Keep Schedules and Costs in Line With Requirements Change Management
- Java Deployments in an Enterprise Environment
- Challenges & Characteristics of Enterprise Continuous Integration
- Build Release Plans That Deliver Customer Value!
- Improving Traceability and Auditability Across the Development Lifecycle
- Requirements-Based Testing: Collaboration Through Traceability
Upcoming & Recent Webcasts
|
Exactly how big is an organization supposed to be before CM must take an active part in the development team? The answer is simple. CM, properly adopted, gives an advantage to the small business that is necessary for it to compete. It doesn't really matter what size your company is, you still have to successfully develop, build, distribute and track your software. The fact that you're in a small business means you have less resources to do so. This is why CM is so crucial to small business.The key here is to start with Next Generation tools and processes, because these require far fewer resources than earlier generations. In a small business, you don't have time to perform data base management and administration. You barely have time for backups. Once your customer count exceeds one, you can't afford to manually put together customer progress documents. And even if your customer count is less than or equal to one, the key is automation. The Underlying Essentials Unless you've been in a small development environment, you probably don't realize how big an impact a small thing like doing backups, or researching a CM tool has on your schedules and resources. So it's important, from the beginning to focus on minimizing your costs. If you start by looking for the best tool, as long as it's free, you may be in for a resource hit. Freeware solutions are definitely improving, but you're likely not going to find something that will allow you end-to-end lifecyle management with easy customization and a low level of administration, even if it is easy to use. Many CM vendors will cater to small business, perhaps offering a few licenses at no charge, or for a nominal fee to cover some costs. But either way, the key is not how much you're paying, it's how much you're saving. This is where Next Generation comes in. There are a number of essential capabilities in Next Generation CM tools that are very appealing to small, resource stretched companies, not to mention the big guys. A small business doesn't have the time to spend on administration, process development - it needs to get going quickly while operating lean. At the same time, it needs not just to do what their larger competitors can do, but to excel over them. Below I've listed ten areas of CM where good tools and processes can help.: 1. Rapid deployment If the CM tool cannot be installed in a few minutes, a small business is likely to give up on it. The time's not there. That's actually not a bad strategy either, because if it can't be installed quickly and easily, it probably will require a lot of administration. There are several tools out there that can be rapidly installed. 2. Easy data loading It's not good enough to be able to play with the CM tool. If you can't get your data in there quickly, there's a big danger that it'll never make it in. Some tools are very good at automating the loading in of software, while others are not. But a good next generation tool will also help you to load in your existing problem database (probably a spreadsheet), your project plans and activities (if they exist), your documentation, test cases, and whatever other components you have in your small business development shop. And if you don't have these components, a next generation tool should make it easy for you to start tracking these without absorbing a "cost of doing business". 3. Reduce backup administration It's a lot easier to back things up if their all in one tool. If you work toward this focus, you should find that your backup administration can be reduced significantly. Next Generation tools go further. They can organize repository data based on reference frequency, or even allow you to migrate data to a R/O medium from which changes can still be spawned. This can cut down the time it takes for full backups by a factor of 10 or more. 4. Eliminating backups while providing disaster recovery I don't really recommend that you eliminate backups, but some tools will allow you to do the next best thing. If they support fully redundant multiple site operation, in real time (or as close as you can get to it from a CM perspective), running multiple sites (even if there's nobody at one of the sites), gives you a live backup capability and at the same time provides disaster recovery for all of your project data. Again, the more of your data that's in your multiple site CM solution, the more savings and protection you'll have. 5. Good out-of-the-box processes This is a real differentiating factor for small business. Even if it is relatively easy to customize process, the small business doesn't have a process expert. It's much more important that there are good end-to-end processes out of the box. Even if they're not perfect, or requires some adaptation of terminology, something solid out of the box will both cut down on time to introduction, and will get you most of the way to where you need to be. 6. Ease of Use, Return on Use Over time, CM tools have (very slowly) improved in ease of use. There are still a lot of developers who will swear by the command line interface for some tools. Next Generation tools must not only be easy to use, but must also give a return to the user, so that they actually like using the tool rather than putting up with a necessary evil. CM "overhead" is hard to justify in a small business - in fact in any business. But there are some tools that developers wouldn't want to part with. And although there may be some training required for CM managers/administrators, training requirements for end users should be minimal, focusing on process and concepts. 7. Agile CM Support Most small software businesses don't work to traditional product plans. Instead they tend to work in a more agile fashion, to priorities, both for features and problem reports. New feature requests appear weekly, from customers and from within the engineering organization. The tools and processes for small business need to be able to adapt to Agile CM, whether or not Agile design practices are being used. 8. Easy, interactive reporting In a small software company, you're less likely to spend time in large project review and change control board meetings then in a larger shop. Instead, it's typically one or two Project or Product managers that keep on top of things. In this respect, it's still important to make intelligent decisions, but the formal reports may be less important. Instead, queries, dashboards and other facilitating mechanisms must be present so that the right decisions can be made based on all the available data. Older CM tools tended to leave out a lot of the key Product reporting, focusing instead on CM manager issues. 9. Build Automation When there's smaller teams with less control structure in place, there is a tendency to create builds manually, or to deliver them from a developer's workspace. It is crucial that this not happen. Not only does the quality of the deliverable depend on it, but typically the integrity of the entire company. The CM tools and processes must facilitate an easy path to automation of builds so that all system builds may be built from the repository without human intervention. At the same time, build definitions need to be captured. Of course this isn't just a small business requirement - it's just that it's so much more of a critical capability for small business. 10. Easy Customization Customization will always be a nice thing to have. But in the case of a small business there is typically no time for this, and no money for consultants. Any customization has to be easy to do. It has to be done as an immediate answer to "I need to be able to do this now". If customization takes you out of the "now" zone, it no longer serves its purpose because it won't be done. If I want to insert a field in the CM repository but then find that I have to go and change all my forms, my reports and perhaps other things before I can make use of it, I'll live instead without the new field - or I'll look for someone who has already done the customization and posted it in the user group. Now although these 10 items are critical for small business, they are still of great benefit, and even of larger benefit, to larger shops - it's just that they're not quite as essential becaues the larger shop has more resources - or at least that's been the traditional take on things. Essetial CM Practices Let's move on to more detailed CM Process. What are the essentials for small business? Below are 15 guidelines that you must follow to keep your small business advantage. If you stray, you'll have problems such with quality, traceability, accountability, and resources. It may look like a long list, but in fact, every bit of the process can be a part of a natural process, without overhead, and with huge payback.
Make sure your tools have appropriate capabilities for reconciling workspaces. Workspaces have a habit of picking up stray files or having partially completed tasks within them. These should be easily identified and dealt with. Synchronization with changes addressed by others should also be painless. The Payback Your tools should be giving immediate payback to your team - not just long term quality improvements and better customer relationships. For example:
Joe Farah is the President and CEO of Neuma Technology and is a regular contributor to the CM Journal. Prior to co-founding Neuma in 1990 and directing the development of CM+, Joe was Director of Software Architecture and Technology at Mitel, and in the 1970s a Development Manager at Nortel (Bell-Northern Research) where he developed the Program Library System (PLS) still heavily in use by Nortel's largest projects. A software developer since the late 1960s, Joe holds a B.A.Sc. degree in Engineering Science from the University of Toronto. You can contact Joe at farah@neuma.com
Set as favorite
Bookmark
Email this
Hits: 1406 Trackback(0)Comments (0)
|


Exactly how big is an organization supposed to be before CM must take an active part in the development team? The answer is simple. CM, properly adopted, gives an advantage to the small business that is necessary for it to compete. It doesn't really matter what size your company is, you still have to successfully develop, build, distribute and track your software. The fact that you're in a small business means you have less resources to do so. This is why CM is so crucial to small business.
