Our Methodology

 

LPiT Solutions believes that standards and methodology practices are often dictated by the scope of a project and by the requirements of a client. What we do not believe in is overburdening the project and the associated project cost with unnecessary processes. Over the years we have developed a process that allows us to remain flexible enough to adapt other standards and methodologies (e.g. ISO, Six Sigma, Agile, etc) into our process, providing the most appropriate process for the tasks at hand. At the base of our current software development methodology is the basic flow of REQUIREMENTS – DESIGN/ARCHITECTURE – DEVELOP – TEST – DEPLOY – MAINTAIN – PROGRAM MANAGEMENT.

Each of these stages represents an independent iterative process which allows for constant feedback and review, which in turn provides improved quality and reduced costs over the life cycle of the project. The iterative process within each phase allows us to adapt quickly to changes that might occur during the process. During every iteration, and within every phase, LPiT Solutions actively involves the customer to ensure that what is delivered will meet the goals of the customer.

Simply put, our strength, compared to our competitors is our methodology. At LPiT Solutions, our greatest core competency is the ability to create line of business applications that meet your business need. It’s what we do and what we are best at. We stand above our competitors because of our years of experience successfully completing our customer projects and because of our proven methodology that ensures quality and customer satisfaction.

Requirements

The software development lifecycle begins with the requirements gathering stage. During this stage LPiT Solutions works closely with the customer to determine what it is that the application is supposed to do and what the goals are for the application.

Design/Architecture

After the requirements are gathered from the customer, the process moves on to the design phase. This is where the architectural blueprint for the application is created. The design process involves the creation of specifications and other supporting documents which provide insight and details into the application.

During this phase a prototype may be developed which allows refinements to the flow of the application and resolves any early stage issues with the application. LPiT Solutions and its clients work together in testing and verifying the prototype to make sure that all of the necessary elements are present in the application, the design is both pleasing and usable for the intended audience.

Also at this time our staff looks at both the short term and long term goals of the application so that we can ensure the design of the application not only meets the needs currently, but is able to accommodate the long term vision for the application without requiring an entire rewrite of the application. At the same time, we look to deliver what is necessary for the application to run and provide the necessary functionality so that the requirements, application and budget do not become bloated.

Develop

The Development stage begins the process of writing the actual code that allows the application to work and builds up the functionality of the application.  During this phase the goal is to develop the application in short iterative steps so that certain functionality can be reviewed by the testing department as well as the customer while other pieces of the application are simultaneously being developed by the development staff.

Our development staff works in small teams, which allows them to communicate more effectively and resolve issues quickly and share knowledge and skill sets.

We implement this process, not only in applications that we develop for clients but also for the products and internal software that we develop as well. One of the things that we focus heavily on in all of our applications is code reuse. As we develop applications, we look to segment pieces of code in ways that allow us to reuse the code in other applications. This results in quicker development cycles and reduces costs both during development and during maintenance. 

We are also strong advocates of a Service Oriented Architecture which allows us to develop and reuse services that we either develop or license from other software vendors, again reducing development cycles and costs.

Test

LPiT Solutions first tests the application internally in two distinct manners. The first involves code unit component testing where each developer is developing and testing individual application components on their own development workstation. This reduces interference with other developers on the team. We utilize source control software to ensure that each developer is using the correct version of the software as well as to track change history for each source file. Secondly, we perform integration testing. During integration testing we deploy the application to a dedicated test server. Both the interface and the application functionality are tested from a variety of end user environments. Depending on the scale and scope of the application we will stress test the application using load testing software. This allows us to determine how the software will respond under heavy use.

Once internal testing is complete a test application is presented for the customer to verify that it meets their requirements and specifications. The customer is provided access to a specific customer assurance version of the application for them to test on.

Deploy

Once internal QA and client acceptance testing have been signed off upon, the application is deployed to the production environment and made available to the end users.

Maintain

Part of LPiT Solutions' process also includes proactive trouble determination. Our development process includes structured error handling which allows us to determine if an error has occurred, then log it and notify our support staff that a potential error has occurred. Based on the severity of the issue, we work to resolve the issue within an appropriate time frame. This system also monitors various performance criteria which we can use to determine potential future hardware needs as well as prevent potential issues. Any other defects that managed to get past all of the other stages are also addressed during the maintenance phase. Throughout this phase, we also look for ways to make the application better and more efficient through the refactoring of the code.

Program Management

Throughout the application lifecycle process LPiT Solutions actively solicits feedback from the customer as well as monitors usage statistics and patterns in the application to determine areas where the application can be strengthened. This information is then turned into suggestions which can lead to requirements building and a new round of the application lifecycle.

25 Commerce Ave SW, Suite 200, Grand Rapids, MI 49503