Software Development Magazine - Project Management, Programming, Software Testing |
Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban |
Methods & Tools - News, Facts & Comments Edition - May 2004
*** Products ***********************************************************
* Upgrade Season for Java Development Tools
Netbeans.org announced recently the release of NetBeans 3.6. This product is the open source Java IDE sponsored by Sun. Oracle released version 10g of its JDeveloper tool. IBM is also upgrading its WebSphere Studio tool line to version 5.1.2.
In all these releases, a major goal is to ease the task of developing Java applications. After the first wave of Java applications built by early adopters and technology enthusiasts, the battle is now to conquer the heart of the market: developers who should switch from another programming environment but who fear the complexity of developing multi-tiered Java applications. Improvement in the user interface definition and assembly of application components belongs to the functions added to the upgraded version.
Besides open source IDE like NetBeans or Eclipse, you will also find a free "basic" version of their Java IDE on the web sites of most of the commercial vendors.
*** Companies **********************************************************
* Who Succeed by the Financial Sword...
Computer Associates announced at the end of April that it will restate financial results from 2000 and 2001 to reflect $2.2 billion in revenue improperly booked. The board acknowledged that CA inflated revenue by closing quarterly books a few days late, a stretch that has been called a "35-day month". Sanjay Kumar was forced to step down as CEO, but he will remain with the company as "chief software architect". Director Kenneth Cron has been named CEO on an interim basis.
CA has been known for buying companies with a declining product but an interesting installed base to profit from license revenues without investing in product development. It seems that in this case, its ability to manage the financial aspect of the software industry has been over the limits.
*** Numbers ************************************************************
* Web Service Deployment
Expected Timeframe for Deploying Web Services
Currently doing this | 34.0% |
Next 6 months | 15.5% |
6 to 12 months from now | 17.0% |
12 to 24 months from now | 14.3% |
More than 24 months from now | 8.5% |
Never | 10.6% |
Source: Evans Data Corporation, www.evansdata.com
This is a sign of good penetration of the web service architecture in companies. According to Evans Data Corporation, only 27% of the participants were deploying web services six months ago.
------------------------------------------------------------------------
* Quality of Open Source Tools
The current M&T poll is asking you to rate the quality of open source software development tools (examples: Eclipse, MySQL, PHP, Junit, etc...) versus the commercial tools.
Currently it seems that most of the participants find that open source tools quality is better or equal to commercial tools. Go to www.methodsandtools.com/dynpoll/vote.php to express your opinion and see intermediate results. The final results will be published in our next issue.
*** In Other's Words ***************************************************
* The Use Case According to Murphy
Humans have analyzed negative scenarios ever since they first sat around Ice Age campfires debating the dangers of catching a woolly rhinoceros: "What if it turns and charges us before it falls into the pit?" A more recent scenario is "What if the hackers launch a denial-of-service attack?" Modern systems engineers can employ a misuse case - the negative form of a use case - to document and analyze such scenarios. A misuse case is simply a use case from the point of view of an actor hostile to the system under design. Misuse cases have many possible applications and interact with use cases in interesting and helpful ways. [...]
However, devising threats and negative agents with misuse cases is sometimes a more powerful technique than simply stepping through a template or thinking about exceptions, for several reasons.
- Inverting the problem from use to misuse opens a new avenue of exploration, helping to find requirements that might have been missed.
- Asking "who might want this to go wrong?" and "What could they do to make this go wrong?" in the misuse-case approach contributes to searching systematically for exceptions by using the structure of the scenarios themselves as a guide, with more specific intent than a plain search for exceptions provides.
- Knowing explicit threats offers immediate justification for the search and indicates the priority of the discovered requirements.
- Personifying and anthropomorphizing the threats adds the force of metaphor, applying the powerful human faculty of reasoning about people's intentions to requirements elicitations.
- Making elicitation into a game makes the search enjoyable and provides an algorithm for it - "Team 1 outthinks Team 2's best move, and vice versa." The stopping condition is whether the threat's size and probability justify the cost of the mitigation, given its probability of defeating a threat. There is an obvious parallel here with cost-benefit analysis.
- Providing a visual representation of threat and mitigation makes the reasonning behind the affected requirements immediately comprehensible.
I find both templates and a scenario-directed search for exceptions useful in requirements elicitation. Misuse cases offer an additional way toward that holy grail, the "complete" set of requirements.
Eliciting test cases
Any scenario can lead to a test case. Good testing goes beyond happy-day scenarios to explore boundary conditions and exceptions.
Misuse cases can clearly help identify exceptions and failure modes, any of which might be worth testing of verifying by other means. The habit of thinking out negative scenarios is arguably an essential skill for the test engineer.
Products of use/misuse-case analysis that can contribute to effective test planning include.
- Specific failure modes (especially useful for real-time, embedded, and safety-related systems).
- Security threats (especially useful for distributed commercial and government systems).
- Exception-handling scenarios (always useful, often directly translating to test scripts).
A test engineer could view misuse cases as existing purely to ensure better system testing. A quality engineer could equally well argue that their purpose is to improve the quality of delivered systems.
Source: Ian Alexander, "Misuse Cases: Use Cases with Hostile Intent", IEEE Software, January/February 2003
After the good article on Precise Use Cases in the Spring 2004 PDF issue of Methods & Tools, these interesting thoughts could lead to apply them to improve the quality of the software with better requirements and test cases.
*** Conferences ********************************************************
EUROPEAN SEPG 2004, 14-17th June, London
9th annual gathering of European Software and Systems Process Improvement Professionals. People, Process, Technology, Measurement and Project Management. World-leading presenters share industry experience and cutting- edge techniques, 80 scheduled sessions selected by more than 50 reviewers.
------------------------------------------------------------------------
Software Business 2004: The Premier Conference on
Business & Technology
September 22-23, Hyatt Regency in San Francisco, California.
This is the third annual event, focusing on key critical issues facing software executives such as financial strategy, sales and marketing, executive strategy, and product development. It serves owners, chief executives, presidents, vice presidents and division directors or department managers of leading and fast-growing software companies.
www.softwarebusinessonline.com/sb_conf2004_index.htm
*** M&T News ***********************************************************
* Coming UP
In the Summer 2004 issue (published at the end of June), we will have articles about Branching Strategies in Software Development; Enterprise Integration Patterns and Managing Open Source Projects. In our Fall issue, we will focus on process improvement with texts from presenters at European SEPG 2004
Stay tuned!
------------------------------------------------------------------------
The content of this publication cannot be reproduced without prior written consent of the publisher - Copyright (C) 2004, Martinig & Associates
Methods & Tools Testmatick.com Software Testing Magazine The Scrum Expert |