How to get DevOps Foundation Certification?

Hey there! Are you interested in getting the DevOps Foundation Certification? Well, you’ve come to the right place! In this article, we’ll dive deep into the world of DevOps and explore how you can obtain this valuable certification. So, grab a cup of coffee, and let’s get started!

What is DevOps Foundation Certification?

DevOps Foundation Certification is a foundational level certification offered by the DevOps Institute. It is designed to validate the knowledge and skills of professionals who want to understand the principles of DevOps and how to apply them in their organization.

The DevOps Foundation Certification exam covers the following topics:

  • The principles of DevOps: This includes understanding the key concepts of DevOps, such as continuous integration and continuous delivery (CI/CD), infrastructure as code (IaC), and automation.
  • The role of security in DevOps: This includes understanding the importance of security in the DevOps pipeline and how to implement security best practices.
  • The tools and technologies of DevOps: This includes understanding the different tools and technologies that are used in DevOps, such as version control systems, CI/CD tools, and IaC tools.

Why DevOps Certification is important?

Here are some of the specific benefits of getting a DevOps certification:

  • Increased job opportunities: DevOps professionals are in high demand, and a certification can help you to stand out from the competition.
  • Higher salary: DevOps professionals typically earn higher salaries than those in other IT roles. A certification can help you to negotiate a higher salary.
  • Better career advancement opportunities: A certification can help you to advance your career in DevOps and take on more senior roles.
  • Improved knowledge and skills: A certification can help you to learn about the latest DevOps practices and tools, which can make you a more valuable asset to your team.
  • Increased confidence: A certification can give you the confidence to take on new challenges and responsibilities in DevOps.

What are the tools needed to learn for a strong DevOps Foundation?

These are just some of the essential tools that you need to learn for a strong DevOps Foundation. The specific tools that you need to learn will depend on the specific needs of your organization. However, by learning these essential tools, you will be well on your way to becoming a successful DevOps engineer.

In addition to the tools listed above, there are a few other tools that you may want to consider learning, such as:

  • Containerization tool: A containerization tool is used to create and manage containers. The most popular containerization tools are Docker and Kubernetes.
  • DevOps automation tool: A DevOps automation tool is used to automate the entire DevOps lifecycle. The most popular DevOps automation tools are Ansible, Chef, and Puppet.
  • Security tool: A security tool is used to scan code and infrastructure for vulnerabilities. The most popular security tools are Nessus, QualysGuard, and Tenable.

How DevOpsSchool’s is best for DevOps Foundation Certification?

DevOpsSchool is a great option for DevOps Foundation Certification. The course is comprehensive, well-taught, and comes with a number of features that will help you succeed.

In addition to the features mentioned above, DevOpsSchool also offers a number of other benefits, such as:

  • A supportive community of learners: The DevOpsSchool community is a great place to ask questions, get help, and connect with other DevOps professionals.
  • Regularly updated content: The DevOpsSchool course content is regularly updated to reflect the latest changes in the DevOps landscape.
  • Access to additional resources: DevOpsSchool offers a number of additional resources, such as cheat sheets, flashcards, and blog posts, to help you prepare for the DevOps Foundation exam.
Tagged : / / /

How to set up a Jira cloud instance?

Hi dears, welcome to the course study of Jira. Today, through this article, I will explain to you how you will set up a Jira instance so that you can start to use Jira software for your projects. I have miscellaneous agenda for you. On which topics you will learn is types of Jira instance, what is the difference between server and Cloud instance? And how to create a cloud instance of Jira? So, let’s move forward to learn more about Jira concepts

Jira instance

Basically, there are two types of Jira instances, the first one is cloud and the second one is server. I will tell you what is the difference between the cloud and server instances and which one you should use if you are a beginner to learn about the Jira software. So, let’s move forward to learn about the cloud and the server instances.

Cloud vs server instance

