What is Capability Maturity Model

-->

The Capability Maturity Model is a methodology used to develop and refine an organization software development process. Capability Maturity Model was developed and is promoted by the Software Engineering Institute, a research and development center sponsored by the U.S. Department of Defense.

The Capability Maturity Model ranks software development organizations in a hierarchy of five levels, each with a progressively greater capability of producing quality software. Each level is described as a level of maturity.

Levels of the Capability Maturity Model

According to the Software Engineering Institute,

“Predictability, effectiveness, and control of an organization software processes are believed to improve as the organization moves up these five levels. While not rigorous, the empirical evidence to date supports this belief.”

Level 1 – Initial

Maturity level 1 organizations usually does not provide a stable environment and often produce products and services that work; however, they frequently exceed the budget and schedule of their projects.

Level 2 – Repeatable

At maturity level 2, software development successes are repeatable. The organization may use some basic project management to track cost and schedule. Project status and the delivery of services are visible to management at defined points (for example, at major milestones and at the completion of major tasks).

Level 3 – Defined

At maturity level 3, processes are well characterized and understood, and are described in standards, procedures, tools, and methods. The organization management establishes process objectives based on the organization’s set of standard processes and ensures that these objectives are appropriately addressed.

Level 4 – Managed

Using precise measurements, management can effectively control the software development effort. In particular, management can identify ways to adjust and adapt the process to particular projects without measurable losses of quality or deviations from specifications.

Level 5 – Optimizing

Optimizing processes that are nimble, adaptable and innovative depends on the participation of an empowered workforce aligned with the business values and objectives of the organization. The organization ability to rapidly respond to changes and opportunities is enhanced by finding ways to accelerate and share learning.

The Capability Maturity Model describes an evolutionary improvement path from an ad immature process to a mature, disciplined process. The Capability Maturity Model covers practices for planning, engineering, and managing software development and maintenance. When followed, these key practices improve the ability of organizations to meet goals for cost, schedule, functionality, and product quality.

References: Wikipedia –The Free Encyclopedia and Internet.

Visit:
Halfvalue.com
[A unique shopping website]

 

Tips On How To Choose An Offshore Software Vendor

IT departments and software companies across the world are considering outsourcing in a big way. The obvious advantage is the cost and the not-so-obvious advantage is the availability of highly qualified personnel. If you are considering engaging an offshore development team then these tips can help you make an educated decision on which company to go with:

1) Knowledge of the industry vertical Software has become highly specialized and it is necessary that you choose a vendor who has working knowledge about the vertical you belong to. A company claiming to cater to all verticals in software development services may not have specialization in any area. Choosing a company which does not understand your industry can result in a learning curve which may even become a cost centre for you in development costs.

2) Track record One of the best ways to check knowledge of a company is to pay attention to the track record of the company. Ideally case studies of previous projects and client references of people who you can contact are good indicators to check the working history of the company. This may take some time to do, but should definitely be done if you are considering employing a team for the long run.

3) Quality certification Most well qualified outsourcing companies are now working hard towards quality certification to help them stand out in the crowd. A basic ISO certification or SEI CMM level certification should be given preference when considering an offshore vendor. These quality certifications are usually awarded for the processes followed by the company and can go a long way in influencing the quality of work.

4) Quality of personnel A quality check and telephone interview should be done with personnel who will write your code. It is necessary to validate that they are familiar with the fundamentals and have good research knowledge along with the ability to learn.

5) Infrastructure Information Technology services requires good infrastructure and sufficient back ups to tide over various kinds of problems which might arise from either technical failure or geo-political issues. Apart from back up plans, regular telecom and hardware infrastructure along with physical infrastructure should also be considered when evaluating a vendor.

6) Years of business Preferred offshore vendors are those companies which can show over 7 years of business (which means that they have been around since the time of the dot com crash and have managed to live through it) and a healthy percentage of growth. A fairly new company might have a good value proposition but there is a risk factor regarding business continuity which you might need to take into account.

7) An onsite visit to validate all claims One of the best ways to ensure that you choose the right vendor is to actually take a trip to the country where the vendor is based. Most software developers are based in India or Eastern Europe and a visit there can validate all the points above as well as give you an opportunity to meet the people who will be delivering business critical services.

It may not be possible for you to undertake all the above steps when evaluating a vendor but even a few of these steps will ensure that you are able to make a good decision when it comes to choosing an offshore vendor.

Rod Morris is the founder of CodeLance - www.codelance.com - a leading freelance programming website.

Article Source: http://EzineArticles.com/?expert=Rod_Morris


Quality Certifications and What they Mean in Software Development

