Step I. Project Overview
Last updated
Last updated
Agile software development comes with a well crafted planning before the actual development process. At the very beginning, as soon as a group project has been assigned by the professor, the project team must hold an overview meeting in order to fully understand the scope of the assignment. This includes the goals for the assignment, rough deadlines, and a general overview of the project. After understanding the entire scope of the project comes role distribution. Beyond the undergraduate level of software development, there are various expertise roles in the Software Development Industry (SDI) as a whole [7].
In a study conducted by Gurcan and Sevik to identify the expertise roles and skills required by the SDI, the top 20 in-demand expertise roles for software developers were identified [7]. As shown in Table 2, software developer/engineer and frontend developers are the two most-demanded expertise roles in the SDI. The diversity of expertise roles calls for meticulous planning during the project overview phase. The scope of the project will determine which roles are required throughout the project. If a project simply requires a backend demonstration, only the software developer/engineer positions would be required. However, if a project requires a frontend display, a frontend/mobile developer would be in demand. Note that this user manual targets Cornell CS students working on open-ended group projects. Therefore, we assume that our target audience have taken introductory programming courses and can handle intermediate software and web development.
Another important role that must be dealt with is the project manager. Agile thinking and project management calls for a new management that is structurally different from the common one in the traditional methodologies. The project manager should also be Agile to be able to participate as one of the Agile roles - developers [8]. In that case, the Agile definition of a project manager is synchronous with that of an undergraduate group project; all students, despite whoever the leader may be, must contribute as a developer. However, a project manager must take on additional duties such as assigning tasks, maximizing flexibility until the deadline, organizing meetings [8]. Therefore, a student who decides to take on the role as a project manager should be assigned less workload.
Figure 12 and 13 show different scenarios of work distribution with identical group members. While Figure 12 shows an example of a work distribution of a backend-heavy project, Figure 13 shows an example of a work distribution of a frontend-heavy project. On a Trello or Agile board, this would be where all of the tasks cards are created and put into the backlog.