Here I will discuss the cloud instance first. So, what is a cloud instance? In the cloud instance rather than installing and maintaining, your product on your own server Atlas Sian host and set up your Jira application on the cloud for you so, this is the cloud instance and according to me, this is the best instance for the beginner, who want to learn from the very beginning. It is very fast because it’s easy to set up and get started in minutes as soon as you sign up. You may start working and inviting the team members and the second one is reduced costs because it helps to save money on the physical hardware maintenance installation support and any other hidden administration cost as well. This is a cloud instance so, everything is on the cloud and there is no need to bear the cost of your own hardware. The third one is no need to upgrade because on the cloud you get immediate access to the latest version on Jira so, there is no need to upgrade the cloud instance. The fourth one is security, it is very secure because atlas Sian takes the responsibility to maintain the security and compliances of your data and organization so, I describe the benefits of the cloud instances but I want to tell you one more thing about you don’t have direct access to change the database structure, file system, or other server infrastructure because you have a cloud instance and atlas Sian already set up your cloud instance. So, they will not give you administrator access. Let’s learn more about the server instance. What is a server instance? In the server instance, basically, you install, host, and run the Atlas Sian’s product on your own hosting environment. So, basically, those teams will prefer that want to manage all the details on their own and are able to handle the complexity of setting up and hosting the product on their own server. So, if your organization is very big and you have a department of administrators. They can manage the administrator task of the Jira or the server so, you can go with the server version but you are working in a startup and you want to learn your own then go with a cloud one.

In this complete course, I will also use the cloud instance because as I already told you, it is very easy to set up and everyone can access it from anywhere but in the server instance may be the organization installed it on the internal environment so, you would not be able to access it from outside the organization but in the cloud instance, you may access anywhere as I told you I will explain the cloud version in this course so may be the people who are using the server one they will see some differences in the UI because the cloud and the server UI is different in the server we have the navigation on the top but in the cloud we have the navigation in the left hand side and many more other differences in the UI so as I told you the difference between the cloud and the server instances so let’s move forward and see how can you create the cloud instance of Jira so for creating the cloud instance of JIRA so, you will go to the atlas Sian website, there is an atlas Sian official website www.atlassian.com once you will click on the product tab then you can see the complete list of the atlas Sian the product but there you will go with the Jira software so, you will click on Jira software.  It will take you on that page you may try it free then you can see the three plans and there will be cloud one. You may see try the product in the cloud and that is a free 7 days trail period you can go with any of the packages so, you will go there with any of the packages and you will go there with that one so, you will click on try it free, you will say that is a 7 day free cloud trial and it will give you the full access to all features, you can add the unlimited users and access to sales and technical support so, you will create the account there so you will use your ID and you will click on agree and sign up once you will end with the sign up process then you will see the screen where they will ask you to check your inbox and confirm your email ID so, you will go to your email so to verify that email you will click yes verify and it will redirect to you to the page if you want to select what type of team with do you work in then you can but for that you will skip and see the URL there that is a JIRA all sort of gentle that you have mentioned at the time of creating the account and you can invite your team with the help of the email address if you will enter the email address there and send the invitation then the people will get the email will get the invite and they can accept and use this environment and that JIRA instance for now you will skip that  and there they will ask are you new to Jira or are you already experienced with Jira then you can find out for now. That will be the next page where you can see there are the two types of templates are available first one is the classic template and the second one is a next-generation template. You can see there the Kanban is scrum and the bug tracking three templates are available and these three templates come under the software category so if you will go and will select all types you can see there are many more templates are available which are related to business. In this course, that’s it for today this is a process where you can create the cloud instance.

Related video:

 

Tagged : / / / / / / / / /

DevOps Role for Operations Team

