Sustainability Report - neuron-team/vscode-ipe GitHub Wiki
As the development of neuron evolves beyond the boundaries of a Third Year Group Project, preparations have been made to ensure the sustainability and quality of the application in years to come. The manner in which neuron is developed in the future is an important issue which has been carefully thought out by the team.
Environmental Considerations
When Data Scientists carry out training using their machine learning algorithms, processes such as cross-validation on very large data sets can sometimes run for very long periods of time. This requires very large amounts of computational capacity over a prolonged period of time, which can consume substantial amounts of electricity.
The vast majority of researchers and companies carry out training algorithms on remote notebooks, which run on external servers that use GPU’s or specialized ASIC’s. neuron provides the functionality to run a remote notebook on an external device. Popular providers of cloud servers such as Microsoft Azure and Amazon Web Service have been creating sustainable carbon-neutral server solutions that run on combined solar power and battery storage. Recently, Microsoft created a data centre that was cooled by ocean water surrounding it, so electricity is not used for fan cooling. This collective push as an industry to create sustainable server solutions, ensures that experts in the Data Science industry can control their carbon footprint and reduce the negative environmental impacts caused by their activities.
Future development
When Microsoft takes neuron under their wing, they will be following their sustainable development guidelines. The guidelines indicate that throughout the lifetime of neuron, there will be a stream of stable releases, so users can choose which version they like the most and developers can customise this to their liking. The software structure of neuron is loosely coupled to the DOM, so if VS Code editor is updated then the team doesn’t have to do much to re-integrate the software. The speed at which most developers must respond to a VS Code update should be quick. Luckily, Microsoft will know what updates they are releasing in advance, thus neuron should be readily compatible before a public software update of VS Code.
Handover
The sustainable development of neuron in the future relies upon talented and dedicated developers, who must ensure the needs of the users are always the prime driving force behind updates. The developers should adhere to good practices, such as using an established framework, consistent version control and thorough documentation. A development strategy should also be adhered to such as agile development and the Scrum methodology in particular. In short, Scrum development consists of a scrum master that manages merge conflicts and a sprint period that could last two weeks, where there is a new product at the end of each sprint. In order to achieve constant stable releases, developers could have daily stand-up meetings to track progress and a retrospective review at the end of each sprint to try to improve performance in subsequent sprints.
Since our development team has 7 developers, waterfall development suited us more. However, for smaller teams, the Agile would usually be more appropriate as it efficiently aides in managing workloads based on developer strengths. A handover report has been created to help new developers on their journey to keep advancing the capabilities of neuron.