|
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.
|
|
|
Process Perspective: There is More to Requirements Than Just Use Cases and UML Requirements do not equal use cases or UML diagrams only. Use cases are a sub-set of doing requirements. There are also more ways of modeling than just using UML. Obviously it depends on the size of the project you are working on that will dictate exactly what your process will need to create. Let’s look at the bigger team size project and explore in simple terms what we should be doing for requirements and how this interfaces to the rest of the team’s activities.
|
|
|
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:
|
|
|
Process Perspective: Keep All Re-use in Mind When Establishing your Software Development Process Software re-use is a worthy and noble ideal to aim for during any development, but why not let’s take a bigger picture view of the whole software development environment. Make the goal to set up our process so that as much as possible is re-used on subsequent projects. Here are some thoughts on achieving this.
|
|
|
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.
|
|
|
Using Process-Enabled SCM Tools to Facilitate the Software Development Lifecycle When used appropriately, process-enabled SCM tools facilitate iterative team software development in a highly dynamic environment. As SCM practitioners, we should educate and guide our customers, the members of software development teams, to exploit the application lifecycle capabilities of process-enabled SCM tools.
|
|
|
Integrating a Requirements Management Tool into a Software CM Environment Most people think they know what configuration management (CM) means. And they're right. Unfortunately, they don't all think it means the same thing. So let's look at some of the basics of CM. This isn't a "how to" article, as much as it's an "at least" article: at least you'll know what to expect for the rest of this article.
|
|
|
Codeline Merging and Locking: Continuous Updates and Two-Phased Commits This month we will discuss the subject of merging our changes with the codeline. First we will outline the basic process to use. Next, we'll mention some of the obstacles that arise, and strategies to overcome them. We will conclude with a discussion of how to decide which strategies are right for you!
|
|
|
Establishing Unit Test Criteria It is time for a new build. What should be included in it? Obviously, it should include the latest and greatest versions of each module. Right?
|
|
|
A Study of Myers-Briggs Types Relative to CM Professionals (2003) What makes configuration management (CM) professionals so unique? Is it the way we can view a complex task and break it down into meaningful activities? Is it the way we can bring some level of order to chaos? Is it that we not only want to understand the details on how things work, but we also like to understand the big picture? Is it our need to improve our environment? Or is it the way we persevere at difficult tasks in trying to bring together the pieces that comprise our deliverables?
|
|