devops-role-for-operations-team
First of all, we should know what Operations Team does. So, I will start with responsibilities of operations team and will move forward to see DevOps role in Operations at different level and than most important is skill sets for an operations guy and also in elaborated way.
So, a very Quick view on Responsibilities Operations Team
Reviewing how various departments within an employer have interaction, share facts, deal with customers, and do things like make joint purchases of elements or outside offerings. Making pointers on how to growth efficiency, so that it will shop money, lessen cycle instances, and improve patron satisfaction making plans and putting into action tasks that do the above operating with human beings at numerous ranges in every department to accumulate information and spot how they do their jobs growing schooling methods and tips on how to carry out duties better keeping control informed of problem spots in advance before foremost issues arise, and proposing value powerful solutions.
Now will see DevOps role in Operations at different level – 
You can commit a whole profession to Operations in case you care to. At the entry degree are jobs like Operations Assistant and Operations Coordinator. Right here you’ll probable be operating for a extra skilled Operations man or woman in which your position will encompass supporting to devise productivity development tasks, accumulating simple statistics and statistical information, and getting ready workflow charts for present operations.
A step up is Operations Analyst. This function may want to require you to identifying system improvement possibilities, broaden analytical models and guide procedure improvement packages.
Bump in advance to Operations manager and you discover your self supplying product and systems support, distribution chain making plans, hiring and education employees, plus managing team of workers.
On the Operations Director stage you’ll oversee a number of Operations Managers, each overseeing their precise place. You will be making large scale hints on growing efficiencies and fixing severe production or internal visitors issues.
As a vice president, Operations, you’ll have earned yourself a seat on your organization’s govt Committee. You’ll be expected to touch upon a wide range of issues affecting your company. Your boss will possibly be on the President degree so your huge expertise of organisational mechanics might be relied upon often.
Skills Required – 
You may imagine that a person in Operations might need a actual eye for detail. They ought to observe how activities are being completed step by step, and then find approaches to make each process more green.
Communication abilities are also vital. Operations personnel must record their observations to senior management the usage of language that can be effortlessly understood and acted on.
Project making plans is usually a huge part of an Operations job. You’ll need to produce flowcharts and assign the right sources on projects of all sizes. It is able to be helpful to don’t forget a PMP (mission control expert) designation.
It could be helpful to have a college or university degree on this subject. At the same time as it may be sufficient to have a widespread enterprise degree, there are specialised diplomas and certificate in such areas as Airport Operations, Hospitality Operations, Tourism Operations and greater.
Important points for operations teams –
1. The ability to speak genuinely and concisely
Sharing is a key tenet of DevOps and if you present what you know and what you’ve learned, then having that know how is correctly vain. You’ve just made your self a bottleneck. The other talent Mortman mentioned along those traces is striving to actually recognize the footwear wherein your fellow business enterprise collaborators stand. Emphasize the sufficient cost of having empathy for all people else and what they want to get accomplished. Every role has its demanding situations and empathy for the ones challenges goes an extended way to a extra congenial place of work.
2. Collaboration techniques
New collaboration techniques are essential. Ops will need to learn powerful, distributed collaboration strategies such as the ones used in open source software program improvement. Main facet DevOps agencies make heavy use of on line chat and shared tooling to log each communication as well as motion. In some pioneers, this even involves so known as ChatOps where you may make modifications to infrastructure thru calls to an automatic bot in an online chat. Commonly this includes asynchronous communication in preference to phone calls, each lengthy form, in an archived and searchable form.
This allows, on-name ops for the duration of any crises or fires that arise, as well as eases the capability to discover and brainstorm infrastructure changes, in which all and sundry can without problems contribute their thoughts.
3. A bendy mindset
We’re no longer always speakme about advanced styles of intellectual Yoga, but clearly the capability to change as know-how and situations trade, whether those changes are technical or business pushed. The willingness to make adjustments and to evaluate change options is fundamental to DevOps. Things are going to fail, you or a selection you’ve made are going to be the purpose of that failure. Or things just received paintings as well as you’d hoped or notion. “Be willing to change your mind and look for higher options, says Mortman, a DevOps Expert”.
4. Top enough is never enough
It’s about constantly seeking non-stop improvement. This mindset is laser targeted on continuous improvement every day. “It’s miles the capability to unlearn and collect new extra relevant expertise in mild of complexity and emergent statistics then disconfirm it with the clinical method and flow on to software handiest where relevant, says Kevin Behr leader technological.
5. Subsequent up: The Technical abilties
Understanding of present day software program engineering to move to a international of infrastructure as code wherein all structures are maintained the use of configuration management tools along with Puppet or Chef, which include version control, unit and integration testing, agile software program development, as well as continuous shipping and deployment fashions. Conventional sysadmins might also nevertheless live in a global of login prompts and guide edits of configuration files, so this will be possibly the most important hurdle in terms of information.
The technical mindset I look for are abilities which allow a group to deal with servers greater. To paintings efficiently at that form of structures mentality, DevOps engineers need programming and systems architectural competencies. Whether or not meaning Ruby or Python or something is wanted to efficiently work with orchestration gear, APIs, and automation. It’s less approximately needing to know a particular programming language greater approximately knowledge programming algorithms and sturdy structures layout.
6. Current software architecture
This includes cloud deployment and administration as well as distributed systems. As we circulate to a cloudy global of software, ops will want to deploy, keep, reveal, and troubleshoot production problems with this infrastructure. And yet in lots of cases it’s tons more complicated than the preceding equal, although it brings with it tremendous advantages in agility and uptime if carried out right. Ops will want to familiarize themselves with cloud instances and offerings, as well as lower level software infrastructure which include Linux distributions and databases while deployed in a cloud.
Tagged : / / / / / / / / /

