Open Channel Foundation
I came across the Open Channel Foundation in a quick search for the NASTRAN source code. They provide software for a wide range of engineering and scientific applications.
Note: The NASTRAN source code costs around $4000 USD.
I came across the Open Channel Foundation in a quick search for the NASTRAN source code. They provide software for a wide range of engineering and scientific applications.
Note: The NASTRAN source code costs around $4000 USD.
Coming from an engineering background, I have seen the issues that well meaning engineers encounter when attempting to develop software.
These include:
As a result they often spend much of their time fighting with the software instead of solving the design or research problem. Additionally, the reuse and extensibility of the software is limited, resulting in significant rework.
Software Carpentry provides an excellent online course based on Open Source content intended to give scientists and engineers the fundamentals of software development.
I’ve had a couple of first hand experiences using both Follow the Sun and Remote Working models for both engineering design and software development. In each case the model was based on moving the work between sites in different time-zones/geographic locations and the results were mixed. Recently, the issue has come up again at work, as a result of a recent business acquisition and there have been numerous debates on how this might work. So the help clarify my thoughts, I want to consider the costs and benefits, together with some ideas for making and objective decision.
The effectiveness of software application frameworks such as Ruby on Rails, automated build tools like Maven, and architectural design patterns like Model-View-Controller, demonstrate the value of a structured approach to development tasks. For me, the expression “convention over configuration” really sums it up. When I’m developing an application I’m far more interested in the business logic rather than the inner workings of the framework or how I should structure an application.
Ruby on Rails achieves this goal by simplifying web application development and removing configuration decisions so that the developer can focus on solving the business problem. With this in mind I thought there may be value in exploring an equivalent framework for mechanical part and assembly design.
Agile software development methods evolved as a reaction to traditional project management methods that focused on documentation, change control and the linear execution of tasks. Agile methods recognize the complex and highly non-linear nature of software development and address the associated risks by encouraging a range of working practices. While these practices are well accepted within the software industry, they have not yet permeated into the more traditional engineering design disciplines found in the aerospace or automotive engineering industries. The following considers the how some of the main agile principles and practices associated with Scrum, eXtreme Programming and Test-Driven Development, could be applied.