For my senior design project, we partnered with Alliant Energy to create a web-based application that helps Alliant and their contractors to find the optimal borehole size and packing layout for underground power cables. We started the project in Fall 2021 and it will be completed in Spring 2021.
In many situations, utilities companies like Alliant Energy prefer to bury power cables underground instead of the traditional over-head power lines. This helps protect the cable from the elements and therefore reduce cost of maintenance. Just like over-head cables, many power lines and ducts needs to be installed together. So underground cables are packed in a shell duct. To optimize cost, as well as provide accurate quotes for contractors who install the cables, a tool is required to find the smallest shell duct (and borehole) possible to pack all the required cables. The cable packer tool solves this problem by providing an online interface for users to calculate the optimal packing solution and export calculation results to interested parties.
For this project, my role on the team was UI and Requirements Lead, in addition to being a developer. As UI and Requirements Lead, I was in charge of creating visual mock-ups for the application in the initial stages, and verify those designs by performing user experience testing. We will then use those verified designs as a template to implement the final product.
Additionally, I helped with project planning by creating work-effort estimates for all the planned tasks. I broke down each task and estimated how many person-hours they will take.
In addition to role-specific contributions, the team and I all worked as developers, making progress during the implementation phase of the project. I write front-end and back-end code that fulfills the requirements, as well as working on dev-ops tasks that make the development and deployment process smoother. Finally, we write and perform various tests (e.g. unit tests, performance tests, and integration tests) to ensure that all requirements, both from the team and from our external stakeholders, are met.
Currently, my team has finished the initial project requirements as well as the project plan. We have met with out clients multiple times to ensure that we have the correct understanding of the issue at hand. We will start the development phase very soon once the UI mock ups are completed.
While we have not started the main development phases for the project yet, I have already learned a lot.
On the technical side, I have learned how to use the UI design tool Figma, which is also used in the industry. I also learned how to use gitlab task board to keep track of tasks for project management.
On the non-technical side, my team have started to go through the project proposal and planning phase. I learned how to communicate to clients to better understand their needs and requirements. We also created a detailed project requirements file, and project plan, which I have not done before for projects.
Lastly, I have learned a lot about team communication. We have a large team of 7, and it was initially hard to get everyone on the same page. To help with communication, we set up a dedicated team communication channel, and planned for 2 hours of team meeting each week, so we know that everyone will be available to work together at those times.