Why organization should enhance DevOps skills of their employee?

organization-employee-devops-skills

It’s not shocking that a lot of organizations struggle when it comes to DevOps execution. DevOps is a new conception which IT organizations use to enhance collaboration between two functions into one. In today’s cutthroat business environment, DevOps comes as an important resolution that helps organizations meet ever-growing business demands.

 

The meaning of DevOps is different for different peoples. Some says it’s a “collaboration of operations and developers” or it’s using automation or it is a toolchain approach or culture or a job title or it’s just a Dev. and Ops. or variety of related things. But if we look onto it, it’s not just a set of tools or not just a culture or job title. We can say It is a way of doing work where people of both operations and developer skill sets work together on projects to create quality products without wasting resources and infrastructure in a short span of time by using best practices of tools.

 

There are many organizations in the world who are adopting DevOps to enhance their employee Performances and revenues and profitability of their business. There are many studies done till date where it is clearly shown that where companies implement the DevOps approach get more done, plain & simple. The greatest change in approach in a DevOps environment is that there is a single group made out of cross functional members including operations architects, business expert, DBA’s, QA, developers and so forth. There are many advantages of collaboration among these different roles delivers.

 

If we look on to benefits there are:-

1. Continuous software delivery

2. Less complex problems to fix

3. Faster resolution of problems

4. Faster delivery of features

5. More stable operating environments

6. More time available to add value (rather than fix/maintain)

 

To accomplish this, Dev and Ops must break the silos and work together with each other, share liability for keeping up the framework that runs the product, and set up the product to keep running on the framework with continuous quality input and delivery automation.

 

In this process there are so many tools and practices used to achieve the results. Source Code Repository, Build Server, Configuration Management, Virtual Infrastructure, Test Automation and Pipeline Orchestration any many more in the process.

 

DevOps is certainly a group activity, however it’s still vital to clearly define once roles and liabilities for accomplishment inside the group. Means to say it is really important for organizations to make sure dev and ops teams are collaborating and sharing responsibilities throughout the software delivery lifecycle from planning all the way to managing the production environment.

 

Now the real problem is that there are various challenges an organization and their employee’s face when they trying to execute DevOps skills because they do not able to overcome the Developers and Operations mentality and unable to do continuous balance and change of work process, they lack of understanding the security and access management, unable to do continuous monitoring, Toochain cashes of Developers and operations and various others problems they face when they try to implement it on their projects. To overcome these challenges organization’s must provide their employees DevOps skills from industry experts. Now to make your job easy I did some research on it and found one portal “DevOps Consulting” where you can get best industry trainers and consultants for corporate and individual training.

Tagged : / / / / / / / / / / / /

Useful Tips to Make Team Building Exercises Effective and Successful

