JB Software follows the Rational Unified Process (RUP) as the basis for our software development. Every project is scoped and user requirements are analyzed and designed for each of the projects. If strict time lines are established for the project, JB Software will adopt Extreme Programming (XP) methodologies for Rapid Application Development (RAD) to meet the project deadlines.
The high-level analysis gives an overall view of the sub-systems that would require detail analysis. The detail-level analysis details specific stakeholders’ requirements for the sub-system. On completion of requirement analysis of all sub-systems, project design is accomplished in two stages: High-level design and Detail-level design.
The high-level design documents the system and interface design developed on the analysis of the requirements. This document forms the basis for detail-level design of the components, screens and database for the system.
Domain specialists ensure that business objectives are met in concurrence with systems analyst, database analyst and client’s project coordinator for each of the sector-specific projects.
The artifacts of the project include the software product itself and few documents that bring real value to the project from a management or technical point of view. JB Software will generate the following artifacts throughout the software development lifecycle.
The management artifacts is not the final product, but are used to drive or monitor the progress of the project, estimate the risks, adjust the resources, give visibility to the customer (in a contractual setting).
An Organizational Policy document, which is the codification of the engagement's process; it contains an instance of this generic process tailored to the specific needs of the engagement.
A Vision document, which describes the system level requirements, qualities, and priorities.
A Business Case document, describing the financial context, contract, etc.
A Development Plan document, which contains in particular the overall iteration plan and the plan for the current and upcoming iteration.
An Evaluation Criteria document, containing the requirements, acceptance criteria, and other specific technical objectives, which evolves from major milestone to major milestone. It contains the iteration goals and acceptance levels.
Release Description documents for each release.
Deployment document, gathering additional information useful for transition, training, and installation.
Status Assessment documents include periodic snapshots of project status with metrics of progress, staffing, expenditure, results, critical risks, and action items, post-mortem.
These artifacts are either the delivered goods, executable software and manuals, or the blueprints that were used to manufacture the delivered goods, software models, source code, and other engineering information useful to understand and evolve the product.
User's Manual developed early in the lifecycle.
Software documentation, preferably in the form of self-documenting source code, supported by appropriate tools to maintain it and models (uses cases, class diagrams, process diagrams, etc.) captured and maintained with appropriate CASE tools.
A Software Architecture document, describing the overall structure of the software, its decomposition in major elements: class categories, classes, processes, subsystems, the definition of critical interfaces, and rationale for the key design decisions.
Depending on the type of project, the typical document set can be extended or contracted, some documents can be merged. The documents will not necessarily be paper documents--they will include spreadsheets, text-files, databases, annotations in source code, hypertext documents, etc.--but the corresponding information source will be clearly identified, easily accessible, and some of its history preserved.