|
Learn more about SyRIS
Our proven engineering process and attention to detail is what makes our team stand out amongst other consulting firms.
Having worked for years on projects with defense contractors and commercial entities, we have found that many are skilled in a wide variety of areas, but few have solid systems engineering and project management expertise in the software arena.
Our project teams actively employ a proven process and associated tools based upon “best practices” as advocated by the Software Engineering
Institute’s Capability Maturity Model.
Over the past ten years, DSoft Technology has continuously improved
its object oriented methodology and management processes. DSoft Technology
uses our success-proven systems engineering and earned value management processes to control and
guide custom software development. Managing diverse technologies and clients
requires a disciplined technical approach to produce
applications and support service on time and within our Client's available
budget and resources.
DSoft Technology follows a proven iterative engineering approach to architecting, developing, enhancing, and maintaining IT systems.
It applies collaborative and continuous improvement concepts to software development, emphasizing close collaboration between development teams and clients, frequent delivery of deployable code, face-to-face communication with clients, small teams, and identification of self-improvement activities. Our approach conforms to best practices used in the industry. These "best practices", championed and instituted by world-class IT firms, include: (1) Develop Iteratively, (2) Manage Requirements, (3) Use Component Architectures, (4) Model Visually, (5) Verify Quality, and (6) Control Changes.
One of software development's bitter truths is that, like it or not, requirements change.
Traditional waterfall techniques ignore this
fact and the result is a system that does not fulfill all the user's expectations. Our iterative approach allows for requirements to be factored into the design,
even at later stages of the development cycle, resulting in higher quality applications. We expect to receive feedback -- and actively seek it -- about our work,
and are prepared to incorporate that feedback into the requirements repository. Trying to baseline requirements too early in the life of a software
development project simply guarantees less than optimal project delivery.
Our Agile approach stresses 1) a common understanding of all requirements between the client’s software project staff and ourselves,
2) development of expert knowledge of the system's functionality, and 3) system documentation in SyRIS for reference, testing and maintenance.
|
|

1) Requirements and Fusion. DSoft Technology engineers
work with our Client's staff to review and refine the business objectives,
business rules, and detailed requirements. As the components are
defined, preliminary drafts are reviewed with the Client to
validate our approach and identify potential issues. This is an
iterative process maximizing Client input into the process.
The documents produced for the detail requirements package are reviewed with
the Client while in progress to identify and resolve potential issues.
Preliminary reviews of work in progress are held frequently to validate
our approach and to identify/resolve potential issues early on. The
real product of this process is the expert knowledge gained and
documentation from which the system will be built. Using a requirements
traceability matrix coupled with a testing process, we ensure
100 percent of the requirements are implemented in the delivered
product.
|
|

2) Analysis and Design. Based on the above requirements
and fusion process, dialog flow diagrams and prototyped conceptual
screen mock-up images are developed to "play back" the typical
usage scenarios to the users. In true use case fashion, we
prototype a series of user screens to represent the project's
business critical functions. Feedback from Client review is used to further refine the requirements.
|
|

3) Development. This step provides for the actual
code development. DSoft Technology will develop software according to best commercial coding practices. We
also encourage a rapid prototyping approach to deploy components to a test/staging server
as new functionality is made available. We proactively encourage
incremental reviews of our work-in-progress by our Clients to validate
the product is meeting all expectations.
|
|

4) Test and Evaluation. We understand operational
software products, having developed operational systems for the
government and commercial Clients that have to work 24x7. Therefore,
we dedicate significant time to testing the software
using a Multi-Tiered Testing Strategy including appropriate time
for 1) unit testing, 2) integration testing, 3) system testing,
4) user acceptance testing, and 4) build and deployment testing.
Testing will be performed in a test/staging environment specifically
designed for testing and staging software to the production system.
Although we perform informal unit testing in the development environment,
formal testing is based on test cases developed against the
final requirements set. We perform testing and inspections
of all project components to ensure the technical adequacy and accuracy
of all our work.
|
|

5) Deployment, Integration, and Optimization. This stage involves
final integration configuration and deployment to run properly in the Client's production environment. Working with Client project staff, we assist
in loading the software to the server and configuring it to run
properly. Once integration has been completed, Client acceptance testing
is initiated upon acceptance of the operational test report
and approval of the acceptance test plan from the previous phase.
DSoft Technology also provides assistance with operations, upgrades
and optimization of the solution as new requirements emerge. It
is at this point where the DSoft Technology warranty and maintenance periods start.
|
|
|