Hi, I am prabhakar, i have read an article about Team Building and i would like to share it with you.All successful businesses and organizations know that teamwork and team synergy is the key to success. A lot of effort and resources are dedicated towards team building exercises and activities. A good team forms the foundation of any company, organization or community. Team building is not an easy task. This is because a team consists of various individuals with distinct personalities, schools of thought and disposition. But effective team building steps can slowly help these individuals to rise above petty differences, working together and complimenting each other to ensure the overall success of the team as well as personal growth of each individual. A discordant and inharmonious team will continue to experience failure even if it comprises of brilliant individuals. Sports are a very good example of this, in team sports like Football, Hockey or Basketball the co-ordination, communication and synergy of the team is what sets the best teams apart rather than individual superstars.

Team building requires dedication and effective skills. Each member of the team must be made to feel an integral and indispensible part of the team so that team strategy and goals can be placed above individual goals.There are various team building games and exercises available but it is only with perfect execution and participation of all members can these be effective. It is also important to resolve any conflicts as soon as possible. Conflicts can be very harmful for team building. Negative feedback, especially in public should be avoided at all cost as it may hamper the team’s performance.

Tagged : / / / / / / / / / / / / / / / / / /

What Is Software Configuration Management, its importance & how to implement it?

software-configuration-management

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.

What Is Software Configuration Management?
Software configuration management (SCM) is the organization of the components of a software system so that they fit together in a working order, never out of synch with each other. Those who have studied the best way to manage the configuration of software parts have more elegant responses.
Roger Pressman says that SCM is a “set of activities designed to control change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made.”>
We think that Pressman’s description is a better description because we often view SCM as meaning software change management.
Wayne Babich describes SCM as “the art of identifying, organizing, and controlling modifications to the software being built by a programming team. It maximizes productivity by minimizing mistakes.”>
The Software Engineering Institute says that it is necessary to establish and maintain the integrity of the products of the software project throughout the software life cycle. Activities necessary to accomplish this include identifying configuration items/units, systematically controlling changes, and maintaining the integrity and the traceability of the configuration throughout the software life cycle.
Military standards view configuration as the functional and/or physical characteristics of hardware/software as set forth in technical documentation and archives in a product. In identifying the items that need to be configured, we must remember that all project artifacts are candidates—documents, graphical models, prototypes, code, and any internal or external deliverable that can undergo change. In SW PM terminology, a configuration item might be a proposal/estimate or bid, project plan, risk management plan, quality assurance plan, CM plan itself, test plan, system requirements specification, system design document, review metric, code, test result, tool (editors, compilers, CASE), and so on. There are basic objects and aggregate objects to be configured. The number of relationships among them reflects the complexity of the configuration task.

Why Is SCM Important?
Software project managers pay attention to the planning and execution of configuration management, an integral task, because it facilitates the ability to communicate status of documents and code as well as changes that have been made to them. High-quality released software has been tested and used, making it a reusable asset and saving development costs. Reused components aren’t free, though—they require integration into new products, a difficult task without knowing exactly what they are and where they are.
CM enhances the ability to provide maintenance support necessary once the software is deployed. If software didn’t change, maintenance wouldn’t exist. Of course, changes do occur. The National Institute of Standards and Technology (NIST) says that software will be changed to adapt, perfect, or correct it. Pressman points out that new business, new customer needs, reorganizations, and budgetary or scheduling constraints may lead to software revision.
CM works for the project and the organization in other ways as well. It helps to eliminate confusion, chaos, double maintenance, the shared data problem, and the simultaneous update problem, to name but a few issues to be discussed in this chapter.

Who Is Involved in SCM?
Virtually everyone on a software project is affected by SCM. From the framers of the project plan to the final tester, we rely on it to tell us how to find the object with the latest changes. During development, when iterations are informal and frequent, little needs to be known about a change except what it is, who did it, and where it is. In deployment and baselining, changes must be prioritized, and the impact of a change upon all customers must be considered. A change control board (CCB) is the governing body for modifications after implementation.

