Wednesday, October 07, 2009

Shemas and Schema Repository

Schemas and schema repositories

A Rational ClearQuest schema is a complete description of the process model for all the components of a user database. This includes a description of states and actions of the model, the structure of the data that can be stored about the individual component, hook code or scripts that can be used to implement business rules, and the forms and reports used to view and input information about the component. Rational ClearQuest provides out of the box-schemas that can be customized for a client installation.

A schema is a pattern or blueprint for Rational ClearQuest user databases. When you create a user database to hold records, the database follows the blueprint defined in a schema. However, a schema is not a database itself; it does not hold any records about change requests, and it does not change when users add or modify records in the user database.

Rational ClearQuest stores schemas in the schema repository. The schema repository is the master database that contains metadata about the user databases. It does not contain user data.

A schema repository can store multiple schemas, for example, one schema for defect change requests and another schema for feature enhancement change requests. [Source:IBM]

Tuesday, August 25, 2009

Choose www or no www

URLs with or without www

Introduction

When you write a URL for your website, it can be written with or without "www," like this:

§ http://www.webhostingtalk.com/wiki
§ http://webhostingtalk.com/wiki

Should you include "www" with your URL?

The same and not the same

With most websites, the URLs with and without "www" in them will point to the same site. However, you can specify each URL (with and without "www") to point to a different IP address by modifying your DNS A record.
Some search engines see the above two URLs as two different URLs. Each URL can have a different PageRank, and by using both, you're diluting the PR for each URL.
For PR and SEO purposes, it's preferable to choose one version or the other to use. There are reasons for each choice. Which one you choose depends mostly on personal preference.

Reasons to include www

  • It helps identify a URL as a web address, especially if the domain extension is other than a .com one.
  • Many people will type it in anyway.
  • For some people, URLs look more visually appealing with them.

Reasons not to include www
§ It makes the URL longer, especially if the URL is for a subdomain.
§ It's unnecessary.
§ For some people, URLs look cleaner without them.

How to redirect from one to the other using .htaccess

If your site is on an Apache server, you can choose to have only the version with or without "www" appear. One will direct to the other.

Add one of the following to your .htaccess file after replacing "example.com" with your domain. The "RewriteEngine on" first line activates mod_rewrite.

To redirect to the URL with www
RewriteEngine On
rewriteCond %{HTTP_HOST} ^example.com [NC]
rewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

To redirect to the URL without www
RewriteEngine on
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^/(.*) http://%1/$1 [L,R=301]

Saturday, June 20, 2009

IBM Rational Jazz...

Over the years, developing software has been compared to many familiar activities - an art, a science, even a manufacturing process. What all of these comparisons miss is the social dimension: software is best developed by a team of people working together, reacting and responding to each other in order to achieve the best outcome. Jazz is an IBM initiative to help make software delivery teams more effective. Inspired by the artists who transformed musical expression, Jazz is an initiative to transform software delivery making it more collaborative, productive and transparent.

The Jazz initiative is composed of three elements:

  • An architecture for lifecycle integration
  • A portfolio of products designed to put the team first
  • A community of stakeholders

An architecture for lifecycle integration

Jazz products embody an innovative approach to integration based on open, flexible services and Internet architecture. Unlike the monolithic, closed products of the past, Jazz is an open platform designed to support any industry participant who wants to improve the software lifecycle and break down walls between tools.

The Jazz integration architecture is designed to give organizations the flexibility to assemble their ideal software delivery environment, using preferred tools and vendors. More than that, it allows them to do so with the flexibility to evolve their environment as their needs change, to move at their own pace, and not to be hindered by the traditional brittle and restricted integrations associated with traditional tools. The Jazz Integration Architecture defines a common set of Jazz Foundation Services that can be leveraged by any Jazz tool, and explains the rules of the road for accessing and utilizing Jazz services. It also incorporates specifications defined by the Open Services for Lifecycle Collaboration project, an independent, multi-vendor effort to define a set of protocols for sharing information across multiple tools and vendors.

A portfolio of products designed to put the team first

The Jazz portfolio consists of a common platform and a set of tools that enable all of the members of the extended development team to collaborate more easily. This reflects our central insight that the center of software development is neither the individual nor the process, but the collaboration of the team. Our newest Jazz offerings are:

  • Rational Team Concert

    A collaborative work environment for developers, architects and project managers with work item, source control, build management, and iteration planning support. It supports any process and includes agile planning templates for Scrum and the Eclipse Way.

  • Rational Quality Manager

    A web-based test management environment for decision makers and quality professionals. It provides a customizable solution for test planning, workflow control, tracking and reporting capable of quantifying the impact of project decisions on business objectives.

  • Rational Requirements Composer

    A requirements definition solution that includes visual, easy-to-use elicitation and definition capabilities. Requirements Composer enables the capture and refinement of business needs into unambiguous requirements that drive improved quality, speed, and alignment.

