Thursday, April 4, 2013

Configuration Management

Configuration management is all about having a detailed recording and updating of information that describes an organization’s computer systems including all hardware and software components or artifacts.

Few components or artifacts keep changing with time as the scope, objective or anything else changes. Such components or artifacts can be termed as configurable items. Such information typically includes the versions. Special configuration management software is available that maintains the different versions of the configurable items.

An advantage of a configuration management application is that the entire collection of systems can be reviewed to make sure any changes made to one system do not adversely affect any of the other systems.


Software CM is a discipline for controlling the evolution of software systems.

The activities to be performed are as below:

1. Identification: All the configurable items have to be identified to reflect the structure of the product. This involves identifying the structure and kinds of components, making them unique and accessible in some form by giving each component a name, version identification, and configuration identification. Each item can be given a unique id to identify them in a set of resources.

2. Change management: All the changes that take place to the software components or hardware of the artifacts are to be ported to the tools that are used for the purpose.

3. Status Accounting: any change in the configurable items will create a new version and these are to be recorded and reported and tracked through revision history.

4. Audit and review: reviews and audits have to be conducted to validate the completeness and correctness of the defined process.

The tools that can be used for this purpose are:

1. VSS
2. CVS
3. SVN
4. SharePoint etc.

Project management best practices

Project management best practices

1. Build a good working environment by treating the resources with courtesy.

2. Team member can be motivated by complimenting his good work done and when this is communicated in a public meeting

3. Working late with the team quite often gives a positive impact on the project

4. Meetings should be conducted involving the whole team so that it becomes a platform for a discussion and many new ideas would come up for the improvement. Always start a meeting with a agenda else the meeting cant be a time bound one.

5. Every team member should be assigned with a work on his interest to get a better outcome.

6. Rotate the resources if the resource is unable to perform and guide him or help him to overcome, else replacement would be the only option.

7. Training opportunities should be given to develop their skills that would impact the way they deliver their services

8. Every team member should be treated equally and

9. Avoid criticizing the members publicly. To point out the errors its always a good practice to talk to him personally

10. Avoid talking about team members with other team members

11. Plan properly to overcome working overtime. Working late continuously would bring down their productivity

12. Sincere hard work should be rewarded publicly to pass the positive waves to the team

13. Use of templates and tools cut down the time in achieving the targets

Project Management

Project Management:-

It is an art that comes by experience. It is about planning, implementing, monitoring and tracking, and adopts new procedures while optimizing the use of resources. Project manager will be responsible for the outcome of the project. The different activities done by a project manager are as below

1. Involve in pre sales activities

2. Involve in feasibility study

3. Design a strategy

4. Prepare a detailed plan for the implementation of the strategy

5. Estimate for the resources

6. Acquire human and material resources

7. Assign the activities

4. Monitor and adopt best practices

5. Mentor the team to achieve the goals

6. Communicate with the stakeholders and management on the status of the project

7. Analyze the results and control the course of action

8. Closing the project and getting a feedback from the stakeholders as part of continuous improvement

All the above activities are to be performed to keep the project variables under control.

The different project variables are as below:

Time -
The amount of time required to complete the project.


Cost -
Cost to complete the project including the hiring cost, development, infrastructure required, training needs etc.

Quality -
This is dependant on the time factor. If the time given is less than the required one, quality will be beaten up.

Scope -
Requirements specified by the customer for the end result.

If any of the variable changes it affects any of the other 3 variables. Example if the scope of the project has increased then either the cost of the project is more or time taken to complete is increased or quality is affected.


Wednesday, April 3, 2013

ISO

ISO 9001:2000

Model Overview

Guides how to implement the quality systems and software engineering activities.
The ISO 9001:2000 standards are based on the following eight quality management principles.

1. Customer Focus.
2. Leadership.
3. Involvement of People.
4. Process Approach.
5. System Approach to Management.
6. Continuous Improvement.
7. Factual Approach to Decision-Making.
8. Mutually Beneficial Supplier Relationships.

CMMI

Software Engineering Institute Capability Maturity Model Integration (CMMI®)

On March 1, 2002, the integrated model for systems and software engineering, Integrated Product and Process Development, and supplier sourcing (CMMI®-SE/ SW, version 1.1) was released.

