Software Development

Software Development Platforms

At Maxxion, we provide turnkey software development on a Time and Material basis. This may involve the development of new applications or new functions for existing software applications. Each development project typically involves all aspects of the software development process, including prototyping, design, pilots, programming, testing, installation and maintenance. Here are some of our areas of expertise:

  • Java
  • Ruby on Rails
  • Web applications using PHP
  • Unix/Linux Cloud computing
Software Development Life Cycle

Maxxion follows a software development methodology that is based on industry best practices. Our process methodology is continually reviewed for improvement to further ensure quality development and product delivery consistent with customer expectations.

Maxxion's methodology represents an optimization of standard process management techniques and best practices established through many years of project development experience. The important features of Maxxion methodology include:

  • Iterative Process
  • Ensures inputs from ‘successor' process at each stage of the development cycle.
  • In-depth User Involvement
  • Ensures minimal risk of misalignment between application capabilities and end user requirements.
  • Object Orientation
  • Ensures identification and development of common, re-usable elements leading to more reliable, robust applications, requiring less development time.

In the Maxxion Offshore Software Development Process, there are eight distinct stages. Each of the stages consists of one or more task. The task describes what is to be performed in the pursuit of the stage's objectives. The tasks are frequently composed of steps.

  1. Business Modeling
  2. Definition
  3. Requirements
  4. Analysis & Design
  5. Programming
  6. Testing
  7. Deployment
  8. Maintenance & Support

Business Modeling

In this stage, we typically work closely with the client's business experts to ensure we clearly understand the business problems and what the client is trying to achieve and to recognize their business priorities. The main purpose of this stage is to define the project and to establish buy in for the project.

Definition

In this stage, we assemble all the information needed to develop the client's software including the complete scope of the project and the project objectives and benefits. The end users and the project team are also identified. We create documents that outline how we propose to develop and deliver the project, including required functionality, environment, interfaces and a project plan.

Requirements

Our Business Consultants meet to conduct Joint Application Development sessions with the client to describe what the system should do and allow the developers and the client to agree on that description. These are brainstorming sessions in which a document is created with the stakeholder's vision. The identified use cases function as a unifying thread throughout the system's development cycle.

Analysis & Design

We create a detailed functional specification and advise the client on options available to him with respect to architectural approaches and technology solutions for project implementation. Then we create a design specification that describes the internal architecture of the system. We follow the iterative model of development. In this methodology, once the preliminary requirements are clarified, the next step is to quickly build the prototype of the application. The prototype can go through continuous evolutions until it becomes the final product, exact to specifications.

Programming

The primary goal of this phase is to take the logical design in the design specification and implement it in a physical software application. This is the stage where the project is actually off the ground. The developers working on the project abide by with Maxxion strict internal coding standards to develop your application quickly and properly. They use state of the art tools and technologies, and work from the functional and design specifications to ensure your project is created precisely to your requirements.

Testing

At Maxxion, we utilize a rigorous test plan created at the beginning of your project. Testing for us is also an iterative process. We believe quality assurance throughout a project ensures that the functional and design specifications are written to produce software that is reliable and usable. Quality Assurance specialists continuously and methodically test independent modules, as well as the complete system, throughout and after the programming process.

Deployment

Once we get your approval on the project, we install the solution in the business environment. This includes the information system software, files and databases which are utilized by the information system, operational documentation, system and program documentation, trained staff and integration of the foregoing into the operational environment. We do not consider a project complete unless the software is working in the desired location and integrates with existing systems and business processes.

Maintenance & Support

The primary goal of the maintenance and support phase is to service new requirements and to fix anomalies that occur in the real world implementation of the software. We also make sure that the software receives functional updates on an as-needed basis as your business needs evolve.