A community of stakeholders

Jazz is not only the traditional software development community of practitioners helping practitioners. It is also customers and community influencing the direction of products through direct, early, and continuous conversation. We are doing much of our development on jazz.net, out in the open.

Once you join, you can communicate with the development teams, track the progress of builds and milestones, give us direct feedback on what is working and what is not, and submit and track defect and enhancement requests. You also have full visibility to our detailed plans, status, and progress. At the core of these benefits, you can experience using our product Web interfaces and see us using our products to develop our products. The benefit of this transparency is that it allows you and other customers to become part of a continuous feedback loop that drives development decisions. By providing your feedback early and often, you can understand and influence release direction and priorities before these decisions are locked down.

Objectives

Our goal is to provide a frictionless work environment that helps teams collaborate, innovate, and create great software. To that end, we are focusing on driving fundamental improvements in team collaboration, automation, and reporting across the software lifecycle.

Collaboration

Traditionally, software development has been tooled as if it were a tug-of-war between the productivity of individuals and the automation of processes. Business stakeholders were lucky if they got any consideration at all between major "reviews" and "handoffs". Jazz tools reflect the insight that the center of software development is neither the individual nor the process, but the collaboration within the team. It also recognizes that the team extends beyond the core practitioners to include everybody with a stake in the success of an initiative. A goal of the Jazz initiative is to enable transparency of teams and projects for continuous, context-sensitive collaboration that can:

  • Promote break-through innovation
  • Build team cohesion
  • Leverage talent across and beyond the enterprise

Automation

Our research shows that nearly all organizations want to reduce bureaucratic roadblocks to development by automating tedious and error-prone tasks and burdensome data entry. Yet they also need to maintain or improve process consistency and governance, and increase insight into real project progress. A goal of the Jazz initiative is to automate processes, workflows and tasks so that organizations can adopt more lean development principles at the pace that makes sense for them. The Jazz initiative endeavors to:

  • Improve the support and enforcement of any process, including agile processes
  • Reduce tedious and time-consuming manual tasks
  • Capture information on progress, events, decisions and approvals without additional data entry

Reporting

Getting fast access to fact-based information is essential to any choreographed work effort. But all too often, software development status is gathered through a tedious, manual reporting effort that is out of date by the time it is collected, correlated, and delivered. The Jazz initiative is focused on delivering real-time insight into programs, projects and resource utilization to help teams:

  • Identify and resolve problems earlier in the software lifecycle
  • Get fact-based metrics -- not estimates -- to improve decision making
  • Leverage metrics for continuous individual and team capability improvement
Courtesy: http://www.jazz.net

Wednesday, June 10, 2009

Test Process Improvement


Is a tried and tested structured assessment of an organization’s testing maturity with a view to improving its overall testing and QA effectiveness and efficiency.

The TPI has been developed by Sogeti, a wholly-owned subsidiary of the international Capgemini organization. It goes hand in hand with the Test Management Approach (TMap) which is also a testing methodology from Sogeti.

The TPI methodology is an approach of evaluating the current state of the QA and testing processes in the organization according to 20 key dimensions (Key Areas). It provides a quick, well structured status report to the existing maturity of the test processes in the organizations as well as a detailed road-map to the steps needed to take in order to increase the maturity and quality of the testing process.

This model has four basic components -
  1. Key Areas
  2. Levels
  3. Checkpoints
  4. Improvement Suggestions

Key Areas

Life Cycle

Test strategy
Life-cycle model
Moment of involvement

Techniques

Estimating and planning
Test specification techniques
Static test techniques
Metrics

Infrastructure

Test automation
Test environment
Office environment

Organization

Commitment and motivation
Test functions and training
Scope of methodology
Communication
Reporting
Defect management
Test-ware management
Test process management

All Cornerstones

Evaluation
Low level testing

Levels
Each of the above key areas is assessed at various levels like A, B, C and D.
The number of levels for all the key areas is not the same. For e.g. Static Testing Techniques’ key area has only two levels – A and B. However, ‘Test Strategy’ has 4 levels – A, B, C and D.

Checkpoints

Each level has certain checkpoints for each of the key areas.
The test process under assessment should satisfy these checkpoints to be certified for that level.

Improvement Suggestions

The model also includes improvement suggestions to assist the organizations in achieving higher levels of maturity.

If we already have automation, what's the need for Agents?

“Automation” and “agent” sound similar — but they solve very different classes of problems. Automation = Fixed Instruction → Fixed Outcome ...