Methodology
REDPIPAL has developed a proven, unique implementation methodology that ensures our solutions are exactly what our customers need - delivered on time, on budget, and ready to go.
By combining best practices from our successful engagements with the shared knowledge derived from our consulting experience, we've developed a powerful and flexible approach to building and deploying large, complex open source solutions.

Our methodology differentiates us from other open source application vendors who tend to be very specialized, approaching customer engagements from the same technology perspective each time and reusing the same platform for every application. They often dive right into technical requirements, potentially missing important factors that should influence what the application looks like and how it is developed.

REDPIPAL works with clients together to write and gather “User Stories”. These stories become the basis of prioritization, estimation, requirements gathering, development, and acceptance testing. The illustration below represents the base attributes of the Agile Methodology that we employ.


Tracking
REDPIPAL provides an online system for centrally storing and prioritizing the User Stories, defining the scope of development iterations, and tracking progress. This system is critical to collaboration, communication and critically, the velocity of the project and is updated daily.

Estimating & Requirements
Once User Stories have been identified, REDPIPAL breaks these down into individual tasks required to complete the story. During this process, the requirements for each story are researched and validated through expertise and direct customer involvement. These tasks are then estimated and totaled to provide a complete story. The customer can then choose & prioritize the stories that represent the most value to create the interaction.

Use Cases
A Use Case represents the functional implementation of the requirements. Use Cases will be developed to inform who is using the system and why. This then goes on to validate the Interaction Design.

Interaction Design
An important part of developing any application is the Interaction Design, which represents how the end user moves through the system. This design can be done with descriptions, diagrams, or interactive models, depending on the complexity or need.

Data modeling
Once the application has been outlined, the data it incorporates needs to be designed. Often this may simply be a list of fields to be gathered, stored, retrieved or, as complex as a UML-based object diagram.

Testing
Testing is an integral part of our design process and occurs during the application building phase. Our code starts with tests that demonstrate what the code should do, and then the code is written to satisfy the requirements of the test. When the code is complete, all of the tests have passed. This way, we deliver code that is proven that can be easily changed and adapted for the future.

Implementation
Finally, the finished product is integrated into the new system. With all tests passing, the original author of the User Story will be completely satisfied that the requested feature or application will meet or exceed expectation.