Agile Software Development
In the event that association has worked with a spry web advancement philosophy, then they are accustomed to seeing the advantages of composed cooperation, speedier turnarounds, and checkpoints and changes through the web programming improvement life-cycle. Along these lines of working can help your group make the move to DevOps, which dwells at the convergence… Read More »
We all know that DevOps is an established relationship stage between development phase and IT Operations. It is vital that collaboration and communication between the two units are promoted from the viewpoint of productivity and management. DevOps from an IT point of view DevOps is basically a culture of management that improves the delivery agility… Read More »
How DevOps course is enhancing the capability of software development? Software Industry in these days adopting a new practice called “DevOps”. This word change the process of software development in a very short time. That is why the demand of DevOps engineers and professionals are high in these days but to become a good DevOps… Read More »
This post is about using ANT to perform some of the most common source-control related tasks such as export, tagging, and branching. I am using ANT version 1.7.0 and SVN Ant version 1.1-rc3, bound against Subversion 1.4.0. The related software can be downloaded here: 1. SVN Ant = http://subclipse.tigris.org/svnant.html 2. ANT = http://ant.apache.org/ I shall… Read More »
Best Practices in Software Configuration Management Abstract When deploying new SCM (software configuration management) tools, implementers sometimes focus on perfecting fine-grained activities, while unwittingly carrying forward poor, large-scale practices from their previous jobs or previous tools. The result is a well-executed blunder. This paper promotes some high-level best practices that reflect the authors’ experiences in… Read More »
Software engineers usually find coding to be the most satisfying aspect of their job. This is easy to understand because programming is a challenging, creative activity requiring extensive technical skills. It can mean getting to “play” with state-of-the-art tools, and it provides almost instant gratification in the form of immediate feedback. Programming is the development task that most readily comes to mind when the profession of software engineering is mentioned.
That said, seasoned engineers and project managers realize that programmers are part of a larger team. All of the integral tasks, such as quality assurance and verification and validation, are behind-the-scenes activities necessary to turn standalone software into a useful and usable commodity. Software configuration management (SCM) falls into this category—it can’t achieve star status, like the latest “killer app,” but it is essential to project success. The smart software project manager highly values the individuals and tools that provide this service.
This chapter will answer the following questions about software configuration management.
Software development has traditionally suffered from producing end products with a definite lack of inherent quality. The symptoms of this quality lack are listed here:
- Software development projects are often delivered late and over budget.
- Often the delivered product does not meet customer requirements and is never used.
- Software products simply do not work right.
As we look into the symptoms of our software development malaise, five principal issues related to software development arise.
Lack of Visibility
Software is conceptual in nature. Unlike a bridge, a building, or another physical structure, it is not easy to look at software and assess how close it is to completion. Without strong project management, “software is 90% complete 90% of the time.” Through the adoption of SCM policy and the definition of the configuration management model of the software under development, all CIs, components, and subcomponents are immediately visible for versions, releases, and product families.
The minimum features for SCM tools are closely related to the task of handling the different product deliverables produced within the project software engineering process. Tool requirements and selection criteria are based on a series of features that provide a consistent look and feel with state-of-the-art software development environments. An SCM tool must have multiuser support, an intuitive graphical user interface, conformity to the organization’s development environment, scalability, flexibility in integrating other software development tools, ease of setup, modifiable models, process management, extensive support for the development phase, and management of nondevelopment objects.
Basic selection criteria includes the following:
SCM benefits an organization in four areas: control, management, cost savings, and quality. These four benefits are mapped to an organization’s overall goals and objectives when the decisions are made to bring a SCM tool in-house. The features of a SCM tool further support these benefits.
SCM Benefits the Organization in Four Major Ways
Control in SCM provides the ability to review, approve, and incorporate changes into a configuration item. There must be one controlling SCM tool so that there is only one set of training, license management, installation, and user procedures. All project personnel use the tool. Inherent in the tool is a standardized, measurable process for change. Integrity maintenance of CIs is enforced throughout the product life cycle. The tool permits only controlled change to the baseline CIs, and all changes are tracked.