Electrosoft’s approach to 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. As a result, systems 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 specific 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.
During requirements analysis and system design, Electrosoft’s attention to mission performance metrics (reliability, maintainability, availability, throughput, user interface form and function, etc.) results in risk and cost reductions. We incorporate security and privacy principles at each stage of analysis, design and testing to ensure the resultant system is “secure by design” rather than relying on bolted-on security mechanisms. Further, our mission emphasis assures that the systems will enhance the organization’s ability to accomplish its mission.
We involve users in iterative User Interface (UI) design to assure it is both intuitive and easy to navigate. We find this approach later reduces overhead costs associated with user training. During every stage of systems analysis and design, we provide detailed 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 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. Then, we optimize them using Six Sigma or Lean process techniques. We include roles and responsibilities as well as performance expectations for use and maintenance of the delivered system.
Our detailed system designs meet the requirements developed during analysis and planning, decomposing the system to component subsystem design and available technologies. We focus on available off-the-shelf or open-source technologies that can be adapted or configured to meet as many requirements as possible. We provide detailed interface criteria and specifications, security integration parameters and data architecture. With an eye toward gaining an Authority to Operate (ATO), we ensure that systems and security designs meet current cybersecurity requirements.
Solution Development and Vendor Product Integration
In the analysis, planning and design phases, Electrosoft employs user stories with established outcomes in an Agile approach – or target key metrics in a Lean approach – to lay out the integration goals and criteria for success. We then build and test to the established criteria. We execute the data migration plan, which includes data integration testing at all levels of system operation. We find that the recurring sprints of the Agile approach typically result in the quickest production of capabilities. Well-crafted user stories, coupled the involvement of requirements, development and test personnel throughout these sprints, assure system alignment with operational needs.
Java, .NET, Database, Web Development; Agile Methodologies
Fifteen years’ experience serving Government and commercial customers equips Electrosoft with 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 such as .NET/J2EE /J2SE/J2ME; and multimedia.
We select platforms and technologies based on many factors. They include customer needs and preferences; compliance requirements; the target user base and their level of interaction; applicable domain standards; interoperability requirements; project timeframe; cost; and maturity of available platforms/technologies. We provide recommendations regarding the pros and cons of possible platform/technology options and guidance on the optimal direction.
Electrosoft helps customers set up test environments to support the most critical part of the software development lifecycle: the testing phase. The phase helps identify defects, verifies that applicable business and technical requirements have been met, and validates that the system is operating as intended to meet stakeholder needs. We build test frameworks and conduct testing to assure that products and solutions meet functional, security and quality standards.