Large scale software development companies are still quite young and the software industry itself is a fairly new one. Outsourcing of software development has been around for only a couple of decades and as the industry gains maturity, quality certification has taken on a whole new meaning for suppliers as well as customers. Quality certification in software is slightly different from quality certification in manufacturing. Though a number of business process management and quality control principles are derived from popular quality certifications, the implementation and implications are noticeably different.

There are two broad types of quality certifications which can be obtained by software development companies. One is the ISO 9001:2000 standard and the other is various levels of SEI CMM. Some organizations may achieve an ISO first and then work towards an SEI CMM level certification whereas some may go directly to an SEI CMM certification. ISO certification however, is a lot easier than SEI CMM (as well a lot cheaper) and thus the number of companies with ISO certifications are quite a few whereas SEI CMM level companies are not so many in number.

One of the key benefits of quality certification in a software development company is that it showcases the maturity and continuity of the organization. Both quality certifications pay attention to processes. ISO guidelines state that you should define a process and make sure that it is being followed whereas SEI CMM dictates certain parameters of a process within which the company should work. Achieving certification and maintaining the documented processes provides a long term growth pattern in the company and at the same time helps in building a differentiating factor with customers.

Apart from the maturity and continuity of the organization, software development companies need quality certification to ensure the success of large projects. Tried and tested development methodologies which are part of the certification process ensure that the coding and designing produced by the company are of a high standard and will withstand the test of use and durability. Customers planning to do business with a quality certified company find it much easier to get a good quality software product. Non-certified companies have a tough time when competing with a certified company and that is the reason why more and more software development companies are moving towards quality certification.

Most medium to large companies are moving towards SEI CMM level certification as that quality certification has been developed with software development in mind. There are various levels of the certification and level 5 is the highest a software development company can achieve. The entire certification process for SEI CMM level is lengthy, time consuming and quite expensive when compared with ISO 9001:2000 but the benefits compensate often compensate for that.

So if you are a software company and have not yet gone down the path of certification, it is time you gave it serious thought. If you are an organization looking to outsource software development work to companies in India, China, the Philippines, Poland or parts of Eastern Europe, it is advisable that you consider their quality certifications. Though we have mostly mentioned ISO 9001:2000 quality certifications, there are other industry and technology specific certifications which can also be obtained by software development companies. Usually these certifications are given by software manufacturers or independent bodies and though they might not be as critical as the quality certifications mentioned, they have a good level of importance when evaluating a supplier.

Rod Morris is the founder of CodeLance - http://www.codelance.com - a leading outsourcing website for a wide range of computer services.

Article Source: http://EzineArticles.com/?expert=Rod_Morris


Ethics of Outsourcing

Many times, business organizations encounter the dilemma of ethical decision making. “If a CIO says ‘I’ve never faced an ethical issue’, they’re not living in the real world,” says Larry Ponemon, chairman and founder of the Ponemon Institute, a security and privacy research think tank based in Arizona.

Though business relationships are more economic in nature, their moral and ethical dimensions have an equal impact on profitability. When it comes to the ethics of outsourcing, matters become more complicated, as parities involved are continents away. A judicious choice between the right and the wrong person to do business with will determine the future of your outsourcing venture. Why is it important to do business with organizations that are ethical?

Ethical compliance presents a strong public image and upholds the integrity and character of an organization. Whether personal or professional, not many of us will want to associate with unethical individuals. It makes a lot more sense to do business with ethical organizations as it has a direct influence on the overall functioning of a business.

When things go wrong!

This is the acid test. The way your outsourcing partner reacts during a crisis is the best indicator of whether it is ethical or unethical. When there is mutual trust and responsibility towards each other, a crisis management mechanism will automatically evolve. Ethics creates a space for itself and in ensuring the smooth running of businesses.

Legal aspects

Legal perceptions may differ from one nation to the other and ambiguity could arise when a dispute occurs, leaving both parties in a fix. The association becomes easier when the parties have a legal, moral and ethical obligation to comply with the agreement, with due respect to international law.

Information Security

The core concern of outsourcing ethics is confidential information security. Privacy and security fall under the ‘no compromise zone’. Sujoy Chohan, a consultant at IT research specialists, Gartner Company, says, “If there is any industry which is investing in security tremendously, it is the offshore industry, whether it is India or elsewhere”.

Chief Privacy Officers are highly concerned about proper information security practices. If your outsourcing partner does not have adequate information security measures, it might be wise to stay clear of them.

How does an outsourcer identify organizations which are doing ethical business?

Everyone claims to be ethical. Though a clear definition of the parameters for identifying organizations with ethical conscience will be a difficulty, some factors are vivid.

Vendor reliability

