Revision Test Script
Appendix A
Proof of effectiveness of some of the agile methods used to develop systems requirements
In all software development methodologies, the process of collecting, understanding and managing all requirements for a system is a crucial process in software development. Similar to all this other methods, agile methods are not exceptional. Most agile method handle requirements in order to implement them as much accurately as possible to satisfy all the customer demands. This is usually achieved by maintaining a continuous interaction with the customers to address their needs according to priority and functionalities. In this appendix, we shall be focusing on continuous process of improving the development process.
Some agile methods include the following
1. eXtreme Programming (XP) – it improves a software project in communication, simplicity, feedback and courage.
2. scrum- this is an agile, iterative and incremental method which takes care of all changes that may come across in the life-cycle of the project. Basically, it adds energy, focus and clarity to development teams. Its major aim is ot see the whole system being a successful product.
3. Dynamic system, development method (DSDM)
4. Adaptive software development (ASD)- this is a development process that is a product of rapid application development. It has four phases of communication and planning, analysis, testing & deployment and design and deployment.
5. the crystal family
Due to availability of these various methods, the potential adopters may experience a challenge of determining what to apply on its own and therefore there was need to define a document containing all the necessary values and common qualities to be used across all agile methods. This document is the Agile Manifesto and focuses mainly on human interactivity and processes management.
1. Individual and interaction over various processes and tasks. Usually the agile process will focus more on people and their interactivity but not on the structural processes and tools.
2. Working software and documentation. Main objective of the developers is actually delivering a functional code which will always add value to our users. Well documented code is always self-documented.
3. Responding to change over planning. Here developers are required to respond very fast to the requirements variations. Time used in planning is minimal compared to what our users actually requires.
4. Customer collaboration over contracts. The mutual relationship of the developers and susers of our system is monitored and regulated through engaging the customer in the development process.
The figure below shows the steps in agile methodologies which focus on an iteration and adaptable change.
5.
Tools needed for requirement management in agile methods of system development.
1. The most popular tools in agile methods include paper, pencil a drawing pin board. If we consider eXtreme programming requirements are obtained from user stories which are short description of a single functionality in that has to be implemented in the system by developers. These are usually noted down on a piece of paper using a pencil and hang on a pin board.
2. Uml modeling tools. They are used to write a high level description of the program and to do a reverse engineering of the original code for the purposes of creating a documentation
3. Requirements negotiation tools. These tools are used to help developers and all users to plan on priorities and manage various requirements at various environments.
4. Instant messaging tools. Tools used to keep in touch with the customers. In our system we have integrated this tool to allow our customers obtain help in case they encounter any issue with our system.
5. Project management tools. These tools focus on specific practices and are used in the agile methods to assists in the storage and retrieval of requirements documents. For example accessing customers historical transactions with our systems or his profile in an electronic profile.
References
Abrahamsson P, Salo O, Ronkainen J, Warsta J (2002) Agile software development
methods: Review and analysis. EPSOO 2002, VTT Publications 478
Beck K (1999) Extreme programming explained: Embrace change.
Addison-Wesley, UKss