| By Mark Underseth | Article Rating: |
|
| June 18, 2008 12:00 PM EDT | Reads: |
2,015 |
Enterprise and desktop computing faced similar challenges as they evolved. To a large degree, both have successfully managed software complexity by moving toward standardized application platforms such as Windows or Linux running on an Intel processor. Embedded computing is more complex, however, because applications must run on different processor families and in different software environments. The challenge of testing and verifying a huge array of software components on all this hardware can be overwhelming. Without achieving a scalable, reliable, and predictable software process, software verification and integration challenges will only worsen with each new generation of embedded hardware.
In the absence of a standardized embedded application platform, the need for a sustainable verification platform becomes compelling. A sustainable verification platform would provide a scaleable shared framework that could be used across the product teams at all stages of the release cycle. It could be reused on next-generation projects. It could even be extended across organizations, vendors, and suppliers across the globe. The question is how do we achieve this? Neither in-house efforts nor outsourcing have fully addressed the problem. New automated processes, innovative technology, and specialized verification expertise are required. A new business solution, verification-as-services aims to fulfill this need and enable smoother integration, more predictable schedules, and better quality products.
A Fresh Approach To Verifying the Software Supply Chain
A new model is required to significantly optimize the delivery of
highly integrated complex embedded software. To address the urgent
challenges observed in the integration and system test phases, key
objectives of the new model would be to validate software components
earlier; reuse and integrate code more effectively; automate more test
processes, and increase visibility into software quality earlier in the
development cycle (see Figure 2).
The centerpiece of this new approach is the so-called test assets. Test assets are fully automated reusable tests that have lasting value because they can be leveraged throughout the development lifecycle, in derivative projects, and by other functional teams to integrate, triage, and verify software. Test assets also provide detailed and ongoing visibility into the health of the software. In an ideal world, and according to the principles of supply chain management, all software suppliers, both internal and external, would create and deliver test assets with their software.
To create and share test assets effectively a unified verification framework is required. The verification framework provides the common tools and environment needed for collaboration with suppliers, better leverage of domain expertise, and highly automated testing and early verification strategies. It provides the common infrastructure to reuse, automate, and execute tests for all components effectively, and to support test management and reporting. The verification framework must facilitate different kinds of testing such as unit level and API-level testing. Further, it must scale well beyond a single engineering group and be able to aggregate test assets from both internal engineering teams as well as external software suppliers.
Besides the verification framework and test assets, new processes must also make the best use of new capabilities. New processes will leverage, reuse, and apply automated test assets as much as possible to verify software at various stages and levels - by individual developers, by functional teams, on fully integrated engineering builds, daily, hourly, even continuously. With automated reporting, the processes would also provide comprehensive quantitative metrics and visibility into quality and completeness at various stages of development (see Figure 3).
Developing a Sustainable Verification Platform
Virtually all embedded software development groups recognize that
software verification is a problem but lack an effective and ongoing
means of addressing it. Development teams aren't really able to solve
the problem effectively because they're trapped in a vicious cycle:
they're too busy developing and fixing problems and have no time to do
the heavy lifting required to adopt the technology required to
implement a verification strategy. Traditional outsourcing efforts
often fall short because they fail to provide the specialized
capabilities and the scaleable and reusable infrastructure required for
embedded application development.
The verification-as-services (VaS) approach brings together the
verification expertise, innovative technology, and ongoing process
management needed to provide a sustainable platform for verifying
embedded code.
Verification-as-services strives to leverage the strengths of the
software-as-a-service (SaaS) model popularized by salesforce.com while
applying a managed services model for the infrastructure and technology
designed specifically for embedded software verification. VaS means an
organization doesn't have to manage a large staff of test and
verification engineers, because the resources and domain expertise
needed are provided as part of the service. The VaS business model
focuses on value delivered. Unlike outsourcing models that charge
according to headcount, VaS is a variable cost solution that is priced
according to the number of components to be verified, the scope of
testing required, and the specific goals of the project.
With VaS, all verification activities are codified as part of a monthly subscription service that provides complete management of embedded software verification. This approach eliminates large upfront software license costs and ensures an organization continues to get full value from the solution over time.
A Sustainable Verification Platform in Action
To
implement a verification strategy that meets an organization's unique
software challenges, corporate culture, and project timelines, testing
and integration experts first interview, observe, and document existing
development processes. Next the verification platform is integrated
into the key systems used in those processes. Finally, verification
experts set up software, processes, and reports and execute
verification activities as an ongoing service for development groups.
VaS incorporates a scalable infrastructure that removes the obstacles for early test and validation success. At every stage, development teams will be able to seamlessly blend testing and verification activities, including planning, analysis, test execution, and measurement, with the organization's embedded software development processes. Because most development groups have other high-priority objectives to accomplish, VaS automates testing processes, executes tests, certifies components according to predetermined criteria and applies product enhancements on an ongoing basis during the life of the subscription.
By including defect tracking, test-asset development and validation, VaS helps to deliver a common view of quality across disparate parts of an organization during the entire test and integration lifecycle. VaS provides management-level reports on key testing and integration metrics and helps to incorporate rich diagnostic capabilities such as software analysis, testing automation, and management. Verification-as-services raises the visibility of testing and integration so management and individual technical staff members can see concrete results from the increased focus on testing.
Many embedded software development teams have a pressing need to integrate and verify code from multiple sources, yet lack the time and resources to do it. Verification-as-services lets these teams focus on development, while simultaneously enabling a rigorous process for testing and measurement.
Implementing a sustainable verification platform can seem daunting. Fears about potentially disrupting the development work in progress keep many organizations stuck in the past. Still, relying on outdated test and verification methodologies is straining them. It's perpetuating a dysfunctional development process characterized by product quality problems, unpredictable delivery dates, and a climate of ongoing operational stress.
Verification-as-services, on the other hand, offers a new approach that
addresses the new challenges of embedded development. It's a scaleable
approach that lets teams start small and focus on specific components
first then expand test coverage as needed. VaS offers engineering
organizations the opportunity to eliminate most manual testing and
automate integration, efficiently support multiple product releases,
optimize software reuse, and effectively manage their software
suppliers. It's a strategic solution that frees organizations from the
day-to-day management of software test and verification. The benefits
of VaS extend well past engineering. The decision to embrace this new
approach will be a strategic business move to improve market
competitiveness, enhance organizational effectiveness, and achieve the
on-time delivery of higher-quality software products.
Published June 18, 2008 Reads 2,015
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Mark Underseth
Mark Underseth founded S2 Technologies in 2000, bringing over 20 years of experience in the design of embedded communication devices. Prior to founding S2 Technologies, he was the VP of engineering and responsible for all software development at Mitsubishi's Mobile Communications Technology Center in San Diego. His primary focus was on the development of the world's first single chip dual-mode IS-136 handset. Mark received a BA in computer science with an emphasis in mathematics from Point Loma College, and an MS in computer science from San Diego State University. He has been awarded four patents and has three patents pending in the area of embedded systems.
- Why SOA Needs Cloud Computing - Part 1
- Cloud Expo and The End of Tech Recession
- The Transition to Cloud Computing: What Does It Mean For You?
- A Rules Engine Built in PowerBuilder
- Sybase Named “Silver Sponsor” of iPhone Developer Summit
- How PowerBuilder Got Its Groove Back
- The Cloud Has Cross-Border Ambitions
- Ulitzer Names The World's 30 Most Influential Virtualization Bloggers
- Ulitzer Named "New Media" Partner of Greatly Anticipated iStrategy Event in Berlin
- Risks and Enterprise Mobility?
- Steps for Success in Enterprise Mobility?
- Are Mobile Luddites Resisting Mobility?
- The Difference Between Web Hosting and Cloud Computing
- Sybase CTO to Speak at 4th International Cloud Computing Expo
- Why SOA Needs Cloud Computing - Part 1
- Cloud Expo and The End of Tech Recession
- The Transition to Cloud Computing: What Does It Mean For You?
- Five Reasons to Choose a Private Cloud
- Seeding The Cloud: The Future of Data Management
- The Threat Behind the Firewall
- Economy Drives Adoption of Virtual Lab Technology
- Tips for Efficient PaaS Application Design
- A Rules Engine Built in PowerBuilder
- Sybase Named “Silver Sponsor” of iPhone Developer Summit
- Where Are RIA Technologies Headed in 2008?
- PowerBuilder History - How Did It Evolve?
- The Top 250 Players in the Cloud Computing Ecosystem
- Custom Common Dialogs Using SetWindowsHookEx
- DDDW Tips and Tricks
- OLE - Extending the Capabilities of PowerBuilder
- DataWindow.NET How To: Data Entry Form
- Book Excerpt: Sybase Adaptive Server Anywhere
- Sybase ASE 12.5 Performance and Tuning
- Working with SOA & Web Services in PowerBuilder
- Office 2003 Toolbar: A New Look For Your Old PowerBuilder App
- Dynamically Creating DataWindow Objects
































