Some previous research has classified the types of tasks performed during software development based on the Research objectives Table 1 lists examples of software development tasks from literature ,,. Different researchers have used different definitions, terms, and classifications for the tasks involved in software development. Literature on software development tasks & activities indicate that software developers work on various tasks as part of their day-to-day responsibilities. Similarly, wherever possible, developers will try to avoid an undesirable task or activity. When a task is desirable, given a choice, developers would like to work on such a task or activity. Task desirability has to do with the pleasure of a task or an activity, i.e., working on a desirable task will make the developer happy . Desirability is the quality of being worthy of desiring, liking, wanting. The term ‘developers’ represents testers, programmers, architects, and all other roles involved in software development. This study explores another similar human aspect, i.e., task desirability and undesirability as perceived by developers (referred to as (un)desirability throughout the paper). With a growing interest of the software engineering community in investigating the human aspects, numerous researchers have explored developers’ feelings and behaviours such as happiness , frustration , and emotions . For example, non-technical activities such as formal and informal team discussions can provide input on technical tasks such as implementation details or architectural solutions. Both technical and non-technical tasks and activities play a significant part in software development. Roles like programmers and testers are also seen to share these responsibilities. These tasks and activities could be performed by dedicated roles such as scrum masters, business analysts, technical writers. Examples of non-technical tasks are creating user guides, conducting feasibility studies, preparing demos, and coordinating with other teams. They may not require technical skills, but for some non-technical tasks, these skills are good to have. Software development also involves non-technical tasks and activities. These technical tasks are done by dedicated roles such as developers, testers, or architects. Some examples of technical tasks are implementing a new feature, maintaining features, fixing bugs, migrating data, configuring environments, reducing technical debt, and providing technical support such as reviewing code for other teams. Technical tasks require technical skills to accomplish, e.g., core development, testing, and automation skills. Software development tasks and activities are both technical and non-technical/collaborative. Similarly, fixing a bug or an issue requires familiarity and specific knowledge of the developed feature. For example, coding a new feature or enhancing an already working feature would have different requirements compared to documentation, design, or support tasks . Some tasks may require cooperation and collaboration among members, while others may require more intellectual and cognitive work. These tasks vary in terms of effort involved, thought process, intellectual/cognitive load, and stakeholder communication. We refer to such technical tasks and non-technical/collaborative activities as ‘tasks’ in this paper. Activities are interactions to accomplish any task, e.g., discussions, meeting, debugging, or testing . Tasks are high-level work assignments, e.g., new features and bug fixes. Software development involves working on technical tasks and collaborative activities .
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |