IT Outsourcing
+91-20-65212736

Technology Services

Technology Services

Creospan delivers integrated and innovative services to create the next generation enterprise applications and processes. From strategy to implementation, Creospan provides breadth of services to address many unique challenges.

Creospan provides solutions designed to meet the dynamic business needs of our clients. We partner with clients to provide full service Project and Program management solutions in software development, business process analysis, user experience design, development and testing. Our service model includes fully integrated services from the initial thought to implementation and management. From responsive web development to mobile applications to client/server to legacy. Through its long-standing experience, Creospan’s team has served wide variety of clients in various areas of technology services. Our services include:

  • Needs analysis
  • Software/Tools/Platform selection
  • UI/UX Design
  • Architecture
  • Development/Systems Integration
  • Testing
  • Deployment and maintenance

Strategy

It all starts with an idea… How to improve? How to best service customers? How to cut cost? How to innovate? 

Our job is to take that idea or a problem forward and try to solve with blend of compelling process improvements and innovative technology based solutions. Our team often comprises of Strategists, Technologists, Data Architects and Information Visualization specialists that draw on their unique capabilities to recommend functional & technical approaches that are innovative and in some cases transformative, but more importantly focuses on providing tangible business benefits. We help build mobile strategy road-maps, recommend architectures that are easy to support & maintain, and build solutions that are effective & engaging.

Development

A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.

We use Agile software development which is a conceptual framework for undertaking software engineering projects. There are a number of agile software development methodologies e.g. Crystal Methods, Dynamic Systems Development Model (DSDM), and Scrum.

Agile methods emphasize real time communication, preferably face-to-face, over written documents. Most agile teams are located in a bullpen and include all the people necessary to finish the software. At a minimum, this includes programmers and the people who define the product such as product managers, business analysts, or actual customers. The bullpen may also include testers, interface designers, technical writers, and management.

Agile methods also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods.

Design

Many software development projects have been known to incur extensive and costly design errors. The most expansive errors are often introduced early in the development process. This underscores the need for better requirement definition and software de sign methodology. Software design is an important activity as it determines how the whole software development task would proceed including the system maintenance. The design of software is essentially a skill, but it usually requires a structure which w ill provide a guide or a methodology for this task. A methodology can be defined as the underlying principles and rules that govern a system. A method can be defined as a systematic procedure for a set of activities. Thus, from these definitions, our met hodology will encompass the methods used within the methodology. Different methodologies can support work in different phases of the system life cycle, for example, planning, analysis, design and programming, testing and implementation.

Testing

Testing is the integral part of software development. Poor testing methodologies lead to unstable products and unpredictable development times. It is very essential to have a testing plan in place to ensure that the product delivered is robust and stable and is delivered in a predictable timeline.

Unit Tests
This covers very narrow and well defined scope. We isolate the code from any outside interaction or any dependency on any module. Unit tests focus on very small unit of functionality. They cover the interaction of the code with memory only and do not cover any interaction with network, database or file systems. These dependencies are hard coded into the code while testing.

Integration Tests
They provide a mechanism to test the interoperation of smaller units. Integration test involve testing the modules which access network, databases and file systems. They reveal out the issues with network modules or databases and more importantly in the connections between small units of code. 

Functional Tests
Functional tests check for the correctness of the output with respect to the input defined in the specification. Not much emphasis is given on the intermediate values but more focus is given on the final output delivered

Regression Tests
Whenever complex bugs are patched in a system, typically which affect the core areas of the system, regression tests are used to re test all the modules of the system.

Acceptance Tests
Every feature is checked from the user’s perspective by the testing team and the feature is marked accepted or rejected. These tests test the application from end user’s perspective like detecting crashes after going through a certain flow.