Welcome to SDLC Tools!

A place to talk about different SDLC tools and how they are being used in organisations. This can include discussions on vendor offerings, techniques and tips.

Looking forward to reading more about your experiences and sharing knowledge so that others can benefit!

Sunday, September 21, 2008

Building maturity

Most large companies and organizations commonly have issues around adoption of new tools, these include:

Vendor management (contract, licensing, support)
Staff turnover (new staff joining and SME's (Subject Matter Expert) leaving)
Lack of supporting process (documentation required to support a process within the tool)
Disparate working environments & teams (lack of communication)

Some of these can be addressed by having COP sessions (Communities of Practice) with reps from all the relevant teams to discuss strategy, process or "Best Practice" and how to's.

This is also a great forum to engage users and build the foundation for improved communication between the "Service provider" and customer.

Most issues are usually resolved over time assuming the organizational structure has not dramatically changed in the meantime.

Saturday, September 20, 2008

Test Management

There are many tools on the market that offer the ability to manage test scripts but few tools often have whats needed to build and automate a process. My experience has mainly been with HP Quality Center.

The current version of QC allows for management of requirements (traceability, risk-based testing), test plans, test lab (execution) and defects.

It also integrates with their functional test tools (Quick Test Pro & Winrunner) both of which are great if you wanted to do some regression testing. HP introduces the concept of Business Process Testing, this allows for the break down of test scripts into components (eg login, print, logout as 3 modules), this makes it easy for non automation specialists to build their scripts.

Obviously you will still need specialists to build/maintain components initially.

Monday, September 15, 2008

SDLC Lifecycle Overview

1 Planning: Project planning, feasibility study: Establishes a high-level view of the intended project and determines its goals.

2 Systems analysis, requirements definition: Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.

3 Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation.

4 Implementation (Development): Code, test, install, and support the information system.
— Acceptance, installation, deployment The final stage of initial development, where the software is put into production and runs actual business.
— Integration and testing Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.

5 Maintenance: What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more.

SCM Tools

The selection and usage of SCM (Software Configuration Management) tools often depends on:

  • The IDE (Integrated Developer Environment) developers are using
  • The process to be supported (Agile, waterfall etc...)
  • Other tools that will integrate with the SCM tool (Build, deployment etc...)
  • The SCM tool that most users are comfortable with (ease of use)
I have found that most organisations have still not achieved a certain level of maturity to make use of all the features in most "all-inclusive" tool offerings and basic SCM tools are usually sufficent as a starting point.

Once the majority of developers are on a standard tool, it is then simpler to build on the concept of a central SCM Service and begin adding processes and validation checkpoints.

There are many basic SCM tools on the market which are not overly complex to use some of the common ones include:

  • PVCS
  • CVS
  • SubVersion

These tools are an excellent starting point, though I would recommend (as with the selection of any tool) conducting a pilot to ensure that all your needs, wants & must haves are met.

More complex tools include:

Serena Dimensions and
Rational Clear Case

These tools include workflow management options as well as ability to create custom attributes for different types of configuration items as well as inbuilt build & release management, release baselines, work and change request management & detailed reporting of changes to the repository items.