The business process at Great Hind Inc. follows eight clear and distinct steps. The process of design and solutions development works in tandem with a distinct process of communication with our clients. This helps us to create the best possible solutions in the shortest possible time for our clients. The steps are enumerated below:
Evaluation
Our business process starts with an understanding of the detailed scope of the project and time requirements from the client. Our technical experts and our creative and marketing wizards confer together to arrive at a realistic picture of the current scenario and the potential, which can be achieved given various parameters. There is a detailed interaction with the client at this stage. We prefer that this be through chat - instant messenger - aol/icq/msn/yahoo etc. This usually answers most primary details, required to begin the project. A detailed initial brief from the client also suffices.
Strategy Selection
The primary basis of strategy selection is dependent on customer requirements. It includes consulting for the Internet strategy of our clients. This is combined with high-end technological innovation. Backed by inputs from our marketing and creative departments, we present our clients with a detailed strategy plan. Based on customer requirements and goals, our creative and technical experts seek to define the practical boundaries while outlining the best solutions.
Conceptualisation
The fundamental business processes are detailed and enumerated at this point. A techno-commercial proposal is made listing the basic technical details and their interaction with the conceptual and functional aspects is enumerated to emphasise the end-user experience. A time frame, the team working on the project and other relevant details are all incorporated into the proposal. This proposal is then sent to the client.
Design
At the design stage, we create a visual design; flowchart and architecture based on client requirements backed by concept inputs from our creative department. The actual user-interface is developed at this stage. Details depend largely on whether the client would like inputs from our side or whether he has a specific idea of their requirements. In case of the latter, a detailed design specification is required. The client can also mention specific features of certain websites that appeal to them.
Solutions development
At the development stage, we define the organisation of the software and how it is to be developed. Subsystems are delineated and organised. Each developed component can then be tested and the results obtained from our different technical teams are then integrated into a final system.
Trial
Our trial process involves a series of reality checks with state-of-the-art tools to improve the productivity and effectiveness of the hardware and software being tested. Specially designed quality checks on individual components of the system, as well as on the integrated system ensure a high performance of the product. This is completed by on-line beta testing. We host it on our servers with a temporary URL or Domain and ask the client for their feedback. This is usually through an interactive Internet chat. Hosting on a temporary URL is maintained till the project is completed and the client approves the web site for handover.
Implementation
This stage involves minor changes if any followed by the delivery and installation of the software after receiving their approval. It includes any special installation with all necessary modifications or add-ons. We also enable the customer to access related software available on the Internet, which can enhance the value of the delivered solution.
Maintenance
Maintenance of delivered solutions is both on-site and off-site. It includes both a constant monitoring of the delivered system and client training. We enumerate a list of actions and guidelines including both the tools and processes, which will guide the maintenance team at the client's end. Depending on the situation, we suggest updates or innovations either available in the market or custom-built updates to maintain an edge in the market.
Methodology
Great Hind Inc. has an in-house methodology, which is based upon the industry standard Rational Unified Process. It provides for all major workflows in a project including requirements capture, analysis, design, implementation, and testing. The documentation of analysis and design work would be done using UML (Unified Modeling Language). SynapseIndia's consultants are proficient in the use of UML based leading industry tools like Rational Rose and Enterprise Architect.
Requirements Analysis
1. Purpose
The purpose of this phase is to collect and record requirements. It includes use case diagrams as per the UML.
2. Activities
During this phase, the following information is collected and recorded.
Functional requirements
Operational constraints (performance, projected usage etc.)
Nature of changes that are likely to occur
User wish-lists that may require future consideration
Any other
Usual techniques of requirements collection via workshops and interviews may be used for this.
3. Deliverables
Use case model, consisting of a set of use case diagrams.
Requirements document listing operational constraints, nature of changes likely to occur, user wish-lists etc.
Analysis and Design
Analysis Modeling
1. Purpose
The purpose of this phase is to analyse the requirements and identify analysis models, and functional specification. These models help in understanding the requirements.
2. Activities
During this phase, the collected requirements will be analysed to identify the following:
Core domain classes and static associations between these classes (based on analysis of requirements and the domain).
Sequence diagrams to narrate core use cases.
State diagrams, if required, for domain entity classes
Activity diagrams, if required.
3. Deliverables
Analysis models (class diagrams, sequence diagrams, state diagrams, and activity diagrams), and functional specification document.
Architecture Design
Our trial process involves a series of reality checks with state-of-the-art tools to improve the productivity and effectiveness of the hardware and software being tested. Specially designed quality checks on individual components of the system, as well as on the integrated system ensure a high performance of the product. This is completed by on-line beta testing. We host it on our servers with a temporary URL or Domain and ask the client for their feedback. This is usually through an interactive Internet chat. Hosting on a temporary URL is maintained till the project is completed and the client approves the web site for handover.
1. Purpose
The purpose of this phase is to design a structure for the software that includes the various subsystems, and their interrelationships. This drives the various increments and iterations.
2. Activities
The typical activities to be conducted during this phase include
Decompose use cases into abstract services.
Identify subsystems or components to provide the above services.
Identify infrastructure subsystems or components.
Identify other structural aspects, such as processes, distribution, communication, etc.
Identify common frameworks, layers, and components for internal as well as external reuse.
Identify tools, technologies etc. If the tools have already been identified, the choice may be reevaluated at this stage if necessary.
Conduct a technical risk analysis to identify the technical unknowns and assumptions
3. Deliverables
Architecture of the software with logical and deployment views. To maintain integrity, the architecture designed in this phase has the following characteristics:
Realize all the identified use cases.
Allow scope for changes to requirements.
Pose constraints against changes that violate the architecture.
Absorb future risks. This requires application of design patterns, components, reflection etc. in building the architecture.
Development Planning
1. Purpose
The purpose of this phase is to plan for iterative and incremental development of the software.
2. Activities
The activities include the following:
Analyse the architecture to identify candidates for increments. This activity should also consider the risk factors and plan for the risky increments to be started early.
Identify independent and infrastructure increments. Such increments create the infrastructure for the rest of the software.
Identify dependent and use-case increments. Dependent increments rely on the infrastructure created by the independent increments.
Identify integration points. This is based on the dependencies.
Decide milestones, and teaming. This is driven by the technical requirements and size of each increment.
3. Deliverables
Detailed project schedule with activities, teaming, milestones for various increments (with further iterations if necessary), and integration points.
Integration test planning (integration points, test cases, etc).
Implementation and Testing
1. Purpose
To construct the increments (over multiple iterations if necessary).
To perform integrations and integration testing at the integration points.
2. Activities
The following activities are applicable for each increment.
Detailed design
Implementation
Preparation of unit test cases
Unit testing
Integration testing if there is an integration point at the end of the increment.
Risk analysis.
3. Deliverable
Constructed and tested subsystems or components.
Delivery
1. Purpose
To conduct system and acceptance testing and deliver the software.
2. Activities
The activities as described in the current QMS are applicable here.
3. Deliverables
The deliverables as described in the current QMS are applicable here.
The Vendor would deliver to the Client, outputs of select phases, which would be termed as deliverables. The project deliverables as described in the current QMS are:
First Level Project Plan
Requirement Analysis Report
Final Project Plan
Analysis Model
Design Model
Test Model
Implementation model
Documented Source Code.