We need to write extensible scientific software. Writing software in an extensible manner allows us to deliver usable partial applications before the deadline in order to get feedback from customers early in the development process. We can also build further projects on the same codebase and leverage the development of earlier projects. We need an application framework that lets us write extensible application.
Envisage provides a plug-in architecture for building applications. Plug-ins are the glue that assembles components into an application. They advertise where and how they can be extended by other plug-ins through 'extension points' and can contribute to extension points of other plug-ins. Discrete pieces of reusable functionality are broken off into separate plug-ins so that they may be reused in other applications. Envisage is part of our open source toolset.