Saturday, November 24, 2007

Agile test driven development or Software factory

An interesting article here looks at two different approaches to software development and testing: Agile/Extreme Programming and the Software Factory.

"The Agile camp argues that coding is good, and that the key to quality and productivity is extensive testing. One cornerstone of the Agile world is Test Driven Development: the idea that you should write your test code, then write the code to be tested. Code you don't write is always suspect, because it's difficult or impossible to test.

The Software Factory camp argues that generating code is good, and that the overall quality of generated code is higher than the quality of handcrafted code. The less code you write, the higher the quality of your application and the higher your productivity. Rather than writing code by hand, you are better off writing code to generate your code.

The idea of software generating software isn't new. It was tried extensively 15-20 years ago with an idea called Computer Aided Software Engineering (CASE). CASE tools allowed a developer to design and build their applications using high-level metaphors, often diagrams. If you look back at many of those tools, they don't look much different from the Domain Specific Language designers favored by the Software Factory advocates today. So you've got to wonder why Software Factories are going to succeed, when CASE ultimately failed.

Where things get strange is when teams try to mix Agile and Factory concepts. I've seen projects where most business code is generated, and then they also generate a bunch of tests for that generated code. Since both the code and tests come from the same meta-data and are generated by the same generator, it isn't surprising that the tests always work. This is typically done to satisfy some arbitrary requirement to achieve 90% code coverage with tests, but I question the value of tests that are generated automatically alongside the code they are testing.

So who is right? Should you stop using code-generation and handcraft both tests and all your code? Should you abandon the use of frameworks and pre-built components to ensure you can test all the code you use?"

Well you'll just have to go and read the article to find the conclusion the author draws!

Agile testing

Saturday, November 17, 2007

IEEE 829 standard for software test documentation

Top five results when searching Yahoo for IEEE 829 standard for software test documentation

IEEE 829 Documentation and how it fits in with testing
... the IEEE developed the 829 Standard for Software Test Documentation for any ... test design is the first stage in developing the tests for a software

The Test Management Guide - IEEE Std 829-1998
IEEE Standard for Software Test Documentation. IEEE Std 829-1998 ... purpose of this standard is to describe a set of basic software test documents.

IEEE 829 - Wikipedia, the free encyclopedia
IEEE 829-1998, also known as the 829 Standard for Software Test Documentation, ... standards that may be referred to when documenting according to IEEE 829 ...
Quick Links: Relationship with other standards - Use of IEEE 829 - External links

Information Database - IEEE Standards Status
View/download the entire IEEE Standards Status Report (5,463,759 bytes; ... For a complete listing of Standards products and services, please see:

Software test documentation
The IEEE 829 standard for test documentation provides an internationally recognised set of templates for test planning documentation. This is an outline description of the 8 document types.

Labels: ,

Saturday, November 10, 2007

Migration of CRM

An interesting article on migration here looking in particular at CRM migration. It re-inforces the view that success depends upon the collaboration between business and IT staff rather than the excellence of one and the abscene of the other.

The critical first step is to gain an understanding of the data. Profiling customer information destined for a new CRM system is essential to gain a measure of its quality. If, for instance, this identifies an uneven distribution of dates of birth, it may highlight the fact that default or dummy values have been entered to circumvent a mandatory field in the source system. Simply knowing this is valuable – even if it’s not something you can fix - will inform the way that you use the migrated information.

It isn’t reasonable, or realistic, to expect your CRM data to be perfect. However, an Information Quality Assessment (IQA) that includes profiling of the source data (as well as analysing how the information is collected and used) provides valuable insight that can make the difference between the success and failure of any migration project. An IQA uses profiling to identify possible shortcomings of the data and answers questions about how the data was captured and how it can be used. It should be a short sharp exercise the value of which far exceeds the cost of conducting it, but all too often no such exercise is undertaken or it is left far too late in the migration project.

Performing an IQA at an early stage in the migration project brings significant benefits by:

  • Identifying deficiencies in the target system that may require custom development.
  • Providing critical measures for the data, allowing you to plan how best to exploit it.
  • Enabling improvement of data in the source or during the migration to maximise its value.
  • Assuring the delivery of the application migration on time and on budget.

And what of the role of the CRM manager during migrations? CRM managers play a critical role in the migration to a new CRM system. As the 'owner' of the customer relationship, they should be involved at every stage, not just the beginning (application selection) and end (user acceptance testing).

As custodian of customer data, they should insist that an IQA is performed right at the outset of the project so that there are no 'unknown unknowns' in the data. Defining rules for transforming and improving data should also involve business users.

Whilst some of the transformations may be technical in nature, any that concern the logical content of the data should be owned by the business. For instance, decisions about whether and how to split compound names (eg Mr & Mrs E A Wintle t/a Abbey Cars) and rules about matching individual and business names should rightfully be made by the CRM team, not left to somebody in IT - who is scared of the project anyway.

Friday, November 02, 2007

Test management job

Top ten results found searching for Test Management Job in

Test Manager Jobs, Average Salary for Test Manager Jobs
Test Manager Jobs, Average Salary for Test Manager

Software test consulting job board
Software testing jobs and vacancies with UK testing consultancy. ... We are looking for an experienced test manager who has successfully led the testing ...

Software testing jobs
Test manager for large projects or programmes. You have the finest motivational, people and task management skills as well as excellent communication skills - 9k

Test Manager Jobs at - the UK's biggest job site. ... Test Manager Jobs (76 jobs from the last 7 days) ... Contract Non Functional Test Manager - Blackpool

Test Manager Jobs at
E-Commerce, Internet or Intranet, UAT Test Manager required for Commercial Bank based near Heathrow. You will have proven history in UAT test strategies

Test Manager - ISEB - ( Mercury Test Director ) - London Job
Test Manager - ISEB - ( Mercury Test Director ) - London Jobs from IT Executive Group. Job search more Test Manager - ISEB - ( Mercury Test Director

Test Manager, Systems Integration Job
Test Manager, Systems Integration Jobs from Excelerate. Job search more Test Manager, Systems Integration Jobs at Executives on the

Test Manager job
This particlar job for a Test Manager has been removed from the site and is no longer available for viewing. However we have a number of similar Job

Test Manager job
Test Manager job - Test Manager job - IT & Internet job - Tester job in

Global Test manager Jobs London
Global Test manager Jobs in London, contract and permanent IT Jobs