SWE-7903 Group 2 - PlanIt CRM
Challenges
Overcoming the speedbumps of modern software development

Inexperienced with New Tools
-Added initial delays and slowed development
The team initially chose the project because we believed that we could use the more familiar React for the Frontend instead of Angular, but the client was firm on using Angular to match the company's other applications. Similarly, none of the team members had any extensive experience with Laravel and PHP, which slowed down Backend development and application comprehension as well.
No Documentation or Previous Developer Knowledge
-Slowed down documentation and development until a suitable understanding was gained
The sole original developer had left without creating documentation and the client had no intensive developer knowledge of the application, meaning that we had to directly investigate the Laravel project to first determine how it was structured and functioned before making any changes or design decisions.


Scope Creep
-Unknown issues ballooned development time
Due to a combination of the last two challenges, the developers underestimated the amount of effort required to meet the client's requirements. The entire process of exposing the Laravel routes as REST APIs was entirely unanticipated and almost doubled the scope of the project by itself.
Student Developers on a Semester Timeline
-Too little time, too many projects
As will always be the case with projects undertaken by students, supporting a large development effort over the course of a 4-month semester with other classes and life responsibilities is an extremely difficult challenge. At many times during this project, team members were unable to develop due to their jobs or assignments for other courses. This is a necessary part of student-led development and will likely remain so, unless the students themselves give up other obligations to compensate.