It is nothing but trust that makes someone want to outsource. Weigh the dependability and reliability of the organizations to which you want to outsource.

A clear definition and practice of the ethical rules and privacy policies of the organization like non-disclosure of trade secrets, secrecy and non-disclosure contracts with staff, third party service providers and visitors is a prerequisite. This will reassure the outsourcer that it is safe to do business with a partner who is miles away. Employee Credibility

Information security will largely depend on the people who handle the information. Organizations that implement tough employee credibility measures have a direct implication on its outsourcing ethics.

Communication

Clear and open communication channels are another sign of an ethical company. When a project does not go the right way, an ethical partner will always keep you informed of the problem and possible solutions and time needed.

Inquiry

A thorough enquiry should be made about the organization and their nature of work management. Talking to the employees and references will give a clear idea about the professional approach of an organization. Check if the following requirements are met by your outsourcing partner:

•Proper information security systems

•Appropriate quality certifications such as ISO 9000 or SEI CMM

•Appropriate programs to protect the trade secrets of its clients, partners and their customers

•Infrastructure

•Training and upgrading the security skills and awareness of employees.

•Safety of electronic data storage

•Presence of a whistleblower

•Proper arrangement with third party service providers

How does being ethical help in reducing the risks of offshore outsourcing?

You can always find companies that offer services at very low costs. An ethical concern might seem to be a costlier choice. However, the price difference could be deceptive as the variation will only be in the initial cost. In the long run, the overall cost will prove to be much lower when you are working with an ethical partner.

Ethical vs. Unethical partnership

Unethical partnership:

•The cost of maintaining the project and the relationship will be high

•Lack of trust

•Strained relationship

•Non disclosure of facts

•Lack of transparency

Ethical Partnership:

•Reduced costs

•Reduced risk

•Common focus

•Relationship equilibrium

•Knowing the risks and managing them together

•Proper management systems

Client responsibilities

Before making an outsourcing decision, the outsourcer should also be clear about the responsibilities that he should share. This will help in building a healthy relationship base.

•willingness to discuss

•manage expectations

•last agreed document should be the basis

•build flexibility to contracts

•openness to intermediate scope and price review

Make sure that all the loop holes which can disrupt the outsourcing process are dealt with. The benefits of outsourcing are sure to show up with safe outsourcing practices.

This content was provided by outsource2india. For more information on outsourcing, log on to http://www.outsource2india.com

Article Source: http://EzineArticles.com/?expert=Ranjini_Sivaswamy


Effective Outsourcing

As the implications of globalization have sunk into the business world, the idea of what a company should be has changed. Not long ago they were institutions—buildings and factories with workers who drove to work in the morning and punched out at night.

Business models have become much more customer centered since those days. It’s not about your company or your staff, or even your product—your business is about your customers and what they want. This shift in focus has led to many companies experimenting with different structures in order to discover how to meet their customer’s needs at the lowest cost and for the highest profit.

One of the most effective ways of doing this is outsourcing. Companies define their core competencies and then look to outside contractors to meet their other needs. Marketing, printing, archiving, human resources—for every business function, there are other businesses that specialize in providing it. Microsoft now employs between 4,000 and 5,750 temporary and contract workers.

Benefits of Outsourcing

Outsourcing allows businesses to focus on their distinctive core competencies, the specialties that the business is based on and that help it achieve competitive advantage.

Because they are working within their specialties, companies that provide outsourced services can often work on a project in a faster, more efficient and more sustained way than an in house team could.

Outsourcing allows businesses to better asses future costs because the company providing the outsourced services must clearly estimate and propose costs.

Drawbacks of Outsourcing

Managers have much less control over products and services once they have been outsourced—you are placing trust in another company to meet your businesses needs

Communication between your company and the contractor can be difficult. By transferring a function to a contractor you lose the ability to directly communicate your company’s goals and values.

Outsourcing can result in the loss of in-house and local jobs due to its ability to lower costs and improve efficiencies. This can, in turn, make your company dependant on contractors to survive.

How to Outsource Effectively

Make sure that you have a contact person with your contractor that you can easily communicate with and who will be accountable to you.

Have the service or product you want outsourced as clearly defined as possible before you hand it over to contractors

Make certain that you can draw from a pool of qualified contractors so that if you have problems with one you can find others to provide the services you need.

Nigel Fogden is an English teacher and writer with 24 by 5 Tech Comm, a technical writing company that specializes in fast, high-quality, software documentation. For more articles on writing, technology and business, sign up for the 24 by 5 Tech Comm Newsletter at www.24by5.com

Article Source: http://EzineArticles.com/?expert=Nigel_Fogden