|
Commonsense CM Strategies to Meet Good Quality Requirements Quality requirements are an elusive goal for any complex product development effort. A strong process and good tools can help advance requirements toward higher quality over time. The product development team plays an important role in establishing quality requirements. In a well-oiled customer/ developer relationship, frequent feedback will go both ways. Unknowns will be explored and change will occur. It's important that CM/ALM tools can clearly track requirements and their changes in a way that helps to capture increasingly improved requirement baselines.
|
|
|
The One Right Way to Achieve High-Quality Requirements: Many authorities have undertaken to lay out the one right way to engineer system requirements. Although there are similarities among them, what is most striking is the diversity in approaches and, in some cases, conflicting philosophies. What are we to make of these dueling authorities and their competing guidelines?
|
|
|
Traceability and Auditability: Satisfying your Customers When we deliver software products, we need to be able to tell our customers what they're getting. Not only product documentation, but specifically, every time we deliver a new release we need to relay what problems were fixed and what new features were added. If the software is subject to periodic audits, we need to tell them even more, especially the abiltiy to trace a requirement or change request to what was changed.
|
|
|
Why It's Important for CM and Project Management to Work Together One of the problems with Configuration Management (CM) and Project Management (PM) is that the tools and the data repositories for each are separate. As a result the processes are quite separate. The project manager takes a set of requirements and decomposes them into tasks, which are then prioritized, scheduled and assigned. The CM team creates configuration items and tries to tie the CIs back to the requirements so that they can be properly audited. When CM and PM work together they tend to enhance each others function, and eliminate potential overlap in the processes.
|
|
|
Allowing Project Management (PM) to Help Configuration Management (CM) Is there a place for project management in the establishment of a configuration management (CM) infrastructure? If so, then how much project management should be included? A thin but strong layer of PM may be helpful to tie tasks together and keep project team members in-sync with one another.
|
|
|
‘Oh Process!' - How does it matter? Location: IT organization with clients all over the globe
Scenario: Project team busy in getting things ready for code delivery to client. They are infuriated when Quality Auditor comes for audit.
Background: Project facing schedule overrun
Actors: Developers, Testers and Team Leader
Though this is a common scenario faced in majority of software organizations across the globe, it cannot be written off by saying that, it is got to do with the people who resist process or process which doesn't aid delivery.
|
|
|
Building a Meaningful Metric Mousetrap Metrics provide data points that can both benefit and endanger and organization. Metrics can be used positively to build a better organization and can be used negatively to punish organizations and people therein. Many times, those that use the metrics negatively do it purposefully, but other times, they are not aware of the way they are using them. This is why it is important to have a metrics culture that apply metrics in a positive manner, provides an understanding of the metric, and then actually utilize metrics to manage an organization.
|
|
|
Finding the Right Mix of ALM Processes and Tools for Design and Implementation Configuration management is complex. As a product evolves, CM gets even more complex, as complexity breeds problems. So how do we continually march our product configurations toward higher and higher quality? You need good people, process, tools, and automation. People define and put the processes in place. Tools are used to automate the processes and to bury the complexity of CM below the user level. Development is a process that takes ideas and turns them into products. There are many techniques and tools to do design and implementation. The right mix is required to effectively develop a competitive product. On the management side of things, the same is true. Application lifecycle management requires the right set of processes and tools to allow the design efforts to be properly leveraged and to yield the best quality.
|
|
|
Change Management Is Essential to the Building Processes Building is considered to be one of the fundamentals of configuration management, even though some might argue that building isn't really CM. The reason it is fundamental is that the build/verification cycle provides proof of reproducibility if done correctly. It forces CM to be done correctly so that only the objects from the CM repository are used to reproduce the build. When formal build processes are correct, they need no information that resides outside of a CM repository. When properly done, the build record is created prior to the build (i.e., a build notice) rather than as a result of the build, with that record being used to drive the build process. An integral change management capability is an essential component of such a build process.
|
|
|
Are You Still Building from the Tip Revisions? How do you build? How do you select the source code files to include in a build? How do you identify the revisions, or versions, of the files to include a build? Do you build from the tip revisions in your version control system or do you build by selecting a specific revision of every source code file? Do members of the development team specify the changes to include in each build or do you sweep in all changes implemented at the time of the build? When do you build from revisions in the mainline of the version control system? When do you build from revisions in a branch?
|
|