How Can Software Configuration Be Implemented in Your Organization?
We used to say, “Make a plan and stick with it—never waffle,” and “Requirements must be frozen—how else will we know what to code?” Now, we say, “Plans are living documents—they will be in a continual state of change as project knowledge increases.” We now know that requirements are never frozen—they merge, morph, and evolve and become expanded, enhanced, and extended. As long as artifacts of software development can undergo change, we will need some method of managing the change.
Because SCM is such a key tool in improving the quality of delivered products, understanding it and how to implement it in your organization and on your projects is a critical success factor. This chapter will review SCM plan templates and provide you with a composite SCM plan template for use in any of your projects. We will cover the issues and basics for a sound software project CM system, including these:

  • SCM principles
  • The four basic requirements for an SCM system
  • Planning and organizing for SCM
  • SCM tools
  • Benefits of SCM
  • Path to SCM implementation

 

Tagged : / / / / / / / / / / / / / / / / / /

SCM Benefits the Organization in Four Major Ways – SCM Process Benefits

scm-benefits-organization

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
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.


Management
Management in SCM is concerned with the automation of identifying and guiding configuration items through their life cycle to final assembly as part of product and delivery. Identification of CIs through a unique naming convention allows version, release, update, and full change tracking. Baselining of CIs with the ability to produce product deltas from the baseline satisfies requirement and schedule changes along with product family support. Rapid reviews and audits of CIs are accomplished through the analysis of historic information collected. Project status reporting is accomplished in a clear and consistent format based on SCM collected information on all CIs under configuration management.


Cost Savings
Cost savings are realized across the entire product development life cycle with SCM. Maintaining product integrity through defined, tracked, and audited CIs provides a managed bill of materials for the product released to customers. Cost savings scale with SCM use and application across applications. This scaling is dependent on the depth of control needed for each application product release tree. Deep combinations for product families can be analyzed for risk exposure and cost savings directly impacted by the amount of configuration management applied. Side effects are reduced through controlled change by understanding the impact on all versions and releases. Accurate and repeatable release control is produced in a repeatable fashion over entire product families for all customers and users.


Quality
Software development is a people-intensive activity, and quality must be considered at every person-to-tool interface. Ensuring a high-quality work environment must address the process of building software products in an automated fashion. This must include tracking CIs to the tools that produced them and the clients that ultimately receive the product. Measuring the end product to ensure high quality is done through tracking the changes made to a product throughout its life cycle. Repeatable management and change control in a documented and measured fashion allows accurate estimation of future efforts. Quality is an ongoing process. The lessons learned in one product must be transferred to new, related products and entire product families.

Tagged : / / / / / / / / / / / / / / /

Potential SCM Problem Classes | SCM Potential considerations in an organization

potential-scm-problem-classes

