











| |
Anyone who has ever tried to translate with the aid of a dictionary a simple sentence from one language into another and then back again, will know that the result is not likely to be identical to the sentence they started with. This is exactly what happens when a set of desired business requirements needs to be described, developed and deployed. The reason is simple - in order to arrive at a functional application from a set of requirements written in English, several translations are necessary (stories become use cases, then page mockups, then system architecture, then computer code). Hardly is it surprising then that perfectly good developers often fail in delivering exactly what the client envisaged.
Perhaps the translation is the most crucial point in custom application development, which is why before we even begin capturing specific requirements we devise a strategy that ideally suits our client's unique needs.
We at TipTop don't believe in reinventing the wheel when we live in a world where rockets go to outer space on an almost daily basis. In applying that idea to project management, we have sought out the most advanced methodologies designed for rapid and reliable application development, and adapted them to suit our clients' interests. In a nutshell, the TipTop project management process is a happy blend of the Rational Unified Process, Spiral Development Model and Extreme Programming. Because we work mostly in an Object-Oriented environment, Extreme Programming is heaviest in the mix, and consequently 'rapid iterative development' would be a good way to describe our approach. For the client this means that they see results very early on in the project.
Put plainly, there are only three phases to each of our projects: Requirements Capturing and Design, Implementation and Delivery.
The important milestones of Phase One are two documents, Project Specification and Project Plan. Both of these documents evolve for the duration of the project's life cycle, and the same people are assigned to them the entire time. The Project Specification is the central and most critical document for every job. We have made it very simple by dividing it into two all-embracing sections: Objectives and Solution. The Objectives section brings together a definition of the client's business, the business 'problem' and the desired 'solution' or end-product. Scope of the Objectives section with regard to functionalities covers high-level user experience or workflow-centric system specification which is then reordered into a functionality-centric inventory in order to isolate the key system tasks at a slightly lower level. Overall level of detail of this first half of the document increases from very broad business objectives to narrow but still business oriented functional requirements, with the exception of Further Requirements, which concerns so-called non-functional requirements such as performance, scalability, branding guidelines, future-proofing, usability and so on. This covers all end-product attributes on a very high level in such a way that translation-loss is minimized when converting this information into system design in the second half of the document. The Solution section translates the business-oriented requirements from the first part into system components to be used as a code development blueprint. Each functional requirement is depicted in technological components, and the system is defined in terms of their relations to each other.
Phase Two is when we implement the solution, resulting in functional components being delivered and tested in rapid succession with each other. Documentation is done concurrently and updated constantly. Depending on the strategy we developed in the project plan, individual modules can be deployed as soon as they are finished.
This brings us to Phase Three, when the entire application is deployed, and depending on the client's needs, we can maintain it ourselves, or their in-house IT department can take over. We continue to offer support and training for as long as it is necessary.
|
| |
|
[] []
[] []
[] |
|