Our approach for custom software development and integration efforts is rooted in government and industry best practices, coupled with CMMI Level 3 based software development methodologies. We use structured system analysis and design methodologies, tools, and processes for both requirements analysis and system design phases reflecting feasible government and industry best practices. The results are systems that achieve functionality, reliability and performance targets and align with business and mission objectives. We apply methodical CMMI-based Software Development Life Cycle (SDLC) processes to plan, design, build, test, and deliver quality software applications that meet the end objectives of our customers. Depending on the specifics of a custom solution development effort, we will work with the customer to establish the most appropriate SDLC model (such as waterfall, spiral, Agile, rapid prototyping, iterative or others) to accommodate the scope, schedule and budget of the effort.

Requirements Gathering

During requirements analysis and system design, our close attention to mission performance metrics (reliability, maintainability, availability, throughput, UI form and function, etc.) results in risk and cost reduction.  With our deep expertise in IA and cybersecurity, we incorporate security and privacy principles at each stage of analysis, design, and testing to ensure resulting systems are “secure by design” rather than bolted-on security mechanisms.  Our mission emphasis during design ensures the resulting systems will enhance the mission when deployed.  We employ users in iterative User Interface (UI) design to ensure easy navigation and intuitiveness are included in the design, which reduces training overhead later. During every stage of systems analysis and design, we provide detailed system documentation to reduce maintenance and training overhead for fielded systems. We compile requirements into a development support tool such as IBM DOORS or Rational Rose so that business requirements can be traced through to technical requirements and eventually to test scenarios.

Solution Design and Architecture

By creating or reengineering existing processes, we design the workflows for all required business processes. Business processes designed by Electrosoft will be optimized through the use of Six Sigma or Lean process techniques and will include roles and responsibilities and performance expectations for use and maintenance of the delivered system.

We develop detailed system design that meets the requirements developed during analysis and planning, decomposing the system to component sub-system design and available technologies. We focus on available off the shelf or open source technologies that can be adapted or configured to meet the as many of the requirements as possible. We will provide detailed interface criteria and specifications, security integration parameters, and data architecture. With an eye towards gaining an Authority to Operate (ATO), we ensure the systems and security design meets current cyber security requirements.

Solution Development and Vendor Product Integration

The goals of the integration and criteria for success are laid out in the analysis, planning, and design phases through user stories with established outcomes in an Agile approach, or target key metrics in a Lean approach. We build and test to the established criteria. We will execute the data migration plan, which will include data integration testing at all levels of system operation. The recurring sprints of the Agile approach typically result in the quickest production of capabilities and alignment to operational needs through well-crafted user stories and focused involvement of requirements, development and test personnel through the course of the sprint.

Java, .NET, Database, Web Development; Agile Methodologies

Through 15 years of serving Government and commercial customers on a variety of software development and solutions integration initiatives, Electrosoft has acquired the knowledge, skills and expertise to design, develop, build, test and field custom software solutions on a wide variety of platforms, including: Web and Web 2.0; Mobile platforms including iOS and Android; Database; Windows, Mac OS, Linux; TCP/IP and various protocols for client/server solutions; .NET / J2EE / J2SE / J2ME; and Multi Media.

We select the needed platforms and technologies appropriate for a particular effort based on the stated requirements and preferences of the customer; compliance requirements; the target user base and the level of interactions needed with users; standards applicable to the domain; interoperability requirements with other systems; the timeframe for completion of the effort; and the cost and maturity of the platforms/technologies options available. We provide guidance and recommendations to our customers in terms of the pros and cons of possible platform/technology options and help steer them in the optimal direction. 

Software Testing

Electrosoft helps our customers to set up test environments to support the most critical part of the software development lifecycle, namely the testing phase.  The testing phase identifies defects, verifies that the system or application meets the applicable business and technical requirements, and validates that the system is operating as intended to meet the needs of stakeholders. We build test frameworks and conduct testing to assure buyers that products and solutions meet functional, security and quality standards.