Assignment 1:3 – Revised Definition of “Agile”

Hi team,

Please find my revision of the “Three Definitions” assignment below. The assignment has been edited according to the feedback and suggestions recommended by Mila Tung.

Feel free to let me know if you have any questions or concerns!

Kind regards,
Jen


Introduction: Students will recognize the importance of definitions in technical writing as they work through this exercise. A situation and a relatively complex term will be chosen with an audience of non-technical readers. To differentiate between the levels of details required, the term will be defined in three specific ways: parenthetical, sentence, and expanded. It is important to understand how audience and purpose influence the need for definition and the selection for the appropriate level of detail.

Term: Agile

Situation: In software development, it is the project manager’s responsibility to successfully plan, design, execute, control, and close the assigned project. During the project’s initial elaboration (process of adding more details), key stakeholders attend the meeting to provide the project team with context and clarification on requirements. The key stakeholders consist of the customer, executives, project manager, project team, and sponsors. Taking into consideration that not all keyholders have technical knowledge, it is necessary to manage expectations properly; to do so, the project manager must educate the stakeholders on the benefits of utilizing Agile project management methodology. It is important to understand the life cycle of the project and how it will progress from beginning to completion.

Parenthetical Definition: Project managers commonly utilize the process of Agile (iterative project management methodology) in software development.

Sentence Definition: Agile is an iterative project management methodology that is mainly used in software development for its focus on collaboration, communication, and coordination.

Expanded Definition: Before Agile methodologies, traditional development models utilized a timeline approach. This process involves using a timeline that breaks down all required tasks in chronological order from beginning to completion of a project. However, a project timeline can hinder the speed and accuracy for meeting customer demands and expectations on time. These disadvantages from traditional development models eventually led the software industry to face “the application development crisis” or “application delivery lag” in the 1900s (Muslihat, 2018). Businesses began to progress faster than the software development process back then; the estimated time for an application, a category of software, to reach completion was approximately three years. By the time the application was complete, requirements and systems often differed from its original design. This hindrance within the software industry  influenced many frustrated professionals and experts to seek improvements in the software development process.

With a common goal of developing better software, seventeen experts in computer science and software engineering drafted the Agile Manifesto in 2001. The manifesto is composed of four foundational values and twelve key principles.

Foundational Values

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

Key Principles

  1. Customer satisfaction through early and continuous software delivery
  2. Accommodate changing requirements throughout the development process
  3. Frequent delivery of working software
  4. Collaboration between the business stakeholders and developers throughout the project
  5. Support, trust, and motivate the people involved
  6. Enable face-to-face interactions
  7. Working software is the primary measure of progress
  8. Attention to technical detail and design enhances agility
  9. Simplicity
  10. Self-organizing teams encourage great architectures, requirements, and designs
  11. Regular reflections on how to become more effective

The principles and values outlined by the manifesto are essential to Agile methodologies. The structure promotes iterative development with techniques focusing on collaboration, communication, and coordination. Agile methodologies are managed through a cyclic process from beginning to completion. During each iteration of the cycle, tasks can be refined and reprioritized making it easy to introduce changes for future iterations. Customers and other stakeholders can have more input by providing feedback after each iteration, which improves quality and realigns expectations. Linear, sequential approaches, such as the Waterfall method, are too rigid when speed and flexibility are paramount (Sacolick, 2020). Tasks are managed in sequential order, each task must be completed before starting another. These approaches leave little room for modifications and adaptability; a sudden change could render current work as useless because it may no longer be applicable for the project. On behalf of the inadequacies of traditional development methods, the Agile Manifesto was created and Agile methodologies were developed. 

The core concepts of Agile methodology can be broken down into six phases:

  1. Requirements – identify the current problems and gather information about requirements
  2. Plan – determine the cost and resources required for implementation
  3. Design – review the plan for feedback and suggestions to create an outline of specifications
  4. Develop – start the development process and verify defined requirements are met
  5. Release – deploy the software to production environment
  6. Track and Monitor – update and adapt when conditions or requirements change (Altvater, 2010)

FIGURE 1 Process of Agile project management

Once requirements and expectations are defined, they are placed in the product backlog (prioritized list of tasks) and the development process begins. A single iteration of Agile project management will consist of the six phases mentioned above. Each iteration will choose requirements from the product backlog for all phases to focus on until they are fully implemented. Each iteration will repeatedly take new requirements from the product backlog until all requirements are implemented and expectations are met. Once the product backlog has been depleted, the cycle will end and the project will be complete.

 

References

Altvater, A. (2020, April 8). What Is SDLC? Understand the Software Development Life Cycle [Web log post]. Retrieved September 27, 2020, from https://stackify.com/what-is-sdlc/

Muslihat, D. (2018, March 2). Agile Methodology: An Overview [Web log post]. Retrieved September 27, 2020, from https://zenkit.com/en/blog/agile-methodology-an-overview/

Sacolick, I. (2020, February 25). What is agile methodology? Modern software development explained. Retrieved September 27, 2020, from https://www.infoworld.com/article/3237508/what-is-agile-methodology-modern-software-development-explained.html

[Process of Agile project management]. (2019, May 17). Retrieved September 27, 2020, from https://miro.medium.com/max/700/1*5pIj9XMOGg30Z0s16puJ_A.png

Leave a Reply

Your email address will not be published. Required fields are marked *

*