Remediation

We help you clean up your code before you modernize

Overview

The ARM Remediation solution leverages tools that facilitate the understanding, improvement, migration, and reuse of existing software systems for the purposes of modernization. eCube's ARM Assessment process provides the blueprint for the remediation phase which attempts to re-use existing code and make it perform updated or different business logic in some cases. In other cases where the code has evolved for unintended purposes, the code is refactored to reflect its current use. Redundant code is eliminated and logic is optimized to perform a targeted goal or future use case. If significant issues are discovered during the Assessment phase, an in depth Quality Assurance solution may be appropriate. In some cases, remediation is not appropriate if the target system requires so many changes that the code cannot be re-used. Depending on the level of Assessment engaged by the client, that decision can made at the end of the assessment phase.

The Remediation scope is outlined in the Assessment document and can be completed by the client if they wish. Remediation can be postponed until later if the client has no more budget available for this project. In this way, value can be delivered at the end of each phase and the effort does not become an all-or-nothing project success. Remediation can also be delivered in phases based on the structure of the application and the areas of remediation.

The Remediation phase is complete when all of the identified Assessment report items are addressed, the requirements document feature list is satisfied and the new code passes a peer review. As part of the remediation phase, unit testing and regression testing verifies the quality of the code. Because the ARM process breaks down into phases, organizations can readily apply selected ARM disciplines to a wide variety of projects.

Agile Development

Once the Assessment Phase is completed and the Assessment Report is delivered, you now have a list of all the code that needs remediation (that meets the criteria you specified in the Assessment Phase). With these changes in mind, you have an opportunity to implement these changes in a phased approach similar to what the Continuous Delivery practice employs. To do this, you must review the code to see if this makes sense. You also have the opportunity to change your development mode from a waterfall approach to agile development. There are several ways you can remediate the code to make it more agile. If the code can be further separated by functionality or business features, that makes code changes in the future a little easier. Single tier applications suffer from the conflicts between business rules and presentation layer changes, so it is best to separate these functions in client and server modules. Many applications were designed for singular functions and then evolve to serve multiple purpose functionality once the value of the stable code is realized. This leads to incremental destabilization, depending on how it was coded. Many times functional interdependence needs to inserted or removed to increase the portability of the application.

Agile development can be employed to affect gradual change in the remediated code once the initial stable version is deployed. Using Agile SCRUM and sprints, incremental change can be made, tested and release from the list of remediation steps identified in the Assessment phase. In this manner, you can integrate modern development practices into your legacy development structure, making it more flexible and easier to change in the future.

Automated Builds

Whether or not you decide to implement Agile Programming going forward, you still have the opportunity to look at Automated Build processes. Many companies have internal build processes that perform these functions, but these procedures have also evolved over time and may need a refresh or some remediation as well. Open Source and Third party automated build systems are also available, the one most notable is Jenkins. Many companies use Jenkins for their automated builds and this saves them time and money from the standpoint of standardization and maintenance costs.

Automated Build Process

Agile Infrastructure

If you have decided to employ Agile Development practices like SCRUM and are going to remediate the code in sprints, this is a good time to look at your infrastructure. Once you get past the point of choosing the development paradigm you want to employ, it is all infrastructure dependent from this point on. If speed of delivery is a priority, then in order to speed up the software delivery cycle, you need to speed up your infrastructure. Now that you have the first code changes are in and a sprint is completed, you want to start developing the next step in Continuous Delivery of applications: you need to implement some form of Agile infrastructure that enables the successful deployment of the new version. Tools to automate the creation of target linux and Windows platforms for the Cloud are readily available, but in-house and legacy systems tend to be more difficult to automate. Complex configuration requirements, licensing and home grown interfaces with complex functionality make it more difficult to automate scripts to create and test for. Manual processes are often required. Once the target deployment system is available, you need to capture the application configuration requirements and the system interfaces with the delivered functionality/performance changes. By employing a DevOps infrastructure, you can ensure that new features are accurately tested and deployed with the integration changes they need to be functional.

Interface points may change from release to release, so the ability to test different interfaces and different versions reduces the time to test and certify support. DevOps Tools like scripting languages and the NXTmonitor tool are very important to ensuring infrastructure changes are migrated over with the new functionality the developers want to include in each sprint or release.

Agile Middleware

