When desktop computing resources were measured in tens of kilobytes of memory, and processors clocked in MHz rather than GHz, the attention of software developers was appropriately focused on making their code small and fast.
A modern PC offers developers an embarrassment of hardware riches that should ease these low-level concerns, but the growing complexity and fast-paced schedules of todays competitive projects can lead to other embarrassments.
IT development managers all too quickly can find themselves accused of “cost overrun, poor planning, function creep, security risks and threats to privacy.” These were among the list of indictments levied in June at an Australian government project in a story from The Age, a news site based in Melbourne, Australia.
Rising expectations for rapid release of secure and scalable systems, executing governable processes, demand greater attention to the outer layers of the development cycle.
The same ingenuity that goes into tightening the inner loops of an executing program should also go into the feedback loops that quickly tell developers when a change in their code has had unintended side effects or when a clever shortcut has inadvertently opened a security loophole.
We look in this Developer Solutions at two points of leverage for development: the upfront processes of static code analysis, represented by the latest release of the tool suite offered by Klocwork, and the back-end process of application build thats dramatically accelerated by parallelizing technology from Electric Cloud.
Both of these offer avenues toward building the right thing in the right way, rather than building the clever thing in the familiar way—and hoping that it turns out to be what was needed.
Guru Jakob Nielsen offers advice on designing applications for usability.
to watch the video.
Paving an avenue, though, is not the same as actually establishing a superior development process. When we spoke with Jon Burt of Intuit (see story, left), his pragmatic advice was “Do whats practical and gets you the best result.” The competitive edge comes from recognizing that choices exist, from making choices that fit and from supporting those choices with appropriate technology—in that order.
Projects Deserve Due Process
Front-end scrutiny, back-end accelerators sharpen developers focus
- Static code analysis identifies likely coding errors
- Vulnerability scanners help close security loopholes
- Architectural analysis avoids redundancy and interaction
- Automated dependency analysis enables parallel code generation and assembly
Source: eWEEK Labs
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.