When planning for SCM in your product development organization, you must first understand the classes of potential problems that can exist. Once the classes are understood, the inherent problems that are causing configuration management issues may be easily identified.
Potential SCM Problem Classes

  1. Multiple developer syndrome—When you have a project that requires more than one developer, there is the problem with multiple people working on one product base. This could be a test plan, requirements specification, or code. Effort is wasted when two or more people work on the same file and then save it. Without SCM control, the last person to save the file has those changes saved. All the other changes are lost. The simplistic method of locking a file while one person reads it prevents others from simultaneously working on the file.
  2. Multiple releases—Enhancements to the base product should result in additional releases of the product containing the latest changes. Once the second release is available, some users are on an earlier release. Having an SCM makes managing those releases possible. When bugs are reported, changes must be made across all impacted releases. As new features become available in the product, they must be made available to all current users, no matter what the release date.
  3. Product family—As products are built that offer the same capabilities across a heterogeneous set of hardware platforms, both the common and the platform-specific software bases must be managed. If a product operates on four versions of Windows, three versions of Unix, Red Hat Linux, and FreeBSD the user manual may be significantly the same. But there is a different installation process for all nine platforms. Without SCM, nine individual manuals must be written and maintained. With SCM, one documentation configuration item with nine versions will suffice, with the differences being only the installation procedure.
  4. Requirements change—The first law of systems engineering is that no matter where we are in the system life cycle, the system/software will change, and the desire to change it will persist throughout the life cycle. Dealing with this change represents a major management challenge. Having an SCM in place will ease the management of these changes to the requirements of the products that will occur. An SCM allows the easy identification of feature sets that group the requirements satisfied by a release or version of the product. These feature sets are tracked through development to delivery.
  5. Schedule change—As requirements change, so must the schedule. Mapping the feature sets for release to the schedule allows project managers to more accurately estimate the effort required for generating that next release. Having the SCM in place allows the project manager to look at historic effort levels in getting out releases. This is an enormous aid in estimating the “what if” scenarios that result from taking on new product users or providing customized solutions to other clients.
  6. Software changes—No product developer has the luxury to write code once and forget about it. Along with requirements and schedules, the software being developed changes in response to those other changes. Software is not static. That is its inherent power. It can be changed, so it will be changed. SCM systems track those changes so that, if the wrong change is made, a previous working version is available. This capability alone has saved enormous amounts of time as developers have tried out specific solutions that did not work in the product environment and were able to rapidly back up to a working version.
  7. Staff changes—In the best of organizations, people get promoted, take other jobs, and leave. When that happens in the midst of a development project, not just the technology knowledge goes out the door. The long-learned knowledge of how things are done is also gone. So when a replacement person is brought on board, they may know the technology, but without a documented SCM process, they will have no real idea how to do product development. SCM provides the framework and knowledge base of what has gone on before in the project. A new staff member has one place to go to understand the “how” of the organization’s development process and the “what” of the project to date.
  8. System/user documentation change—No product developer has the luxury to produce in a technology or tool vacuum. All product developers use hardware microcode, operating systems, tools, and documentation that are not under their control. When a major operating system change occurs (e.g., the next “best” release of Windows), an SCM will allow tracing all the CIs, components, and subcomponents that are impacted by that change. The change is isolated, and the amount of effort required to respond to the change can be estimated. This provides a responsible schedule for an upgrade based on situations beyond the organization’s control.

A template that may be used in the creation of a software configuration management plan (SCMP) appears in Appendix F, “Project Artifact Templates.” It includes management issues (organization, responsibility, etc.), SCM activities (configuration item identification, change control, status accounting, audit, and reviews), tools, techniques and methods, supplier control, and standards collection and retention.

SCM Staffing
On any given project, a few engineers or developers specialize in and become your SCM experts. While they are the gurus, everyone on your project will be a user of the product that they select, develop, and maintain. It is better to have a few highly experienced people than a large number of inexperienced people. These experienced few must be able to see congruence between software products and perceive what is missing from a software product.
We can group the characteristics and abilities needed by the four SCM functions: identification, control, auditing, and status accounting.

Identification

  1. Ability to see partitions
  2. Ability to see relationships
  3. Some technical ability
  4. System engineering orientation
  5. Programming

Control

  1. Ability to evaluate benefits versus cost
  2. System viewpoint (balance of technical/managerial, user/buyer/seller)
  3. An appreciation of what is involved in engineering a software change

Auditing

  1. Extreme attention to detail
  2. Ability to see congruence
  3. Ability to perceive what is missing
  4. Extensive experience with technical aspects of system engineering or software engineering

Status Accounting

  1. Ability to take notes and record data
  2. Ability to organize data
  3. Some technical familiarity
  4. System engineering orientation
  5. Programming

Once the staffing of the SCM function is complete and the overall organization’s SCM policy is established, the configuration control board (CCB) is identified. The CCB is the heart of the control function. It infuses sustained visibility into the process of change throughout the system life cycle and traceability into the process of change. The membership in the CCB is not limited to the developers or product line management. All stakeholders in the product must be represented. This includes the end-user usually represented by marketing, subcontractors used in the product development, product development funders, and the product developers. The CCB is the final decision maker as to what bug fixes, enhancements, and feature sets get included in the next product release.
The CCB has periodic meetings, with the results documented. These meetings can be done in a rapid fashion, and doing them online or via email is an adequate way to gain consensus and come to a decision. Important to status accounting is the documentation of CCB meeting minutes. The basic purpose of the minutes is to provide the CCB decision makers with the information needed to make intelligent, informed decisions. The amount of detail varies with the meeting frequency and technical content.

Tagged : / / / / / / / / / / / / / / / / / / /