Information system methodologies
System development methodologies will affect the way systems are developed. It is important to understand the requirements of the system can meet the objectives of the users of the system. Choosing the methodology that will be used in developing a system will determine the way the system will be developed and how the developers will interact with the system. This paper will focus on the development approaches for the Westminster case study and offer recommendations on the best approaches that can be used to develop the system that is required.
Agile planning refers to the repetitive process where software is developed and given to the owner (customer) in developmental increments. In this approach, the system functionalities of individual increments are not planned prior to system development. What to include in an increment entirely depends on the customer’s priorities. Due to the likelihood of a change in the owner requirements it is important to put in place a flexible plan that house the changes.
Figure about agile development methodology
There are two approaches to agile planning according to Schwaber (2004) and Beck (2000) corresponding to the phase in plan-driven development and development planning. These are:
- Release planning that looks ahead for a couple of months and determines the features that the system should be in the release of the system.
- Iteration planning that is short-term and concentrates on the planning of the subsequent system increment which is normally two to four weeks of team work.
In extreme programming (XP), also called game planning, system specification is obtained from the user story and involved the development team and the representatives of the customer. The first step is for the team and customer to identify set of stories that exhibit the system functionalities that the end product should possess.
In the next stage, the project team reads and discusses the stories obtained from the first stage and these stories are ordered according to the estimated duration of story implementation. Here big stories are disintegrated into small stories. There is always difficulty in estimating the effort required for a particular item. It is also difficult to estimate the time that the same may take. To solve this issue, several to-do things are availed so as one can easily make judgments regarding which stories are lengthy and time-consuming. A story may have two to eight points depending on its difficulty. It is done for all the stories in the list.
Next after the story estimation, the translation of the relative effort into first estimate of the total effort that is required is performed and a concept of ‘velocity’ is employed. Velocity refers to the count of the implemented efforts per day, and this is achieved from experience or doing a sample then see the average time taken by each item in the sample space. This makes it possible for total time estimate to be calculated.
In the release planning approach, the main task is to select and refine the stories that show features to be implemented in the system to be developed. In this process involvement of the customer is of great importance. The date of system release is chosen, and consistency is checked considering the effort and the concerned stories and so some stories may be appended or eliminated from the list. In this stage, there are disagreements involved because there are many stories to do than there is time available for doing the same. Stakeholders also do have their priorities that they would like to be put into consideration. A better approach to overcoming this form of disagreements is to gather developing team and significant stakeholders on a negotiation table. After this step, the customers will be given the chance to write their story. The programmer’s gauge them, and the customers arrange them in order of precedence.
The first stage in the iteration development process is the iteration planning whereby the stories to be implemented are chosen for that specific iteration. They have the duration that reflects the estimated time to completely produce iteration and the velocity of the team. Completion of iteration is marked by the date of the iteration delivery. The next system release can be calculated by adding up effort points of already implemented stories.
For the start of the iteration there is associated detailed planning stage whereby the stories are broken down into developmental tasks each taking about 14-16 hours, and all tasks that have to implement are laid down. It is up to the developers then to sign up for tasks, and since they know the velocity, no one has to sign up for more tasks than can be implemented in time. From this approach, the entire team gets an overview of the tasks that have to be finished in a single iteration. They are, therefore, acquainted with knowledge of what other members of the team are undertaking and who to consult in case of dependencies in tasks. Another advantage is that there is a sense of ownership thus perfection since every developer chooses the tasks to implement considering his/her strengths.
Though the process is iteration, the process is reviewed or else the customer has to be conducted for advice so as to confiscate some stories from the specific iteration. In this approach time slippage is not allowed and so in case of time shortage, the scope of the task has to be reduced so as to beat the deadline of iteration release. It may result in a strain in the side of the customer since he/she may be forced to operate on an incomplete system leading to change of work practices between one system releases to another.
There are three phases of the iteration planning, namely: exploration phase, the commitment phase, and steering phase.
Structured development methodology
In structured software development, there is a course of action that is followed in order to achieve the needed plan of action. The structured approach follows a structure thathas been established for the entire development phase of the software. One of the common software development approaches is a waterfall model. Structured development approach was an idea that was developed from the process in which hardware was manufactured. It was developed from the fact that there was a structured approach through which software was developed. The structured approach follows a sequence of steps from the start to the completion of the project.A series of steps will be from defining the problem, planning, building, and testing the product. In this approach, the documentation of the requirements of the clients is done extensively. All the needs and the requirements of the client are noted, so that there is full understanding of the requirements of the client. The design of the software is then noted and the building of the system is then started. The software has to be understood so that the features and the requirements for the system are known in advance. In short, the idea in structured software development methodology is to understand the system before it is developed.
The best software development approach would be the agile methodology. It will suit the situation because of the cooperation that is lacking between the senior management and the developers. The senior management feels that there is no need to sponsor a software system fully at the moment. It is an issue of concern for the developers and the sponsors of the site.
In an agile development methodology, there will be an improvement of the current system. There will be no need to have a new development approach of the system. It will be developed in phases. It will not affect the service delivery and will fit the objectives of Westminster Foods Company. There is a need to have a methodology that will not be heavy for the users. From the description of the case, it is clear that there is no full support for the project. It calls for the project developers to ensure that there is an understanding of the project. Also, there will be ways in which the developers will have a system that is integrated to the website without having to disrupt the service delivery.
The order of development is to have the requirements of the website of the company. A company website should be improved to suit the needs that are required for the new system and the new business process. After the requirements have been known, there will be planning of the development. After the planning, there will be the implementation that will be followed by the testing of the system. All these will be done in iterations. It is a way in which the development of the system will be achieved with much ease and without any heavy funding required.
Baxter, G, &Sommerville, I 2011, Socio-technical systems: From design methods to systems engineering. Interacting with Computers, Vol 23, Issue 1, pg 4-17.
Cervone, HF 2011, Understanding agile project management methods using Scrum, OCLC Systems & Services, Vol 27, Issue 1, Pg 18-22.
Conboy, K, &Morgan, L 2011, Beyond the customer: Opening the agile systems development process, Information and Software Technology, Vol 53, Issue 5, Pg 535-542.
Dingsøyr, T, Nerur, S, Balijepally, V, & Moe, NB 2012, A decade of agile methodologies: Towards explaining agile software development, Journal of Systems and Software, Vol 85, Issue 6, Pg 1213-1221.
Friedman, B, Kahn Jr, PH, Borning, A, & Huldtgren, A 2013, Value sensitive design and information systems, In Early engagement and new technologies: Opening up the laboratory (pp. 55-95). Springer Netherlands.
Gandomani, TJ, Zulzalil, H, Ghani, AAA, & Sultan, ABM 2013, A Systematic Literature Review on relationship between agile methods and Open Source Software Development methodology, arXiv preprint arXiv:1302.2748.
Hong, W, Thong, JY, Chasalow, LC, & Dhillon, G 2011, User acceptance of agile information systems: A model and empirical test, Journal of Management Information Systems, Vol 28, Issue 1, Pg 235-272.
Iivari, J, & Iivari, N 2011, The relationship between organizational culture and the deployment of agile methods, Information and Software Technology, Vol 53, Issue 5, Pg 509-520.
Karlsen, JT, Hagman, L, & Pedersen, T 2011, Intra-project transfer of knowledge in information systems development firms, Journal of Systems and Information Technology, Vol 13, Issue 1, Pg 66-80.
Keith, M, Demirkan, H, & Goul, M 2013, Service-Oriented Methodology for Systems Development, Journal of Management Information Systems, Vol 30, Issue 1, Pg 227-260.
Kruchten, P 2013, Contextualizing agile software development, Journal of Software: Evolution and Process, Vol 25, Issue 4, Pg 351-361.
Leau, YB, Loo, WK, Tham, WY, & Tan, SF 2012, Software Development Life Cycle AGILE vs Traditional Approaches. In International Conference on Information and Network Technology (Vol. 37, No. 1, pp. 162-167).
Mohan, K., & Ahlemann, F. (2013). Understanding acceptance of information system development and management methodologies by actual users: A review and assessment of existing literature. International Journal of Information Management, 33(5), 831-839.
Nerur, S., Cannon, A., Balijepally, V., & Bond, P. (2010). Towards an understanding of the conceptual underpinnings of agile development methodologies. In Agile Software Development (pp. 15-29). Springer Berlin Heidelberg.
Persson, J. S., Mathiassen, L., & Aaen, I. (2012). Agile distributed software development: enacting control through media and context. Information Systems Journal, 22(6), 411-433.
Petkov, D., Petkova, O., Sewchurran, K., Andrew, T., & Misra, R. (2012). The work system method as an approach for teaching and researching information systems. In Information Systems Theory (pp. 413-424). Springer New York.
Siau, K., & Rossi, M. (2011). Evaluation techniques for systems analysis and design modelling methods–a review and comparative analysis. Information Systems Journal, 21(3), 249-268.
Thummadi, B. V., Shiv, O., Berente, N., & Lyytinen, K. (2011). Enacted software development routines based on waterfall and agile software methods: socio-technical event sequence study. In Service-Oriented Perspectives in Design Science Research (pp. 207-222). Springer Berlin Heidelberg.
Vijayasarathy, L., & Turk, D. (2012). Drivers of agile software development use: Dialectic interplay between benefits and hindrances. Information and Software Technology, 54(2), 137-148.
Wang, X., Conboy, K., & Cawley, O. (2012). “Leagile” software development: An experience report analysis of the application of lean approaches in agile software development. Journal of Systems and Software, 85(6), 1287-1299.