Maturity Levels

There are five maturity levels. Each maturity level defines an approach of process improvement and stabilizes an important part of the organization’s processes.

The five maturity levels are:

Level 1: Initial

The process capability at Level 1 is considered ad hoc because the software development process constantly changes as the work progresses. Schedules, budgets, functionality, and product quality are generally unpredictable. Success depends on having exceptional people who are working in the organization for quite some time.

Level 2: Managed

Level 2 organizations know about basic management controls and have adopted them. Policies for managing a software project and procedures to implement those policies are established. Planning and managing projects is based on experience with similar projects. Software costs, schedules, and functionality are tracked.

The capability of Level 2 organizations can be summarized as disciplined, because the ability to successfully repeat planning and tracking of earlier projects results in stability. The following six key process areas:

• Requirements Management
• Software Project Planning
• Software Project Tracking
• Software Subcontract Management
• Software Quality Assurance
• Software Configuration Management

Level 3: Defined

There is documentation on standard engineering and management processes for developing and maintaining software across an organization. There is a group responsible for the organization’s software process activities.

The capability of Level 3 organizations is summarized as standard and consistent because engineering and management activities are stable and repeatable.

The following are key process areas:

• Organization Process Focus
• Organization Process Definition
• Training
• Integrated Software Management
• Software Product Engineering
• Inter-group Coordination
• Peer Reviews

Level 4: Quantitatively Managed

A Level 4 organization sets quantitative quality goals for both software products and processes. Productivity and quality are measured the capability of Level 4 organizations is summarized as predictable because the process is measured and operates within measurable limits.

Quantitative Process Management and Software Quality Management are the two key process areas.

Level 5: Optimizing

At Level 5 the entire organization is focused on continuous process improvement. The organization has the means to identify weaknesses and strengthen the process proactively, with the goal of preventing the occurrence of defects. Root cause analysis and defect prevention steps are taken.

Key process areas of Level 5 are:

• Defect Prevention
• Technology Change Management
• Process Change Management

Criteria To Select A Model

Criteria To Select A Model

Any IT organization should take in to account the below mentioned four criteria when selecting a model:

• Applicability of the model to the organization’s goals and objectives.

Before adopting a model, the organization should check for the consistency of the criteria imposed by the model with the organization’s goals and objectives. It is important that each criterion in a model be directly related to accomplishing the organization’s goals and objectives.

• Management commitment.

Management commitment is the key factor to get success with any model implementation. The style of management should vary from traditional way to a quality perspective manner to check if the models are implemented properly or how to implement the compliance or different proven methods of doing work.

• Need for baseline assessments.

An organization should know how effective and efficient it is. For this a measurement programs have to be created and goals have to be set that become the baseline for the measurements. It could be both subjective and objective in nature.

• Need for measurable goals and objectives.

Organizations that desire to improve, need goals and objectives to measure that improvement. If a model is accepted as the means for continuous improvement, then measurable goals and objectives can be defined that describe movement toward meeting the model criteria.

Quality models

Purpose of a model

A model is a concept to be accomplished that is ideal. These have specific standards defined under national or international standards organizations. And when these are to be implemented for a purpose the standards can be tailored. These models have to be accomplished for compliance and are measured in "pass/fail" terms.

Compliance assessments can be through first-party, second-party or third-party audits or other types of evaluation.

Organizations choose to adopt a model for any or all of the following reasons:
• Meet business goals and objectives.

Ideally by implementing a model by an organization can refocus the goals and objectives to meet them in a more appropriate manner.

• Requirements are imposed by key customer.

There are scenarios where the key customer imposes the adoption of model in the IT organization to improve the efficiency and effectiveness.

• For competitive reasons.

Few customers’ select IT organizations that is in compliance with a model to do business.

• For continuous improvement.

All the quality models show a way to improve the existing process and how to lead a path for continuous improvement. So having a model would help IT organization to have roadmap for continuous improvement.

AI in Software Testing: How Artificial Intelligence Is Transforming QA

For years, software testing has lived under pressure: more features, faster releases, fewer bugs, smaller teams. Traditional QA has done her...