Application Development
Timing is crucial in application development. If a delay happens in this phase, the company could lose an opportunity to gain market share, improve key processes, or deliver new products or services. Different development methodologies have their own advantages and disadvantages. Peart-Hannon has built a cadre of application development professionals that can adapt the leading methods to satisfy the client’s requirements, whether it’s delivering a new custom application, or re-designing of a current Line of Business application that drives the enterprise.
Preferred methodologies - Rapid Application Development & Prototyping
Since our clients typically come to us to develop custom applications or fix critical existing systems, we favor methodologies that produce results quickly, providing features and functions that can be evolved in step with the needs of the business. Because of our experience, we’re able to draw on other established methods to accomplish our mission, and deliver what the customer needs, when it’s needed. The approaches that we use are summarized below.
Rapid Application Development (RAD) Model
This model emphasizes an exceptionally short development cycle. To achieve this, we use a component-based construction approach that takes advantage of reusing processes that have been tested and proven under stress. Typical phases might encompass:
Business modeling; Data modeling; Process modeling; Application generation; Testing and turnover.
As a standard practice, we use of the RAD tools like C#, .Net, VB, C++, Delphi, rather than creating software using older third generation programming languages. We reuse existing program components whenever possible or create reusable components when necessary. In all cases, we take advantage of automated tools to accelerate our development and delivery. Since our RAD process emphasizes reuse, many of the program components have already been tested. This minimizes the testing and development time.
Prototyping Model
This is a cyclic approach to development. With this model, we typically complete a preliminary requirement analysis and then design a prototype. We review the prototype with the customer for evaluation, and feedback. We refine the application to meet the customer's exact expectation. After a finite number of iterations, we deliver the final product. With this approach, we adapt the software as a result of quick exchanges of information between customer staff and our developers. We frequently blend our prototyping and RAD processes, depending on the customer’s needs and requirements. Since it’s very difficult even for company veterans to define everything they need from a new application, this approach enables customers to realize the potential features as they are being delivered.
Component Assembly Model
We rely on object technologies to construct the technical framework for our component-based process model. This object-oriented paradigm emphasizes the creation of classes that encapsulate both data and algorithms that are used to manipulate the data. Since the object oriented classes are reusable across different applications and system architectures, we achieve software reusability. This integration and assembly of already existing components accelerates our development process.
System Development Life Cycle Model (SDLC Model)
This is also known as Classic Life Cycle Model, Linear Sequential Model, or Waterfall Method. While we favor the above approaches, our developers apply key ingredients from this model to complement our other techniques. Our Typical phases include: System/Information Engineering and Modeling, Software Requirements Analysis; Systems Analysis and Design; Code Generation; Testing and Maintenance.
Summary
We use different approaches depending on the need’s of our customers, and it’s not uncommon for us borrow from each of these methodologies on a series of projects. Timing is very crucial. Reputation is paramount. We deliver on time and on budget. The bottom line is opportunity, and results.