C S T - RO CornerSoft Technologies - Bucharest
 
 

    Services >> Software Development

Company Profile
Services
Products
Community Access
Technology Corner
Jobs
Talk to us
Download
Links
Search


CST's primary service is developing custom applications for its clients. Most of our application development is web based; however, we do development for Windows applications. CornerSoft assigns a lead programmer to each project. Typically this lead programmer has a PhD from the "Polytehnica" University of Bucharest in Computer Science. The software development team becomes an extension of the client's staff in that they are dedicated to the client and the client's projects.
Our software development team consistently provides highest quality solutions to our customers' expectations and satisfaction.

The CST Software System Lifecycle Structure

CST Group structured the software system lifecycle in 3 stages associated with 3 different kinds of contract. Each stage is divided into a number of phases. Each phase has a number of iterations and each iteration ends with a deliverable that is a system release. Each cycle main deliverable is a software system generation. Software System Lifecycle stages, phases and iterations are implemented by activities.


The Software System Lifecycle Stages

  • RESEARCH & DEVELOPMENT stage (R&D) comprises the Proof of Concept Phase and Elaboration Phase, typically bid in a risk sharing manner as cost plus award fee contract (CPAF).
  • PRODUCTION stage comprises the Construction Phase and Deployment Phase, typically bid as a firm, fixed priced contract (FFP).
  • MAINTENANCE stage if any, typically bid as a level of effort contract (LOE).

The Software System Lifecycle Phases

  • THE PROOF OF CONCEPT phase brings to light an original vision of a potential product, and transforms it into an actual project. Its purpose is to establish the business case for a new product or a major update, and to specify the project scope. For the development of a new product, the main outcome of this phase is a "go - no go" decision to move into the next phase and to invest time and money to analyze in detail what is to be built, can it be built, and how to build it. For the evolution of an existing product, this may be a simple and short phase, based on users' or customers' requests, on problem reports, and on new technological advances. For a contractual development, the decision to proceed is based on experience of the specific domain and on the competitiveness of the development organization in this domain or market. In this case the proof of concept phase may be concluded by a decision to bid, or by the bid itself. The idea may be based on an existing research prototype, whose architecture may or may not be suitable for the final software.
  • THE ELABORATION phase has as the main goal to more thoroughly analyze the problem domain, to define and stabilize the architecture, and to address the highest risk elements of the project. In this phase an executable architectural prototype is built, in one or several iterations depending on the scope, size, risk, novelty of the project, which addresses at least the top key use cases identified in the inception phase, and which addresses the top technical risks of the project. This is preferably an evolutionary prototype, of production quality code, which becomes the architectural baseline, but it does not exclude the development of one or more exploratory, throw-away prototypes to mitigate specific risks: refinements of the requirements, feasibility, human-interface studies, demonstrations to investors, etc. It becomes the architectural baseline. At the end of this phase, there is again a "go-no go" decision point to actually invest and build the product (or bid for the complete development of the contract). The plans produced must be detailed enough, and the risks sufficiently mitigated to be able to determine with accuracy the cost and schedule for the completion of the development.
  • THE CONSTRUCTION phase is broken down into several iterations--fleshing out the architecture baseline and evolving it in steps or increments toward the final product. At each iteration, the various artifacts prepared during the elaboration phase (see above) are expanded and revised, but they ultimately stabilize as the system evolves in correctness and completeness. New artifacts are produced during this phase beside the software itself--documentation, both internal and for the end-users, test beds and tests suites, and deployment collateral to support the next phase (marketing collateral, for example).
  • THE DEPLOYMENT phase is the phase where the product is put in the hands of its end users. It involves issues of marketing, packaging, installing, configuring, supporting the user-community, making corrections, etc. From a technical perspective the iterations continue with one or more releases (or deliveries):`beta' releases, general availability releases, bug fixes, or enhancement releases. The phase is completed when the user community is satisfied with the product: formal acceptance for example in a contractual setting, or when all activities on this product are terminated. It is the point where some of the accumulated assets can be made reusable by the next cycle or by some other projects.

The Software System Lifecycle Activities

The names of the phases of our Software System Lifecycle stay away from the term describing an intellectual activity: analysis, design…so that is understood that this activity is not confined to that phase. These activities do take place, but in varying degree in each phase iteration. This change focus explains also that, although all structured in the same way, the exact nature and contents of the iterations evolves over time.This also shows that the beginning of an activity is not bound to the end of another, e.g. design does not start when analysis completes, but the various artifacts associated with the activities are revised as the problem or the requirements are better understood.Finally, in an iterative process, the activities of planning, test and integration are spread incrementally throughout the cycle, in each iteration, and not massively lumped at the beginning and at the end, respectively. They appear as separate steps or phases in the process. CST Software System Lifecycle is handled by means of the next activities throughout the whole system lifecycle:

  • Analysis,
  • Planning,
  • Architecture Specification,
  • Design,
  • Implementation,
  • Integration,
  • Test/Assessment,
  • Deployment Activity,
  • Maintenance & Customer Support,
  • Closing,
  • Evaluation.

Below we present our main Software System Development Lifecycle:

/\ TOP of Page 

Virtual Enterprise Management System
  © 2002 CST GROUP

ISO 9001 Certified

Microsoft Certified Partner, Romania, Eastern Europe