Software Development

When a packaged solution is unavailable, too expensive, or just too robust for the purposes at hand, our team of project managers and software developers will work with you to design an application tailored to your specific needs and budget!Our custom web-based services employ modern relational databases and are always cross platform capable. Our custom software services include everything you will need for a complete business solution:


  • Analysis and Requirements Gathering
  • Design
  • Development
  • Testing and Performance Tuning
  • Implementation
  • Support

B Sharp's vast experience in software development and attention to emerging technologies and trends have helped us become proficient with an extensive list of tools and applications for programming, middleware and integration, webservers, database and database connectivity.  

Based on these experiences, informed by Agile software development methodology, and guided by the principles of the Project Management Institute (PMI), B Sharp's software development project methodology may be understood as consisting of four key phases: Evaluate, Elaborate, Build, and Transfer. Each of these steps are described in detail below.

 

 

 

 

 

 

 

 

 

 

 

Evaluate
During this phase of the project, B Sharp works with customers to confirm the scope of the undertaking, identify project sponsors, stakeholders, and general roles and responsibilities. A series of in-depth discussions is conducted among B Sharp project managers, designers/developers, and customer representatives. During the meetings, scope and budget are confirmed, a high-level plan/timeline established, and project reporting processes outlined (e.g. project plan and status updates, communication channels, frequency of updates, etc). The output of the evaluation phase is a document describing the confirmations and conclusions drawn from the steps above.

Elaborate
Based on the evaluation phase, B Sharp business analysts, project managers, designers/developers begin translating requirements into design specifications and wireframes. During this process of analysis and design, customer involvement is critical. To this end, regular interactions are encouraged via reviews and discussions on application wireframes (blueprints), technical design documents, workflow specifications, that are presented to clients for information and approval. To keep processes moving, development gets started during this phase. Throughout the process, clients are encouraged to participate in reviewing developed modules or sections of the application throughout the process. This not only ensures that clients are well informed, but also that they are provided the opportunity to validate what is being developed while it is being built thereby reducing the likelihood of major change requirements during later stages of the project (e.g. during user acceptance testing).

Beyond analysis and design, the Elaborate phase is the point at which quality assurance begins. Specifically, unit and function test scripts/cases are drafted and a quality plan tailored specifically to the project’s requirements is constructed. Infrastructure considerations are also addressed during the Elaborate phase. For instance, B Sharp works with the customer to confirm hardware and software needs, to design the build and deploy scripts for the project, and to establish an iterative release strategy (e.g. once a day, once a week, etc) to pre-user acceptance test environments.

Build
The build phase contains many elements of the previous two phases but focuses mainly on the actual programming/development of the solution. As with previous phases, customer involvement is encouraged here as well. For instance, wireframes are refined and tuned to ensure proper fit, customers review and provide ongoing feedback to the development team through the B Sharp project managers, who then document, organize and present information/assignments to business analysts, application architects, programmers, and quality assurance representatives. Testing and release processes and infrastructure plans are finalized during this phase. Scope adjustments, should they arise, are addressed during this phase as well. If there are changes, they are evaluated with the team as a whole, and determinations are made with respect to timing, necessity, etc. In many cases, B Sharp’s iterative development process enables quick absorption of new features and/or changes without impacting initial timelines. If a timeline adjustment is necessary, B Sharp will work with the customer to find options for phased releases so as to maintain existing deliverables schedules. Throughout the Build phase, all application source code is managed via certified source control systems and processes.

Transfer
By the Transfer phase, core programming has been completed and the focus of effort shifts to quality assurance / user acceptance testing. Reported defects are repaired and released for retesting. As with the Elaborate and Build phases, customer change requests are logged and addressed. Once the quality assurance team has signed off on the solution, user acceptance testing continues, following a well defined reporting and feedback process (B Sharp uses state of the art defect tracking and related feedback systems for both QA and UAT).

Other key elements of the Transfer phase are training/documentation and technical handoff. With respect to training, course materials and lessons are tailored to the needs of the client. Sessions are scheduled at a time and location convenient to the client. A B Sharp trainer runs the sessions, documents any questions/answers and follows up with updates to training guides and supporting documentation. Technical handoffs include detailed guides on how the application functions, and all the information necessary for an external IT team to support the application at the client site or a third party hosting facility (e.g. file locations, start/stop scripts, basic troubleshooting tips, etc). Throughout the process and afterward, B Sharp technical teams and support staff are available to assist with whatever questions or problems as they arise. Our goal is to ensure a successful transition which most notably includes customer satisfaction with the solution delivered.