Blog Sin categoría

The customer, the requirements and agility

This topic, of course, is approached from the perspective of software development and as we know the world is changing faster and faster, partly that has given rise to Agile methodologies mainly to give faster solutions to the customer. These changes typically come through requirements. Requirements Engineering, or Requirements Engineering, has as one of the main objectives to provide both the customer and the developer, a mechanism that ensures an agreement with the functional and technical scope between the two. This discipline includes the transformation of an operational need into a system description, the definition of system performance parameters, and system construction and configuration by using an iterative process of analysis, design, prototypes, and final deliveries. The methodology for software development has been changing today the trend on the basis of the AGIL manifesto. The Agile Manifesto is a document written in 2001 by 17 programming experts that marked a radical change in the way software is developed. However, the need for Requirements Engineering remains as current as ever and is key to a successful solution. Typically, the tasks associated with Requirements Engineering are:

  • Collect information and investigate the problem, stakeholders and needs.
  • Analyze requirements, organize them, verify them and validate them.
  • Manage conflicts and changes. This can involve seeking approvals and prioritizations.
  • In "Agile" the refining of the requirements is carried out in stages according to the gradual evolution of the implementation. Without a doubt, the main source of information is stakeholders, so it is key to identify all stakeholders. Documenting is one of several ways to convey knowledge, but it is often key to Organizing that knowledge. However, it is common for software requirements not to be clearly expressed, or documented appropriately; although there are various methodologies, but they have a number of flaws, because they do not become understandable to everyone and sometimes do not reflect reality with the degree of accuracy necessary. The documentation also helps organize and discuss ideas, being an important factor in achieving a solution of excellence. It is also a fact that the requirements of a software project change, the related documentation is not updated and the changes are not communicated to all those interested in the development in a timely manner. Changes to requirements can significantly impact planning and even cause a change in application architecture. Today we know that it is a certainty that in software projects requirements change. A quality aspect of a requirement specification is precisely easily modifiable. Now the real changes are the ones that arise from new elements in the business environment, the others are the product of an interpretation that could be improved from the problem to be solved. When changes are requested at the end of a project, changes can produce an order of magnitude more expensive than if that same change had been initially requested. Therefore, it is necessary to note the importance of the opportunity of changes. Users usually know what they need, but on many occasions they don't know how to request it, let alone how to document it. For this process it is necessary that analysts can put themselves in the client's shoes. The attitude and competence of analysts is key. But what is each specification? Each requirement specification is the contract of the work to be performed between the client and the developer. A specification can be done by working with short implementation cycles to validate the quality of the work. Another goal of requirements analysis is to identify similar jobs to avoid developing everything again that the user asks for. Agile and Requirements Engineering are complementary: Agile we associate it with the concept of fast delivery of software running and Requirements research we associate it with the right software delivery concept. Misdirected speed is worthless. Depending on the nature of each project, there are different types of requirements that in turn have levels of detail. The number of requirements in a software project can be very large and difficult to control, but that control is a key part of acceptance. A full understanding of requirements management and therefore the affected part of the business is essential for the success of a software development. It doesn't matter how well designed or coded a program is if it hasn't been analyzed correctly. The user can usually get annoyed and the developer is often frustrated and loses motivation. The main relationship of the requirements management of a software project with the delay of the projects is that some aspects were beyond the initial scope, which was never documented, so a formal mechanism must be implemented to justify it. In the event of the need for an adjustment within the scope of the project, it is best to use a "change control" document so as to document how long the project could be delayed and also the additional costs. At CenCo we have the user experience and have a lot of built-in customer experience, have an active listener and proactively help improve specifications. We commit to them and meet the times. We're here to help transform business.

    Leave a comment

    Tu dirección de correo electrónico no será publicada.