Software Development Approach

At Connexiz, we learn our customer’s processes and work to ensure compliance with their coding standards and project expectations. Our development approach is a two-phase process that we employ to develop custom software and data connectivity solutions for our customers. We have developed this process on the basis of our vast experience with software development to provide the following benefits to our customers:

  • Rapid time to market;
  • Certainty that a high quality product will be delivered in accordance with the relevant specifications;
  • Value-oriented solution that represents a minimal total cost of ownership

Two Phase Methodology:

Our development approach is a two-phase process that we employ to develop custom software and data connectivity solutions for our customers.

Two phases of Development

  • Assessment & Harmonization Phase
  • Execution Phase

Assessment & Harmonization Phase

This phase of work is intended to allow us to fully understand the needs of our customers. Getting requirements right is the most critical aspect of this phase. Most companies come up short when it comes to Requirements discovery and Analysis. Studies point to a failure rate of more than 60% for IT projects, with poor requirements as one of the top five reasons. Moreover, when requirements are specified early in the lifecycle, 80% of the functionality is relatively unwanted by the users and 45% of these features are never used. These problems mean costly rework, compromised product quality, delayed delivery on current projects and start of new ones, lost credibility and lowered revenue opportunities.

Requirements Engineering – Connexiz Approach

We do not just gather requirements. Gathering is too passive. If one is just collecting information and then passing it onto a development team, then this action simply equates to merely taking dictation and following instructions. We, contrary to that, elicit, understand, thoroughly analyze, and refine the requirements.

At the beginning of each project, our project manager and business analysts study customer’s input information. During this iterative phase we employ the following time tested techniques, which are the optimal combination of Industry cherished requirements Analysis methodologies and our very own customized requirement analysis techniques.

Stakeholders Identification:

Stakeholders have an enormous affect on whether projects are seen as successful or not. Different stakeholders have different views on what is important. If you take the time to understand who cares about which requirements and how they influence the end view of project effectiveness you can play to the right preferences.

Requirements elicitation and Requirement Negotiations:

Our analysts constantly ask the “W” questions: Who, When, Why, Where to determine what is and what not is in the project scope. This helps deduce the business purposes and measurable goals. We then devise tests to measure what level of each goal has been reached. Also categorize as Mandatory and optional requirements.

Prioritization of the Requirements:

Requirements development and management should be based on iterative discussions that prioritize those well understood requirements that are for delivery now. This encourages an up-front effort based on solid knowledge, early feedback and using a “good enough” attitude towards the process.

Leveraging Use Case Methodology and/or PROTOTYPING to pin down requirements:

It is very easy to get carried away and define all sorts of requirements that seem to be useful. However industry studies show that as much as 80% of delivered software functionality is rarely used, if ever. The Use Case method gives us one of the best ways to focus the requirements on what users actually need in order to get their jobs done. Prototyping is another technique that we employ to allow users to visualize an application that hasn’t yet been constructed. Prototypes help users get an idea of what the system will look like, and make it easier for all the stakeholders to make decisions. Prototypes include flat diagrams (Wireframes) or working applications using synthesized functionality. This methodology of Requirements Engineering leads to understanding of what is most important and what can be left out of the solution. It gives insight into the order things should be developed and the architecture and design of the solution.

Requirements Engineering – Connexiz Approach

We do not just gather requirements. Gathering is too passive. If one is just collecting information and then passing it onto a development team, then this action simply equates to merely taking dictation and following instructions. We, contrary to that, elicit, understand, thoroughly analyze, and refine the requirements.

At the beginning of each project, our project manager and business analysts study customer’s input information. During this iterative phase we employ the following time tested techniques, which are the optimal combination of Industry cherished requirements Analysis methodologies and our very own customized requirement analysis techniques.

Execution Phase

In the Execution Phase, we build and test the software product in accordance with the specifications developed during the Design Phase. The Execution Phase can take any where from a month to a year, depending on the size of the project and scheduling constraints of our customer. During this phase, specific members of our project team will conduct project management, code engineering, quality control and release engineering. Connexiz will provide regular status reports to a customer detailing progress and risks/mitigation information. Customers can also obtain intermediate drops based on designated milestones.

Prior to being delivered, the software product undergoes a pre-determined customer acceptance process to ensure that the product specifications have been achieved. Once customer sign-off is obtained, we deliver the final product to our customer. Thereafter, Connexiz supports the software product for a specified period and will conduct necessary fixes during this time. We can deliver a component that is incorporated by our customers, or a full software product including installers.

Proposal

Once the design has been completed, product specifications, resource requirements, timeline, milestones, test plans, budget and acceptance criteria are developed for the project. During this phase, it is particularly important for our team to understand the technical objectives and business drivers associated with a project, as careful attention to this information during the Design phase is a prerequisite for success.

After the design has been completed, we present the associated results to our customer. Once the results have been completely understood by our customer and an agreement is reached on the basis of this information, we proceed to the Execution Phase.

HOW OUR METHODOLOGY BENEFITS YOU

  • We brainstorm with you to understand your goals for the software.
  • We create an initial “proof of concept” prototype.
  • We evolve and adjust the prototype through multiple iterations in a series of milestones — based on feedback from you and other stakeholders.
  • We get closer to your final goals with each iteration and milestone.
  • We refractor the code and architecture throughout the entire lifecycle of the project to improve and streamline internal structure.
  • We make you part of the development team through short brainstorming sessions – along with using and testing the evolving prototype – without taking up too much of your time.
  • We deliver a final core software product that meets your highest expectations, along with your schedule and budget.

MISSION STATEMENT

Exceed client expectations by going beyond software to provide solutions that transform data into knowledge, enabling them to solve problems and better serve their customers.