Agile and Iterative Software Development

DLS Solutions Capabilities: Software Development

The core part of our business is constructing well-designed, robust and easy to use software packages. Our approach factors in your needs and combines a rich set of valuable additions that lead to winning solutions for you and your end user. We realize that the code is valuable, and so is the intellectual property that we inject into every bit of work we do, delivered to you with complete transparency and satisfaction.

The majority of our staff will engage in development. Since we are senior developers, we place a lower burden on your internal management, whether you are a large or small company. We tailor the exact development to you. Sometimes a strict process must be followed. At other times, a more flexible fast-track approach is needed. DLS has experience and capacity for both. Early in the project, we use interactive prototyping to discover the application needs. Soon thereafter, we will begin a form of iterative development, steer toward a convergent release cycle and finally enter deployment and release to the wild. The value of design quality will pay dividends for both solid development and ultimately reduce rework and lower testing time. DLS has successfully used an integrated team approach, developing a hybrid process that is efficient and effective.

Software design patterns have allowed the basic concepts of recurring software design problems to be moved from art form to engineering practices. On the other hand, high level patterns do recur and the concepts of singleton and facade patterns are not the end of the road. For example, a common requirement over the last 20 years for our clients has been for us to develop a system that allows the user to interface with an instrument control, handles input data, processes back-end algorithms and provides some form of file system or database. Components also play a significant part of this puzzle since the Holy Grail of programming is usually not the same in practice as the theoreticians would have liked it to be. Some additional patterns that DLS has mastered are the use of data simulators, ground-up design for sound testability for numerically rich systems and a sensible phased approach to deployment.