- +
Ticked Off at Tick the Box Mentality 04 February, 2008 13:01:15
Does your executive search firm know the difference between an MIS manager and a CIO, and if it does, can it explain that difference to its corporate clients?Does your executive search firm know its MIS managers from its elbow? Does it even know the difference between an MIS manager and a CIO, and if it does, can it explain that difference to its corporate clients? - +
Your World. . . Hacked 02 October, 2007 10:51:23
As your business becomes more collaborative and global, the risks to your company’s trade secrets rise proportionally. Fortunately, there are new strategies to protect the data that allows you to competeThe call to Bob Bailey, an IT executive with a major US government contractor, came on an otherwise ordinary day in October 2003. "Why are you attacking us?" demanded the caller, an IT leader with a Silicon Valley manufacturer. He wanted to know why Bailey's company had launched a denial-of-service attack against his network - +
Getting Clueful: Five Things CIOs Should Know About Software Requirements 03 April, 2007 12:37:05
Software requirements documentation was supposed to itemize everything that the application required. But the project was late, the users were unhappy, and the budget spun out of control. Why? Just ask the developersSome days, you wish you had telepathy. You just know that your development staff is holding back in some way, but you don't know how to get them to communicate. Is the project in trouble, but they're afraid to tell you? - +
It Is the Business, Stupid 10 December, 2006 13:59:51
When projects go pear-shaped it's usually because there's too much focus on technology, and not enough on business outcomes and associated changeIn a 2005 article"Why Software Projects Fail", Cutter Consortium Fellow Robert Charette narrates an infamous anecdote about a disappearing warehouse. - +
Just Say "Know" 06 November, 2006 11:35:51
The boss may assume that outsourcing is the answer to everything. But CIOs can't afford to assume anything. They have to know.It's a scenario scary enough to induce night sweats in even the steeliest CIO. Your CEO, just back from a conference in Port Douglas, strides into your office. Yesterday, he played golf with the vice president of sales for one of the big IT services companies and now he's telling you that this company could take over most of your IT functions and cut your company's IT budget in half. Not only that, they can deliver better services levels. After all, it's what they do!
- +
12 quick IT productivity wins 02 March, 2007 16:14:47
Quick tips to boost your productivityStop us if this story sounds familiar. You've been asked to a) keep your infrastructure humming and b) come up with innovative ways to use technology to boost the bottom line. Meanwhile, your resources are stretched tighter than a US$2 string on a banjo and you spend so much time putting out fires you should be wearing a helmet and carrying a hose. - +
Baked-in security 04 May, 2005 14:12:29
Profiling, performance plans, coding standards, testing and testing all play a part in getting it right. With Heather Havenstein. - +
PHP: Making an exception 24 January, 2005 07:04:58
Gavin Sherry continues his exploration of what makes PHP 5 so special. This month it's exceptional. - +
BPEL 06 July, 2005 13:57:46
Business Process Execution Language is an XML-based language that's designed to run a series of Web-based transactions and/or characterize interfaces that are needed to complete Web-based transactions. By Jan Matlis - +
Is Your Contingency Plan Fireproof? 20 July, 2000 12:01:01
Business unit contingency planning was never more visible or more important than in 1999, when every senior manager had to review his or her operations in preparation for the Year 2000. A formal Business Impact Analysis (BIA) was conducted at many organizations - for the first time in some cases - to identify single points of failure and other risks and threats to business operations. But just because Year 2000 rolled in with little disruption, that's not to say that business unit contingency plans aren't worth the effort or that they are no longer important.
Read up on the latest ideas and technologies from companies that sell hardware, software and services. SOA Governance: Rule your SOA
Using EMC Celerra IP Storage with Vmware Infrastructure 3 over iSCSI and NFS
Application Modernization: Preserving Your Organization’s DNA
The State of Internet Security
Extending Business Solutions across the Organisation
EMC Solutions for Databases Microsoft SQL Server 2005 Nseries iSCSI
The Secrets of C-Suite Success
The IP Storage payoff: Turning your investment into efficient, affordable results
Newsletter Subscription
Next to requirements, testing is the most overlooked, most under funded, most rushed, yet most critical aspect of the software development cycle. Here are 25 ways to boost the level of success .
Three years ago, Station Casinos came up with a great promotion to lure customers: $25 worth of free slot play on their electronic loyalty cards. It worked like a charm too. Gamblers flocked to the casino in droves.
That should have been a good thing.
But one Friday night, shortly after the promotion began, when players inserted their cards into the slot machines, nothing happened. The sheer number of people trying to access the machines - at the same time the accounting department was running a number of financial applications - caused the servers that stored all the promotional information to freeze. Irate, players threw their loyalty cards on the floor and raised a ruckus.
That was a bad thing.
The source of the problem? Testing. Marshall Andrew, Station Casinos' VP of information technology and CIO, says Station Casinos never anticipated such an overwhelming response to the promotion. Consequently, IT did not test the system for such large volumes of activity, and certainly not while other programs were running. Station lost the cash they would have made that Friday, alienated customers and had to run another campaign to apologize; the casino invited some customers to return another weekend for $50 worth of free slots.
The moral: Testing is essential to developing high-quality software and to ensuring smooth business operations. It can't be given short shrift; the consequences are too dire. Businesses - and, in some cases, lives - are at risk when a company fails to adequately and effectively test software for bugs and performance issues, or to determine whether the software meets business requirements or end users' needs (see "The High Cost of Flawed Testing", page 66).
"The important thing when you roll out a system is to make sure it works," says Andrew, who has made significant changes to his testing organization (known as quality assurance, or QA) since then. First, he changed the testing process itself. Previously, developers had a great deal of freedom to change code while it was being tested to keep the project moving. Now, there are tight controls on the developers' access to test code. To keep everyone honest, Andrew had the QA specialists begin reporting to the business analyst group rather than to the development group, whose work it was evaluating. Next, he hired more QA specialists - with business training - and involved them in the development process earlier, when business analysts are creating requirements documents, so that they can then develop test scripts based on business specifications right from the beginning.
The following list of best practices for testing software and running your testing organization were gleaned from interviews with companies that have rigorous testing needs and standards. These tips go beyond the "test early and often" mantra and will improve your IT organization's testing capabilities - not to mention the quality of the software you release.
- 1. Respect your testers.
In many companies, testing is an entry-level job. As a result, testing isn't done well. Instead of hiring people off the turnip truck, recruit candidates who are detail-oriented, methodical and patient. Look for people who know how to code. Your developers will respect them more, and they can code some of their own testing tools. "If the development organization and the QA organization don't respect each other, we won't be able to achieve our high-level quality goals," says e-Bay's VP in charge of QA, David Pride.
2. Collocate your testers and developers. Putting developers and testers together goes a long way toward improving communication between two groups that often lock horns (after all, testers are paid to find fault with developers' work). Physical proximity "facilitates the nuances of testing" that are best communicated through personal interaction rather than by e-mail or an application development workflow tool, says Pride.
3. Set up an independent reporting structure. Testing should not report to any group that's evaluated on meeting deadlines or keeping costs down for a project, according to John Novak, senior VP of hotel chain La Quinta. Having testers report to the development group is the worst choice of all, Novak says. If developers are behind or having trouble with code, they will be tempted to keep testers out of the loop. Instead, Novak has testers report directly to him. Andrew has testing report into his business analyst group as a way to foster communication and to get testers involved in the development life cycle early.
4. Dedicate testers to specific systems. At Barnes & Noble, one group of testers focuses on store systems, while others tackle financial and warehouse systems. Barnes & Noble CIO Chris Troia says focusing testers on one set of systems deepens their understanding of how those systems are supposed to work and gives them the expertise to identify problems that might not show up in a formal test document. E-Bay takes the same approach, but goes one step further. The company has three distinct testing groups: one for site functionality, one for payments and one for data warehousing applications.
5. Give them business training. Station Casinos' Andrew makes members of his testing department work the front desk, the casino floor and in different corporate departments so they can learn the lingo and better understand the systems they're testing. (Most of his 125-person IT staff had never placed a bet on a sporting event at a casino prior to joining the company.)
6. Allow business users to test too. Most testing involves banging on systems and fiddling with code - technical stuff - which can tempt IT to leave business users out of the loop. Bad mistake. At La Quinta, "the testers are always coming out of the business community", says Novak, to ensure that the systems IT is developing meet their specs. For some applications, especially those that run in hospitals, getting end users to test applications is a matter of life and death. "Technology people can only go so far," says Patricia Skarulis, vice president of information systems and CIO of Memorial Sloan-Kettering Cancer Centre. "We need to have users involved."
7. Involve network operations. Nate Hayward, vice president and director of quality management with HomeBanc Mortgage, says that during testing, his company's network operations group uses a software tool to monitor servers for performance issues that could originate from the way hardware or software is configured. Involving the network operations experts in testing also gives them the opportunity to rehearse a deployment before a system goes into production, ensuring that the actual implementation will proceed smoothly.
8. Build a lab that replicates your business environment. Four years ago, Station Casinos built a costly test lab that looks like a mini casino with slot machines, point-of-sale terminals and Web-based kiosks that simulate the computing environments at all 13 of Station Casinos' properties. Ninety percent of the applications the company runs, including wireless apps, are duplicated in the test lab. For the other 10 percent of applications, which are too big or complex to create an exact testing replica, Andrew comes up with a scaled-down subset of the app to predict how it will run when it's fully rolled out. Or he gets help. With Station Casinos' last system roll-out, he used Microsoft's test labs to run simulation models.
9. Develop tests during the requirements phase. Companies traditionally have waited to do testing until requirements have been established and coding has begun - or finished. A growing school of thought says that testing can still be done effectively even if the requirements have not been developed fully. Fans of "agile programming" (see "Fixing the Requirements Mess", page 54) believe that testing should be done continually from the beginning of the project until the end.
10. Test the old with the new. E-Bay uses a statistical analysis tool it built in-house to compare defects discovered by testers to the code that was tested during a particular testing cycle. The goal is to make sure that previously tested pieces of software still work properly when new features are added. Pride says the statistical analysis tool pinpoints where testers need to add test cases in the current project and also helps determine the overall effectiveness of current regression tests for forthcoming software projects. E-Bay needs to continually refine the tests because some new projects may contain the same functionality as previous projects. The better those tests can be, the better future projects will be.
11. Apply equivalence class partitioning. This is a mathematical technique that testers can use to identify additional functional requirements that business analysts and users might have overlooked or not articulated, says Magdy Hanna, chairman and CEO of the International Institute for Software Testing. He says equivalence class partitioning gives testers a clear picture of the number of test cases they need to run to adequately exercise all of a system's functional requirements. Pride says equivalence class partitioning is one way his group can determine all the ways in which e-Bay's 157 million users might use its online auction platform.
12. Involve testers early in the development cycle. Nathan Hayward, HomeBanc Mortgage's vice president and director of quality management, says his quality assurance workers meet with business analysts and business users before developers even start writing code - while requirements are being written - to determine what requirements they ought to test and to develop test cases for each requirement.
13. Establish quality checkpoints or milestones throughout the entire development cycle. David Pride, e-Bay's vice president of quality assurance, says these milestones are one way the company fosters a culture of quality among its development and testing groups. Before coding begins, e-Bay's first milestone occurs when the QA and product development groups review requirements. The second milestone occurs before development ends, when e-Bay's product development and project management groups review the QA team's test plan to make sure it's adequate. Just before QA begins testing, the third checkpoint occurs as the development group shows QA that their code meets all functional and business requirements, that developers have tested the code in their environment and that it's now ready for QA to test.
14. Write a tech guide. "A lot of the problems that come up when you're testing software are a result of people not knowing the right way to do certain things," says Mike Fields, State Farm Insurance's technology lead for claims. To crack down on bugs that can be prevented, IT workers inside State Farm's Claims department developed a technology guide filled with practical advice, templates, documentation and how-to information on the right way to go about certain design, development and testing activities. If anyone in Claims IT has a question about the best way to approach a specific task, they can refer to the tech guide.
15. Centralize your test groups. At The Hartford's Property & Casualty Company, employees who do functional testing (that is, those who test the functionality of systems and applications, as opposed to those who do bench-testing, usability testing or integration testing) are centralized in one group. Functional testers are deployed directly to a project and then they return to the central organization when their work on a particular project is complete, according to John Lamb, The Hartford Property & Casualty's assistant vice president of technology infrastructure. Centralizing testers into one group - as opposed to staffing testers by application area - ensures that testers share best practices and lessons learned when they come off a project. If the group wasn't centralized, says Lamb, each of the testers would have their own methodologies, and communicating lessons learned from projects would be much more difficult.
16. Raise testers' awareness of their value. State Farm created a poster and Web site that highlighted the number of defects that testers and developers found early on in the development process and the amount of money (over a million dollars) they were saving by finding those defects sooner rather than later. Highlighting the importance of their work and the impact it has on the company improves their morale and makes them approach their job with even more diligence.
17. Don't forget about negative testing. So-called negative testing ensures that the proper error messages show up on screen when a user, say, fails to fill out required fields on a form or types in data that the application can't understand.
18. Tell programmers to chill out. More than one source CIO interviewed for this story talked about the friction that exists between programmers and testers, and how sensitive programmers can be when it comes time for quality assurance specialists, who are evaluated on their ability to find bugs, put developers' work to the test. When testers find fault with their applications, they tend to get their knickers in a twist. You can't blame them: After all, they're worried that the problems testers find with their work will reflect poorly on them and that they'll be penalized for making mistakes. While you want hardworking programmers who take pride in their work in your IT organization, you have to make them understand that the tester's role is to find fault with their work and that testers are just doing their jobs when they do so. You also have to assure them that if they are truly diligent developers who make few mistakes and learn from the mistakes they do make, you won't hold it against them in performance reviews.
19. Cross-train developers and testers in each other's roles. Cross-training is an excellent way to foster understanding between testers and developers and thus improve relations between the two groups. The Hartford Property & Casualty Company's Lamb says it also leads to better quality applications because each group approaches their task with a new and broader understanding of the larger software development life cycle.
20. Test in a locked-down environment. Don't let developers into your testing environment because they'll inevitably want to modify code they've written to improve it. If developers meddle with code while QA specialists are trying to test it, keeping track of what code has changed and what's been adequately tested becomes impossible for QA. This practice is also known as code control.
21. Analyze the impact of changes to code/make sure testers and developers are in constant communication. Test managers must speak with development managers on a regular basis to find out what changes developers have made to code after it's been tested so testers know to re-test that code, since changes can impact the entire application, says Magdy Hanna, chairman of the International Institute for Software Testing. "Analyzing the impact of changes can greatly improve the reliability of software," he says.
22. Ensure that test cases are run against any code that developers have changed or added. This is called code coverage. Code coverage tools track the number of new or modified lines of code that have actually been tested and, in this manner, give you an idea of the effectiveness of your testing. Code coverage is also a way to ensure that you're actually testing the changes you made, since modifications often lead to bugs. Before State Farm began doing code coverage, its unit test cases covered approximately 34 percent of all changes to code. Since the insurance company started doing code coverage, its test cases cover between 70 and 90 percent of all changes.
23. Scan your source code for known problems. State Farm's Mike Fields says vendors sell tools that will scan source code for known problems and generate reports based on that analysis. For instance, the tools will detect and report that doing X always leads to a memory leak or assigning a variable in a particular manner is not an industry best practice.
Although tools are widely available on the market, State Farm developed its own tool for scanning source code because the ones on the market weren't adequate for State Farm's needs, says Fields.
24. Identify patterns. State Farm uses a pareto tool that looks for patterns in data about defects. The tool helps them identify root causes for defects in software, such as not getting accurate enough requirements or not doing good documentation.
25. Develop a Plan B. When it comes to testing, you can never be too careful. Since there will be times when applications fail in spite of your best efforts to test and re-test, it's always a good idea to have a contingency plan in place in the event a system doesn't work the way it's supposed to when it goes into production. You need to know what you're going to do in the event that a worst case scenario takes place. Marshall Andrew, CIO of Station Casinos, determines in his contingency plans how his company can back the system in question out of production and go back to the way the company did things before it was put in place, as well as how Station Casinos will handle whatever impact the failure has on customers.
SIDEBAR: The High Cost of Flawed Testing
A brief, sad but instructive history of futility and failure
• Bugs in connections between Hewlett-Packard's legacy order-entry system and SAP systems caused a backlog of customer orders for servers beginning in June 2004. The computer problems and resulting backlog cost the company $US40 million in lost revenue.
• A failure to test for specific conditions contributed to the August 2003 blackout that affected much of the north-eastern United States and parts of Canada.
• Insufficient testing was one of the causes of Nike's failed i2 demand forecasting software implementation in June 2000, which reportedly cost the company more than $100 million in lost sales.
• E-Bay's 22-hour outage in 1999 prompted the online auctioneer to re-engineer its technology organization, including systems architecture and development, and testing approaches.
• Glitches in the software controlling London's emergency response system resulted in ambulances being dispatched to the wrong locations and citizens not getting proper medical care in a timely manner in 1992.
• During the 1980s, the user interface of a computerized radiation therapy machine, the Therac-25, was not adequately tested, and undetected bugs in the device's radiation administration engine made it possible for technicians to program the wrong doses of radiation. As a result, several patients died or sustained serious injury from overexposure.
2008 CIO Summit
19th August, 2008 Four Seasons Hotel, Sydney Developed in partnership with CIO Magazine, IDC, INTEP and the CIO Executive Council.
The world of the CIO is extremely complex and diverse. Multiple priorities demand attention and decisions are needed instantly. Individual teams need to be driven towards common goals, and businesses strive to become more mobile, agile and responsive. For CIOs, the challenge never ends.
Every year the CIO Summit identifies what is top of mind for CIOs across Australia and New Zealand, and offers insight for CIO benchmarking and vendor strategic planning alike.
Recent IDC research shows that over 59% of CIO's believe that 'to achieve their business strategies, technology should be used more aggressively than today.'
Join us on August 19th to discover how this is possible with the latest technologies including Virtualisation, Web 2.0, IP Surveillance and Software as a Service (Saas).
Click here for more information.
Please email Denyse_Robertson@idg.com.au for further information.
- +
CIO Live Podcast #79: Brent D Taylor, author of The Outsider's Edge: The Making of Self-Made Billionaires Part II 05 October, 2007 06:00:00
For his new book, The Outsider's Edge: The Making of Self-Made Billionaires, social researcher Brent D Taylor spent four years of intensive research investigating the psychological make-up and backgrounds of some of the world's richest men and women, including IT luminaries Bill Gates, Larry Ellison and Steve Jobs. Taylor discovered that, despite working in different industries and coming from different upbringings, they all have one thing in common -- they are all outsiders. - +
CIO Live Podcast #78: Brent D Taylor, author of The Outsider's Edge: The Making of Self-Made Billionaires 28 September, 2007 17:34:25
For his new book, The Outsider's Edge: The Making of Self-Made Billionaires, social researcher Brent D Taylor spent four years of intensive research investigating the psychological make-up and backgrounds of some of the world's richest men and women, including IT luminaries Bill Gates, Larry Ellison and Steve Jobs. Taylor discovered that, despite working in different industries and coming from different upbringings, they all have one thing in common -- they are all outsiders. - +
CIO Live Podcast #77: Panasonic Speeds Up Trans-Pacific File Transfers, Part III 21 September, 2007 07:00:00
Part three in our three-part special report from CIO's sister publication Network World in the US, as Paul Desmond reports from the Network World IT Roadmap Conference in Santa Clara, California. With development teams in the US and Japan, Panasonic needed a more efficient way to move very large files between the two locations. Iben Rodriguez, IT consultant for Panasonic Research and Development, explains how a storage-area network and virtual server technology helped speed up WAN performance. - +
CIO Live Podcast #76: Panasonic Speeds Up Trans-Pacific File Transfers, Part II 14 September, 2007 07:00:00
Part two in our three-part special report from CIO's sister publication Network World in the US, as Paul Desmond reports from the Network World IT Roadmap Conference in Santa Clara, California. With development teams in the US and Japan, Panasonic needed a more efficient way to move very large files between the two locations. Iben Rodriguez, IT consultant for Panasonic Research and Development, explains how a storage-area network and virtual server technology helped speed up WAN performance. - +
CIO Live Podcast #75: Panasonic Speeds Up Trans-Pacific File Transfers, Part I 07 September, 2007 07:00:05
Part one in our three-part special report from CIO's sister publication Network World in the US, as Paul Desmond reports from the Network World IT Roadmap Conference in Santa Clara, California. With development teams in the US and Japan, Panasonic needed a more efficient way to move very large files between the two locations. Iben Rodriguez, IT consultant for Panasonic Research and Development, explains how a storage-area network and virtual server technology helped speed up WAN performance.
- +
Citibank debit card fraud highlights ATM vulnerabilities 08 July, 2008 08:17:53
'Back-end servers are kind of a joke,' and the trouble doesn't end thereMalicious ATM intrusions, such as the late-winter breach that resulted in the compromise of Citibank debit card data, are not at all surprising given the vulnerable state of many of the servers and other components involved in processing such transactions, according to some industry representatives. - +
How to not have your Web site hacked like Sony's 07 July, 2008 08:23:22
A SQL injection attack was used to plant malicious code on pages of two popular Sony Playstation games - SingStar Pop and God of War, reports security company Sophos. Hundreds of Web pages from other businesses have also been compromised.The US Sony Playstation Web site is the latest high-profile victim of a hacker attack on business sites that's spreading malware at breakneck pace, says a security vendor. - +
AG launches review into national e-security 07 July, 2008 11:07:49
Howard's security agenda dragged over coals.A review of Australia's top e-security projects lead by the Attorney-General's Department has been launched to scrutinise the Howard's government's $73 million E-Security National Agenda. - +
Selling zero-day exploits has a down side 07 July, 2008 10:16:36
There is an ongoing argument about the ethics of selling 0-day exploits on the open market: It helps if you don't sell exploits targeting the company you work for.Information Security can sometimes be a funny field to work in. Some days it seems as if anybody with their hands on unpublished exploit code can sell it for all they're worth, and others it seems that they are set to become the target of law enforcement and the companies the code affects. It does help if you don't work for one of the companies that is set to be affected by the exploits you are trying to sell and aren't trying to bootstrap a competing company in the process. - +
'I have a lost laptop horror story for you' 30 June, 2008 10:08:14
The devil of identity theft is in the details that follow...The devil of identity theft is in the details that follow: Russ Jones tells a tale of woe that isn't particularly dramatic -- or rare -- and yet it's exactly the kind of story that worries me enough to ignore my better judgment and buy identity-theft protection from my insurance provider.
Zepto release the Mythos, the 2nd installment in the Centrino 2 refresh 09 July, 2008 12:05:00
Symantec Data Protection Solutions Preferred by Users and Industry Experts 09 July, 2008 11:56:00
Frost & Sullivan: Australia’s Mobile Advertising Spend to Grow 300 Per Cent in 2008 09 July, 2008 07:57:00
DIARY ALERT - Symantec data leakage prevention seminars 08 July, 2008 17:20:00
Dimension Data Appoints New National Human Resources Director 08 July, 2008 16:58:00
|
||
|
||
|
|
||
|
How to Protect Business from Malware at the Endpoint and the Perimeter
Financial motives are triggering a massive explosion of malware variants and spam designed to evade traditional signature-based detection mechanisms. Protect your organization against Malware with four essential tips and best practices from independent industry research analyst firms worldwide.









