It's an age-old problem: Developers build an application based on user requirements, but after the users see it, they realize it isn't quite what they wanted.
At Southern States Cooperative Inc., one of the nation's largest farmer-owned cooperatives, the development group has found that getting something visual into the hands of users earlier is speeding the software requirements refinement process, which benefits other phases of the software development life cycle, according to Karen Lankford, vice president of information systems.
The use of visual prototyping is part of a more iterative development style the Richmond, Va.-based cooperative has been moving to with the adoption of the Skyway Visual Workspace, a model-driven development and deployment tool from Tampa, Fla.-based Skyway Software, which includes the Skyway Collaborative Software Delivery methodology.
The cooperative, Lankford said, had been using more of a traditional waterfall method of development, and its "teams were predominantly developing in silos." Visual Workspace, she said, "brought together a variety of things I see necessary to bring the IT group into the future. We saw the tool as a way to start crossing development instead of keeping it in silos. And with our needs for succession planning and new people coming in, it's a great tool people can use across platforms."
Southern States Cooperative, owned by more than 300,000 farmers, encompasses 1,200 retail locations in 23 states. The cooperative purchases, manufactures or processes feed, seed, fertilizer, farm supplies and fuel. Like many organizations, Southern States Cooperative has a variety of systems. These include a homegrown retail point-of-sale (POS) system; JD Edwards software supporting the wholesale facilities; IBM WebSphere and the WebSphere commerce suite; and human resources and financials from Geac, now owned by Infor Global Solutions.
Venturing into SOA application development
While Skyway Visual Workspace is marketed as a tool for developing and deploying service-oriented architecture (SOA) applications, Lankford said the cooperative's initial foray into SOA is more of a hybrid approach.
"I had not been thinking specifically the way SOA has been presented to everyone in the IT community," she said, "but I had been thinking about the fact that we had to brings the teams closer together and develop things that were more reusable. It all came together when we started with the tool."
For starters, the graphical design aspect enabled some developers who had not worked with Web applications in the past to get exposed to Web development, Lankford said. "It also gave us the opportunity to have more business analysts involved in the upfront work; they can do some of the design in the tool while writing requirements, then turn it over to the programmers for the more complex code to include in the application," she said.
And the ability to give users an early look has been a big benefit, Lankford said. "Requirements are the most difficult part of any development project," she said. With Visual Workspace, "it seems easier to throw something together to start showing users. You don't have to do quite as much coding to get users a visual perspective, which is a big plus for the tool. You can show end users what they think they're asking for and then clarify what they really meant to ask for."
Traditionally, she said, "you have to put a lot of upfront work and actual coding to get a front end for the user. It goes back to a picture is worth a thousand words."
From prototyping to an actual application
While the visual prototyping is a benefit, "you end up with a working Java application when you're done, so it's more than prototyping," said Jason Bloomberg, a senior analyst at Baltimore-based ZapThink LLC. What's unique about Visual Workplace compared with other visual prototyping tools is the combined deployment aspect, he said.
"It generates Java code that's ready to go, it will work in any J2EE environment, and you have the all advantages of compiled Java," Bloomberg said.
Lankford said they looked at other tools, "but they only had certain components of Skyway. There is a full set of features and functionality within the application itself, and the others were not as complete as far as deployment."
Bloomberg compared Skyway's approach with a competitive model-driven product from TenFold Corp. called EnterpriseTenFold SOA. The key difference is Skyway requires compiled Java code, so development organizations get the performance and scalability benefits of compiled Java code, but they do have to take that compilation step, he said. In contrast, Bloomberg said, TenFold is a more interpretive solution, which might be more seamless.
"With TenFold, developers can do rapid prototyping with users in front of the screen, but the limitation is it's a proprietary environment. It creates proprietary meta data that their runtime engine has to support," he said. "With Skykway, the model is XML meta data; that's the key difference."
For organizations that already have a Java environment, "Skyway is great in any Java environment that's wants a better, faster, service-oriented way of creating Java code," Bloomberg said. "And it's not just for SOA applications; you can create any kind of Java application."
That's exactly how Lankford sees it as well, and said her group plans to use Visual Workplace for both SOA and non-SOA development.
For now, the cooperative has one SOA application in production that it developed with Visual Workplace and the help of Skyway consultants. The application "reads both wholesale and retail data and displays it to the end user, allowing them to make additional business decisions, update the data fields, and submit it back to update the retail information and wholesale information in those two separate systems," Lankford explained.
Lankford expects to do more with Visual Workspace going forward, but only a small number of her staff uses it right now. "It takes transition time to move people over; it involves a lot of PR as well as the new tool. We're making dramatic change for the programming group," she said.
Using the tool and methodology "changes the way you think about a project from beginning to end," Lankford added. "A lot of times you're working independently in the programming world; you don't have to utilize other components already built for you. When you think about the application now, you do more upfront work and outlining and planning and modeling. That eases the development on the back end, and you can utilize components built by others."
And with Skyway's methodology of breaking projects into smaller phases, users get to see results faster. Does that translate to getting closer to requirements on the first try? "I don't know, but we can get them to that visual faster, so it improves the additional segments of project," Lankford said.