• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
 Visualization & Definition
CONCEPTS
March 19, 2009
Software Visualization Defined
How visualization is changing the way companies create software
 
By
Jason Moccia
Executive Summary
Software visualization, also referred to as just “visualization,” is quickly becoming one of the fastest growing andmost widely talked about technologies within IT today. Visualization is the process by which softwareapplications are defined “visually.” I stress the word “visually” because traditional methods have, until now,dictated that software is defined “textually.” The process of visualization makes use of specialized tools thatallow project teams to quickly define user interfaces, as well as user interactions, without writing anyprogramming code.Visualizing software is a relatively new concept. One of the precursors to visualizing software was prototyping,however prototyping is now going the way of the dinosaurs in terms of its usefulness and cost effectiveness. Theprimary distinctions between visualizations and prototypes revolve around who creates them and when in thelifecycle they occur. Visualizations are made to be highly collaborative and easy to modify based on changingrequirements and project demands. Competition has also driven companies to think about developing softwarefaster and cheaper and finding new ways to do it. The need for enhanced user experience has also been adriving force behind this trend. As consumers demand more from their interactions with software, the need formore user-friendly applications has grown exponentially. Technology has also become so advanced over thepast 10 years that just about anyone can develop software. Both large and small companies are now able tocompete at the same level in terms of bringing their ideas to market faster than ever before. This dynamic haschanged organizational priorities so companies can now focus on how to be more nimble. Also, barriers-to-entry have lessened due to these advancements. The evolution of visualization is playing a key role in thesetrends because it is equipping companies with the ability to quickly develop concepts and ideas in less time andat lower costs.This article outlines the latest trends in the visualization space and identifies key concepts along the way. Howare companies and individuals using visualization to advance their goals and objectives? What types of ROI’sare companies realizing because of this trend? This, and other examples are discussed below.
Key benefits of visualization
The ability to test-drive software applications—or any user interface for that matter—has tremendous valuewithin business and is at the core of what visualization is about. This new paradigm gives companies theopportunity to quickly produce working simulations of concepts, ideas, and existing applications without a largeinvestment and by using minimal resources. It also allows businesses to quickly evaluate concepts with realusers prior to any development taking place, thus reducing costs.The ability to quickly visualize software is turning traditional software development processes upside down. Theoriginal target group for this technology was IT, but it is now taking hold within business groups, such asmarketing and operations. Until recently, these groups have had no way to create working concepts of ideas forsoftware or web applications that could solve their business problems. Reliance on IT alone to prove outconcepts has been typically slow and expensive. Here are some of the benefits these groups are realizing.
The ability to quickly design and test-drive concepts without getting IT involved. We’re talking days, notweeks or months.
 
 Visualization & Definition
The ability to conduct user testing prior to spending enormous amounts of money on developingapplications with programming code such as PHP, JAVA, .NET, scripting, etc.
The ability of business users to take part in the creation process. Since anyone can learn how tovisualize, business owners are taking increasing ownership in building working visualizations.
The ability to simulate COTS applications without any customization. Think about test-driving SAP™,PeopleSoft™, or SharePoint™ without actually installing and customizing any code.
How is visualizing software different from prototyping software?
The main difference between visualizing and prototyping software applications resides in the people and toolsused. Prototypes are traditionally created by a developer or group of developers. This typically increases thecost and the time needed to view and interact with a concept or idea. Prototyping also usually occurs aftersignificant time and money has been spent defining textual requirements. However, the benefit is that (mostlikely) reusable code will exist after the prototype is developed that can be used in the finished product.Visualization, on the other hand, is the concept of visually defining software or web applications prior todevelopment. If you look at a traditional software development lifecycle (SDLC), visual depictions of anapplication occur some where during the “design” phase. Visualization fits within the “define” phase—muchearlier in the process. This distinction has real dollars associated with it that can help justify the visualizationtechniques. There is also the distinction of fidelity. Visualizations also allow team members to quickly increaseand change the fidelity. Users can quickly import and swap graphical elements, as opposed to prototypes whichmay require coding changes.Visualizations can be built by anyone—even those with limited or no development experience. It also occursearly in the lifecycle, where the cost of change is significantly lower. Figure 1.0 illustrates the reduced “changecost” associated with visualizing in contrast with prototyping. A change to the application during the prototypingphase can significantly increase cost for two primary reasons: 1) you must include development resources earlierin the project lifecycle, and 2) any change to the prototype will have to be made in the textual requirementsdefined earlier in the process. The latter in a larger project can cause extensive delays that directly affect theproject’s budget. Controlling and enabling flexiblilty earlier in the lifecycle reduces the overall cost of a project.
Figure 1.0, Cost of change to project requirements
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...