Showing posts with label Application Development Software. Show all posts
Showing posts with label Application Development Software. Show all posts

CUSTOM APPLICATION DEVELOPMENT



Prototyping and Development Tools

Continually evaluate your set of development tools to ensure you have a complete up-to-date tool kit for application development that meets your needs. Having the right stack of tools significantly decreases the cost and time of development and support. This includes not only the development language but also other areas such as proper prototyping, source code management, debugging, testing, stress testing, and documentation tools. One company looked at their development tool stack in the areas of presentation layer, application server, web server, and rules engine. Evaluate and select your development tool set just as you would other software by identifying the requirements, establishing the selection criteria, and reviewing the options.

Agile Development

As compared to traditional waterfall systems development, agile software development methodologies gets you faster results with less cost and effort. There are many variations of agile development methodologies, such as Extreme Programming (XP), Scrum, Crystal Clear, Feature-Driven Development, and Lean Software Development. Concepts used in agile development vary, but usually include teamwork, regular communication, implementation in small increments, short time frames, and iterations. This type of development will reduce risks and costs as you are able to find errors earlier in the process and complete changes quicker.
Top Tip: Agile development methodology

"We changed from a traditional waterfall development methodology to an agile methodology using SCRUM. In doing so, we were able to take out a layer of management and significantly reduce costs, while also increasing value through better execution. This realizes the benefits of a small IT department in a large shop."
—Mike Degeneffe
Ceridian

Open Source

Open source software has had a significant impact on the software industry. Open source is not free like many think. Open source vendors charge for maintenance and support, but it is significantly less expensive than standard software. Many development projects mix open source with internal code to shorten development time and reduce costs. Open source software is typically modular so components are easily integrated, built for reuse in multiple applications, usually standards-based with efficient use of code, and transparent with its own source code. Open source avoids wasting time reinventing the wheel by using hundreds of thousands of components available for reuse on the Internet. However, open source introduces challenges to managing, such as license obligations, finding the best software for your needs, security vulnerabilities, scalability, maintenance, and version proliferation. Keep in mind that you do not realize cost savings with open source until you are able to replace or forgo other more expensive options as many companies are using open source in addition to other software. Also, do not forget to consider if you must increase resources to support open source software.

Service Oriented Architecture

Service Oriented Architecture (SOA) is an architectural paradigm that allows you to build applications with reusable components, which is similar to building blocks.
It is highly interoperable, loosely coupled, and encapsulated units of work that link or combine resources on demand. It provides a flexible application architecture that is easier, faster, and less expensive to change. Like any new approach, it is a major change, a challenge to get started, and is not a fix-all. However, evaluate using this architecture style if you have significant areas of custom development because the total cost of ownership can be less.

Mixed Development

Many companies are finding significant cost reduction by mixing development as necessary and using pieces of open source, third-party code, SOA components, outsource provided, and custom code. For example, when developing applications for online ordering, companies will frequently use a service for all the handling of credit card information. Payment Card Industry compliance requirements are very expensive if a company chooses to process and store credit card information internally rather than using an outsource provider. Another example is a company that liked salesforce.com but found it was too expensive for its budget and needs. They chose to buy the force.com development tool at a fraction of the cost of sales-force.com to develop the pieces of the system they needed.

Revenue Generation

Look at getting royalties from your custom software developments. If you have written custom add-ons to software packages, consider selling the software back to the vendor or other companies. Consider the possibility that IT can generate revenue. The one caution is that you do not want your IT department to become a software vendor that distracts from providing the business with a unique competitive advantage. This also diminishes your competitive advantage if your competitors are able to purchase the same functionality. One example is a company that wrote an extensive product configurator to handle a complex product structure. The vendor was interested in the enhancement as part of its standard product as other customers had requested the capability. The company was able to sell it back to the vendor in exchange for additional software licenses and modules. The enhancement became part of the vendor's standard offering that also helped the company maintain and enhance the modification without the high internal cost of custom software.

Application Development Software

Getting a voice processing system to do exactly what you want can be frustrating. That’s why call center managers with computer expertise sometimes create their own systems using a PC, voice processing boards and application development software (also called an application development generator, or app gen.

These software packages make putting together a system easier by protecting you from the lower level computer languages (read: “harder to use”) through graphical user interfaces and object-oriented programming.

Sometimes a voice processing system will come bundled with an application development software component, to help you tweak the system to fit your exact needs.

When should you look into using application development software? If you are frequently going to modify your voice processing application — say for each campaign — then you could easily benefit from software that will let you do this yourself instead of waiting for your vendor.

But beware: this is not for the faint of heart. Even the most user-friendly app gen can be a beast. Quite frankly, creating the workflow logic of a voice processing application is very different from knowing how to schedule agents, or manipulate service levels. It’s not always going to work out the way you planned it, and it’s always going to take longer than you think.

Most voice processing systems come with preconstructed apps in their toolkits. If it’s at all possible, try to use those. App gens are wonderful tools, but the closer you get to off-the-shelf, the better off you’ll be.

More?