by Lee Maguire | April 30, 2021 | 4 min read
Having worked in this sector for just over a year now, there are a few things I have personally encountered that I think would be excellent learning opportunities for the industry at large. I am going to briefly discuss and give examples below around things that are essential for every software developer which I think easily could make any project’s management more fluid and robust.
Agile is used quite widely in software development and it comes down to an iterative process of the concept or idea for a piece of software. This is broken down into the smallest possible tasks, organised by priority and passed to the scrum master. The developers commit to complete the tasks for a sprint, which often is a 2-week period. These sprints are then delivered to the client and the process repeated until the software is complete.
One of the great things about agile is that you can choose to implement aspects of it that work per company or team size. The incremental addition of this methodology will improve the overall working structure of any team and the delegation of the work thanks to the flexibility and ability to adapt to changes in requirements or priority of tasks.
It additionally offers better quality results due to the amount of planning and discussion of requirements. Things are developed faster as the information you need to create the product or feature is collected at the right stage of the project. And the process creates a level of hygiene about the structure, the how and when a feature should be done – and does this while remaining flexible and keeping things digestible and easy to manage.
Software development is built around the concept of openly sharing ideas. Terms like ‘open source’ and ‘standards’ are cornerstones to developers around the world. Without this sharing, being a software developer would be much more difficult than it already is.
If the construction industry could be more open with file formats it would allow far more opportunities for integration and standardisation of data and transfer. This would enable everyone to work together and speak the same language, making the transfer of knowledge easier and more useful. Importing a file into other software could be much easier and save countless hours of manual work trying to convert from one format to another. On some of the projects I’ve worked on this has been a fairly sizeable sap on time and resources.
Version control is something that seems to be a manually managed affair within the construction industry. There is a lot of reliance on IT backups for when things go wrong. Software developers have been using version control for a long time now, but its not just for developers! It is easy to utilise version control on any folder.
I am going to briefly explain the process for using version control system GIT to manage changes in a folder. I use some software called GitHub desktop to show how you can create a folder, change it, and keep full historical records of the file changes and even change back to different points at time, effortlessly.
First, create a repository in which to save your file:
You are presented with this screen:
Go to the folder you supplied when you created the repository and add a file, the changes will appear in GitHub desktop:
We could at this point make branches and make it easier to work with other team members but for the sake of keeping things straightforward let us just use the ‘main’ branch by clicking the blue button.
Make another change to the folder and return to GitHub Desktop, you will be able to see all the changes listed.
So now we can commit to main again to save that history. We can go to the history tab and see the complete history of changes to the folder.
And even revert to a specific commit …
There are many more standards around this, but I just wanted to show how easy it could be to manage any folder you want to track. This, coupled with the feature to publish the history to a remote server for backup and collaboration purposes, could be a huge improvement to any team’s workflow for managing their file versions and collaborating with different teams on the same project.
I have discussed a few points around areas that construction could learn from software development, and I plan to keep driving improvement within BIM Academy and hopefully in the wider industry through standards and processes that are typically used within software development.
Member of the Ryder Alliance
+44 (0) 191 269 5444 [email protected]
Subscribe to our newsletter for our latest insights into all things digital.