The ability to quickly deploy and test different versions of your application is necessary when you want to implement Continuous Delivery. In order to do that, you need Agile Middleware that supports the different platforms and databases you want to test and provides you the ability to scale up based on demand or other business factors. You need middleware that is performant and reliable.

Hidden in the Dust of Time

Over time organizational knowledge about legacy applications tends to dissipate. Application developers move on to new projects, documentation (if it ever existed) is lost, source code disappears. However, legacy applications continue to run and provide business benefit — even though knowledge about them maybe lost.

eCube provides companies with the tools and services needed to recover the knowledge and artifacts to better manage, maintain and modernize legacy applications.

Losing Valuable Assets

There are well over 400 billion lines of application code in use world-wide. How much of that is well documented, defined and understood by those that use it? How much of it is non-redundant and fully available in source code repositories? It is hard to say, but every company has to deal with things that can impact their legacy applications, such as:

  • Mergers and acquisitions
  • Work done by 3rd party consultants and contractors
  • Faulty or lost backups and archival tapes
  • Retirement of key employees

eCube helps companies overcome these issues and retrieve the value of legacy assets. Using leading edge technology, industry standards and best practices you can be confident in the legacy recovery services provided by eCube systems.

Features: Recovering Valuable Assets

The legacy recovery process will use automated tooling to de-compile existing binary applications and examine IT architecture. This unique process will extract the components that encompass the physical production system and identify the interrelationships of those components with all of the details stored in a knowledge meta-model repository. The resulting data can be used to reconstruct source code, define business processes and re-establish functional documentation.

The goals of the phase II assessment include the following:

  • Examine all relevant aspects of targeted application, data and technical architecture
  • Use automated tools to fully deconstruct and populate existing, in-scope IT artifacts in an open, standards-based meta-repository
  • Employ sophisticated analysis to implement remediation if required
  • Provide and replace lost source code, documentation and general application understanding

The key benefit to this approach is that it provides unambiguous findings of all aspects of the application environment. This approach ensures that program and system risks or architectural weaknesses are addressed as part of any modernization effort. It also provides a way to simulate modernization solutions without actually implementing them.

Test the value proposition

Contact us for a free evaluation to see if these services will provide you with the benefits and cost savings you need. Our analysts will work with you to develop a Return on Investment (ROI) calculation that accurately reflects your situation and the various solution scenarios possible.

With this analysis, which establishes ROI, Total Cost of Ownership and other values, you will be able to understand what the best solution is for you and what it is worth to your business in real dollars. If the numbers are compelling, we'll work with you to further define what the right solution looks like and to develop a plan that reflects your needs, benefits and the returns required. Call us to schedule some time with an analyst.

Enterprise Quality Assurance

A quality product should meet a pre-defined or generally well-accepted level of value and capacity. eCube Systems offers an array of technical quality assurance offerings that target the development process as well as the product it delivers. Our offerings include:

  • QA Process Assessments
  • Quality Audits, Compliance and Metrics
  • Quality Control Services
  • Software Validation Services
  • Independent Verification & Validation Services

Quality Assurance Services

Quality can only be assured when a solid Quality Control department is in place along with the essential metrics to evaluate the effectiveness of the Quality Management System. eCube consultants understand this and know that the basic foundations of Quality (including the Policies, Procedures, Standards, Guidelines and Checklists) have to be established. They will cover all of these aspects in order to guarantee a robust Quality Assurance function that will enable your organization to derive greater value from your IT systems.

QA Process Assessments

Whether you develop software for commercial use or rely on it to control specific aspects of your business, problems with production software can result in huge losses to revenue, profit and market share. The cost of errors increases exponentially the longer it survives through the development process.

eCube's consultants are experts in finding the hidden inefficiencies in software development processes by employing a pre-emptive approach to finding defects. We provide a comprehensive assessment, process improvement and implementation services that assure maximum efficiency of software development with measurable results. Our services assess your QA "current state" and develop a QA strategy and vision.

Process Improvement Planning

Once the assessment is complete, eCube will help you develop a comprehensive improvement plan that clearly identifies the precise steps, best practices and methodologies that will be leveraged to optimize your development and business processes. Our plan will assure the greatest overall benefit with minimal disruption to the ongoing business at hand.

Implementation & Consulting

