Articles

Please enter an article title, author, or keyword
Requirements-Based Development: A Software Configuration Management View

It seems so obvious that we should develop systems based on requirements, and yet it turns out to be rather hard to do and thus many organizations are doing it very badly. From a software configuration management standpoint, we could perhaps leave the whole process of requirements engineering to one side and focus on the management of requirements and thus the aspects of change control and traceability. That would perhaps be unduly ducking the issue, and, of course, we can’t resist giving an opinion anyway!

Testing and CM - A High Quality Marriage

Do you need to improve an area of your team's performance? Measure it and post the results. Over time you will see the performance improve. If you want to improve the quality of your product, measure it. Over time you will see the quality improve. Testing is the key to measuring quality, and CM is an equal partner. A good CM partner will provide both the communication capabilities and the information base to enable the relationships needed for a quality marriage.

Joe Farah's picture Joe Farah
The Trouble with Tracing: Traceability Dissected

Traceability! Some crave it. others cringe at the very mention of it. For hardcore configuration managers and requirements and systems engineers, it is a fundamental commandment of “responsible” software development. For many hardcore agilists and other developers, the very word evokes a strong “gag” reflex, along with feelings of pain and frustration. Traceability requires work and discipline! So how does traceability add value to our business and how can we make it easier?

Building a Configuration Management (CM) Capability for Test

 

As more test items exist, there is a tendency for them to evolve due to the changes to requirements and code and, therefore, must be managed effectively. When there are an increasing number of test items, this increases the risk of failing to accurately track all test items, particularly when this is done manually. This is where configuration management (CM) can help.

 

Mario  Moreira's picture Mario Moreira
Agile Configuration Management Environments

How can software configuration management be compatible with agile software development? Aren’t the two diametrically opposed to one another? Sometimes it may seem that way. There is a commonly perceived tension between SCM and development agility that makes it difficult to achieve an effective yet precarious “equilibrium” between the two:

Brad Appleton's picture Brad Appleton
The Importance of a Directory Structure for the Development Process

Software process is becoming more and more important in SCM. Gone are the days of simple configuration managing the source code and software release builds. Now we need to manage versions of the UML models, versions of the requirements, versions of the tests, versions of the iteration plans and be able to create integration streams for all the different disciplines too. Requirement analysts should be able to work on a branch of a use case model, testers should be able to work on a branch of their test model, etc. At the end of an iteration, all of this should be brought together and released as an iteration release, for the process to be properly controlled.

 

Charles Edwards
Avoid Role Name Confusion

Don't you find it confusing when you go from one company to another and find all sorts of different names for similar roles people play in the IT software development process? I have had heated debates with people only to find we were in violent agreement and it was the use of different terminology that was causing the incorrect interpretation, because we were ultimately both trying to say the same thing. This doesn't only happen with roles and activities on projects but with many different terminologies meaning the same thing!

 

Charles Edwards
Integrating Developer Tools: Intuition vs. Reality

While many people intuitively feel that we should integrate the development tools we use in our software development environment to better manage the development team, the task of actually doing so can sometimes be as big if not bigger than the software project we are trying to develop. It's hard enough trying to implement individual software development tools while you are in the throes of building software, let alone get multiple sets of these tools to start synchronizing and talking to one another.


Charles Edwards
Enterprises Need Higher Level Process Frameworks for Better Control

Enterprise application integration (EAI) is problem many large organizations facie today. With the emphasis on the integration part of the applications within the enterprise, more recently made even more complex by integrating applications outside of the enterprise. There are business engineering approaches can alleviate many of these problems and have in particular organizations.

Charles Edwards
Process Perspective: The Earlier Your Release Management Works the More Stable Your Architecture

Chances are, we have probably all experienced nightmare release procedures. Put it this way, you’d be very fortunate if you hadn’t!  As projects mature, release procedures tend to get better, sometimes far too late in the life cycle of the project, though. The trick is to aim for getting the release management working as early as possible, ideally sometime in the Inception phase. The earlier the release management works, the more stable the architecture will tend to be. Let’s take a look at release managing a “Hello World” candidate architecture as an example of a starting point for the project release management.

Charles Edwards

Pages

Upcoming Events

Apr 28
Jun 02
Sep 22
Oct 13