Software Development

Development Approach

Software Bloc uses the traditional application development methodologies that are best suited to meet the needs of clients.  Specialized in design, implementation, and quality assurance, experienced developers deliver both turnkey software solutions and ongoing user support.  The client charts the route to cost-cutting customized information automation.

Feasibility Study

The initial feasibility study is a high level assessment of the requirements to —

  • Determine client goals for the product to be developed or enhanced
  • Determine the project technical aspects
  • Estimate the resources required
  • Identify additional hardware and software requirements
  • Compare the costs of current and projected operation so that the client can determine the return on investment

Requirements Definition – Analysis Phase

Extensive analysis identifies specific components of the requirement, which include —

  • Business Process Impacts and Drivers
  • Functional Requirements
  • Data Inter-dependency
  • Communication Requirements such as multi-site
  • Key Dependencies, including critical dates and impact on other organization
  • At the end of this phase, the document is jointly reviewed with the customer to ensure it accurately reflects their needs.

At the end of this phase, the document is jointly reviewed with the client to ensure that it accurately reflects the requirement.

Design Phase and Project Plan

Upon client approval, Software Bloc proceeds to document the proposed architecture.  This includes the database, software, hardware, and development tool selection that will be used to implement the final application.  Corporate and industry standards apply; the proposed design meets applicable standards.   Also included in this phase are the technical approach that will be taken towards developing the solution and a definition of all data elements, systems, and integrated security components.  The resulting Detailed Design Document contains the data dictionary, table structures, and entity relationship diagram (ERD).

On completion of this phase, the complete project plan defines:

  • Resource Requirements
  • Key committed Dates
  • Planned Assignments
  • Total Project Costs
  • Construction – Coding

Coding begins immediately upon executive approval of the design and the budget.  Every module is unit tested and inspected for function and adherence to established coding standards.

Test Phases

Testing is not an all-at-once activity.  The application’s multi-stage testing covers each stage of its development, including unit testing, system testing, and acceptance testing.

  • Programmer-analysts conduct unit testing during the development phase
  • An appropriate balance of programmer-analysts and members of the Independent Test Team conduct system testing, which verifies the functionality of the entire specified system
  • The Independent Test Team, which has written and performed the testing, documents the results
  • On-site joint client acceptance testing succeeds system testing


After customer sign-off, Software Bloc creates an implementation to install and set up the application for production use at the client site.  Following installation, Software Bloc provides warranty and enhancement support as specified.

Rapid Application Development

Tools of the rapid application development approach include—

  • Joint Application Development sessions (JAD)
  • Specific Analysis and Design Techniques
  • Prototyping
  • Computer-Assisted Systems Engineering (CASE)

Software Bloc has focused its application development in the Finance, Aerospace, Automotive, and Utilities industries on all platforms. Support provided to the Client includes Functional System Maintenance, Regulatory Changes, Functional Enhancements, Product Design Validation, and facilitated Migration of applications and supporting hardware. Software Bloc also has a proven track record of enhancing applications to improve operational and functional efficiency.


Client support includes functional system maintenance, regulatory changes, functional enhancements, product design validation, and migration of applications and supporting hardware. Software Bloc has a proven track record of enhancing applications to improve operational and functional efficiency.

Project Management

A project manager is assigned to each project to assure fulfillment of the budget, and milestones.  The project manager is responsible for project planning, resource allocation, schedule updates, risk management, and customer communications.  All issues critical to project success are resolved in a timely manner.  Separate from the technical design and development team, the project manager gives these tasks first priority, using proprietary templates and ISO 9001: 2000-certified work instructions.

Quality Assurance

Software Bloc’s independent quality assurance group conducts all deliverable reviews and ensures that all work instructions and standards are followed on every project.  The QA group writes and executes the test plans and conducts customer acceptance testing at the customer site, as well as reviewing project management and configuration management deliverables to ensure that they adhere to client and Software Bloc standards.  Peer reviews are an essential part of the process.   At each step of the development life cycle, all the deliverables are reviewed by technical, quality and management representatives to ensure that they meet overall project and quality standards.

Customer Communications

Regularly scheduled written status reports include performance against budget and schedule, upcoming milestones, and outstanding issues and risks with their corresponding mitigation plans.