Agile development teams need to know exactly what they are working on and the goals of the project and iterations should be clear and well-defined. The Goals Not Defined or Poorly Defined smell is detected when the goals of the project or of a given iteration are not defined. The presence of this smell may indicate the development team does not have a clear view of the goals and therefore could not choose the most important work to do.
Agile Methods: Goals should be clear and well-defined is a practice mentioned by the following methods: Scrum, Crystal, DSDM, ADS and OpenUp. Scrum states that the iterations (called sprints in Scrum) should have well-defined goals. In Crystal methods, goals should be clear and developers should know exactly what the goals of the project are. The principle Focus On The Business Need in DSDM defines that every decision taken during a project must be guided by the project goals. Thus, it is important that these goals are well-defined and communicated to all team. In ADS, the development process should be mission-oriented (or goal-oriented) and the activities in each iteration (called cycle in ADS) must be aligned with the project mission. Thus, having a well-defined and clear goal is a key factor for ADS method. The development team in OpenUP method should be self-organized around how to accomplish iteration objectives.
Industry Perspective: All participants indicated - with different levels - that the agile smell is relevant. No additional comment was given.
Identification Strategy: Decide what is “clear and well-defined” could not be an easy decision specially since there is no pre-defined format to specify “goals” in agile method. Thus, we propose a simpler strategy that only verifies if the goals of the project and iterations are defined. To achieve this verification, specific fields should be used to describe the goals.
Parameters: A Min Length parameter could be used to specify the minimum length the goal description should have.