Planning what to do and how to do it is important but implementing the plan correctly is essential. Let our experts help you develop and implement the most cost effective QA Process Improvement plan. We have experience implementing a wide assortment of projects with very successful results.

Software Configuration Management

Our Software Configuration Management Service delivers a phased plan that establishes a client-centric standard for scope, resources, responsibilities, processes, tools and maintenance procedures for development projects.

Quality Audits and Compliance

eCube provides a structured and independent quality review to determine if the project executions are meeting the planned quality requirements. We also verify the implementation of approved change requests, corrective actions, defect repairs and preventive actions. The audits can occur as scheduled or at random.

Our quality audits help:

  • Verify compliance to policies, standards and procedures.
  • Identify inefficient and ineffective policies, processes, and procedures being used for the project, which will reduce the cost of quality on the subsequent projects.
  • Increase customer satisfaction and acceptance of the product or service delivered by the project.

Quality Models

The standard on which eCube's experts provide your organization with QA consulting are based on:

  • ISO 9000, 9001 and 9004
  • CMMI

Our services range from customizable templates to target training or maintenance services to a complete implementation and training of the standard. We also offer standalone services such as internal audits and facilitating management reviews.

Quality Metrics

Measurement has a critical role in all of the QA and testing services. In most cases, the measurements suggested by eCube’s consultants are easy to understand and easy to collect and report. This makes it very straightforward to quickly determine the state of quality at any point in the SDLC.

Measurements include:

  • Remediation (corrective) actions
  • Phase exits
  • Release to deployment
  • Continuous process and capability improvement

Quality Control Services

Quality Control is a procedure or set of procedures intended to ensure that products or performed services adhere to a defined set of quality criteria or meet the requirements of the client or customer.

Test Automation Services

Software Test Automation offers the promise of cost savings for organizations that test numerous releases of an application throughout the year. eCube's Test Automation consulting, which is customized for your organization, will help you save time and gain significant return on your investment.

Implementing a good software Test Automation solution requires significant experience in a broad range of situations and environments. eCube has successfully delivered Test Automation solutions using a broad range of tools in all kinds of environments. Our ability to custom fit the most suitable Test Automation framework based on your unique set of needs and capabilities in addition to our quantitative methodology for tool selection assures you make the right decision that complements your processes.

Our comprehensive Test Automation services include but are not limited to:

  • Test Automation Assessment
  • Test Automation Feasibility Evaluation
  • Test Automation Tools Evaluation
  • Test Automation Framework Design & Development
  • Test Automation Implementation
  • Test Automation Metrics

Independent Verification & Validation Services

eCube offers Independent Verification and Validation services for objective vendor neutral third party audits that guard your interests and investments. As an objective third party, eCube will provide an unbiased audit and assessment of your vendor delivered software development projects. eCube uses a proven systemic Independent Verification & Validation approach to deliver measurable financial value up front and in post deployment maintenance.

The Independent Verification & Validation models supported by eCube include:

  • Comprehensive Independent Verification & Validation Audit
  • Project-based Audit
  • Third-party Testing

Software Validation Services

Our vast experience in various technologies and domains ensures we can help your organization get the maximum benefits out of the testing phase of the Software Development Lifecycle. The value added services we provide include:

  • Test Planning
  • Test Analysis and Design
  • Test Execution
  • Defect Tracking and Management

Our consultants are well versed in various software tools and methodologies and will work with you to build an efficient validation strategy. The strategy will ensure a reduction in postproduction defects, which will decrease the overall time and money spent on bug fixing and validation.

eCube's Value proposition

eCube's Quality Consulting division strives to help you improve IT Value and IT Governance by partnering with some of the leaders in Automation and Digitization of Processes. We provide customized process solutions that give a 360-degree solution to address all of your process needs.

Our Quality consultants provide world class consulting in the areas of Software and Systems Engineering, Operations Excellence and IT Governance. Our risk-based, requirement-driven testing methods ensure your business systems and applications function and perform to your expectations while ensuring security and quality.

The disciplined, independent quality assurance and software performance testing delivered by our consultants will help you achieve greater business value from your technology investments by:

  • Eliminating waste caused by defects
  • Detecting defects early
  • Improving the quality, performance and security of your business applications
  • Accelerating the delivery time during all phases of the software development lifecycle