In software development getting it done fast is important, but results are what really matter. Success is measured by how well you deliver the right quality and functional software to the right people when they need it.
You and your developers have the same goal when developing – to make the best applications possible. Unfortunately you are seldom provided the time or the budget to deliver it. This compromise means that your company may not be getting everything it needs from your software.
Software development has typically been focused on the speed of delivery. In traditional development that speed generally comes at the price of inflexible software design, reduced functionality, poor code documentation, scattered code practices, and a lack of application monitoring and performance tuning. Essentially, your control, quality and functionality are sacrificed for speed.
That’s why productivity solutions for software engineers are such a good idea and why Rapid Application Development, or RAD, tools have been around for decades. However, these solutions are usually restrictive or incomplete. The results you often get are underwhelming and you spend additional time overcoming limitations, dead ends, and brick walls. Frequently, you spend precious time and energy learning proprietary technologies with limited value to the developer’s career. You may also have limited access to external support, knowledge, and resources besides the tool's vendor themselves.
To get true Accelerated Software Development, you must be able to speed up development while delivering high-quality, robust software without sacrificing any of the necessary functionality.
Once you have the User Experience and the core software and architecture all figured out as well as the development standards defined, then you need to find ways to develop quickly and effectively with them.
The bulk of this effort is in building the base Create, Read, Update and Delete (CRUD) functionality. To do this, some developers will create templates in which they can “copy and paste” the code and then “find and replace” sections based on what they are trying to accomplish.
Developers may also buy or write tools to generate some of this code for them and use frameworks for other parts.
A big part of development effort is often spent on refactoring existing code. As changes are made to the standards, architecture, business requirements, and database, code will need to be refactored to support it.
The more standard you keep the code the significantly easier this can be, you may even be able to create tools that will do some of the refactoring for you. But, again, the code needs to be very standard for automation tools to be effective.
Establishing a Development Process
We suggest looking into agile and lean development as a basis for your development process. However, even within those constructs establishing a clear development process and methodology will significantly improve the estimating, planning, and the predictability of development efforts, especially with larger teams. The team will also create more consistent and maintainable code. Having developers consistently follow these processes is the greatest challenge and it can be very useful to create tools to support and simplify it.
Modular loosely coupled integrated plug-ins
In most software there is common functionality that is shared across various parts of the systems. Make sure to create this functionality as plug-ins and not just duplicate the code using copy and paste. Some plug-ins are bolt-on style, others are integrated, others become part of the service bus and others may be parts of all three. It all depends on the functionality and the need. It is important to build this plug-in capability into the modular, service oriented software architecture.
Surround’s Accelerator solution provides configurable and customizable development accelerators, well-defined development processes, and pre-built software plug-ins.
Accelerator's Software Generation Wizards are used to generate complete Systems or individual Applications, Modules, and other various parts through easy-to-use wizards. It generates the custom code that is specific to your database, provides 100% of your Create, Read, Update, Delete, and more (CRUD+) functionality, for developers to expand and enrich it further for more specific business-related tasks.
With Accelerator, the entire comprehensive base software that sits on top of the Accelerator Core is created for you. This is fully functional, near production-ready software generated out-of-the-box without any coding.
Accelerator Wizards walk the developers through the process of data storage selection, module relationships and presentation definition. The Wizards then use various frameworks and code generators to produce fully functioning, high-quality, state-of-the-art software with open, well-formed, and documented code.
Surround’s acceleration tools are open as well using our powerful Open Generation Technology. This allows the development team to configure their own development standards, define their own source in the generation templates and specify generation rules and logic based on their database and software needs. With it, you can continually make your software generation smarter, more powerful, and more specific to your business needs.
Accelerator's loosely coupled modular architecture provides plug-and-play capabilities for other Accelerator-based or wrapped software and comes with a set of common cross-industry software already built and ready to be plugged into your systems.
As with all of Accelerator, all Code Starts can be customized or further enhanced to meet your specific needs.
This CMS enables you to quickly and easily create application portals for your employees, contractors, vendors, partners and customers. Securely manage who can create and maintain content, navigation, images, styling and anything else you define beyond software development and let the creativity flow.
Facilitates the routing of activities through a sequence of connected steps defined by the business. Workflow Automation ensures that work moves through the system in a timely fashion and is processed correctly by the appropriate user or group of users. It provides support for each step of the process and business cycle. Triggers can also be setup to alert executives or process owners when tasks or activities are entering the next step or that the current step is overdue.
Provides a digital filing, sharing, and management tool to upload, share, track, group, organize, use, and reference any type of document, file, or media. Authenticated users can upload files from any device and attach them to any record in your systems where they can be accessed by other authorized users, streamlining processes and reducing user’s time and frustration looking for related documents.
Provides custom integration interfaces into your systems to do anything from receiving and processing data to submitting or scheduling jobs for your application to run. The Integration Management Console allows you manage the interfaces; monitor, pause and cancel active jobs; and view interface history.
Offers the ability to add job-board functionality to your software applications and web sites, manage job openings, and streamline the process to identify the higher quality applicants that are right for the position. Accelerator HR Jobs Management Application saves time, reduces duplication, enhances consistency, attracts the right talent and simplifies recruiting. Hiring has never been simpler!
Provides the ability to attach user, date and time stamped remarks to any records in your system. You can set up remark templates to make it easier for users to enter them as well as automate remarks where the system creates them based on user or system activity.
Enables developers and application administrators to create supporting tables of data such as property values, definitions, or codes/decodes with out any coding. These tables can be used to convert cryptic legacy codes to user-friendly values, property value look-ups or simply as a reference material for the user.
Tools, Tools, Tools
Surround provides a number of tools with Accelerator for further developer efficiency.
Surround has defined an extensive set of development standards the majority of our customers are quite happy to adopt, as they are well thought-out and generally far beyond what they already have in place.
Our solutions, however, are not locked to our standards. You can configure our generation wizards and other tools to work with any standards you wish to adopt.
The Typical Development process consists of:
Surround’s process delivers valuable productivity gains throughout the entire Software Development Life Cycle (SDLC) is significant.
Accelerator and Application Services
The Accelerator Core software and Architecture securely exposes all of the Accelerator configuration, operation, and administrative services to other applications where and when it is needed as well as provides an architecture to do the same with your own applications.
Operational Management and Administration
Surround’s Accelerator solution comes with a complete system developed using Accelerator itself. It provides full security, system management and administration, as well as system monitoring, control, and performance tuning. These administrative functions can also be plugged in and integrated with your own system, pulling in your information and providing even greater operational control.
Choosing a product to guide the growth of your company’s software and IT infrastructure is a big task with many variables to consider. So we’ve decided to find out why our clients chose us above the rest.
There is an endless array of reasons companies select and continue to use Accelerator for their software development. The biggest question we see from our prospective clients is “Why choose Surround?” Instead of using in-house generated marketing text to talk about our product, we decided to let our clients do that talking for us.
So after extensive customer surveys and interviews with CIOs and technology leaders, we've identified the Top 10 Reasons CIOs Choose Accelerator. They told us they wanted to: