1. Over the past few decades all sorts of efforts have been made to try to improve the outcome of the system building process. Agile is another step forward and we should know more about that but we also need to explore why this is such a challenging process, as the methodologies may come along and reduce some of the effort and risks but they’re still there today.
a. How has the emergence of agile methodologies changed the IT system building model?
Agile methodologies were introduced as a response against the traditional waterfall methods, which were considered slow, inflexible, bureaucratic, and inconsistent with the manner by which software developers effectively perform their work (“Agile Methodologies,” n.d.). Whereas the waterfall methodology follows a sequential process where a project must go “through the phases of conception, initiation, analysis, design, development and testing” (Dave, 2011), the agile methodologies are centered around short sprints where developers try to fix defects as quickly as possible and where a working software is written between four and six weeks. Whereas the waterfall method requires that all specifications be defined before the development process begins, the agile methodology entails that specifications be identified and modified during the development process. As such, it is customary for new features, enhancements, and feature changes to be introduced as the software is being developed. This also requires constant communication among the developers and other stakeholders through daily meetings.
b. What are some of the reasons this is such a difficult process.
One of the reasons for this is that the agile methodology requires collaboration and active user involvement (Waters, 2007). Ideally, there should be daily face-to-face meetings. It is also ideal for all the developers and other project team members (designers, technical writers, testers, etc.) to work in the same room where they can easily talk to each other. However, this may not always be possible, given that not all companies have the resources to support such a setting. In addition, most software development companies have offices and customers in different parts of the world. One challenge is then to provide the necessary audio, video, and telephony equipment to enable communication for people from different locations. Another problem with this is finding a common time when everyone will be available. The U.S. alone has different time zones; what more if the development team is in India, for example, and the designers are in Australia, while the customers and project managers are in the U.S.
Another disadvantage is that, with no fixed requirements defined at the beginning of the projects, the scope can continuously evolve. There is the risk of scope creep where the project’s scope keeps growing to the point that there seems to be no end to the project. The project also becomes much less predictable, making it difficult to ascertain what the project will actually deliver. This can then pose problems when it comes to defining a business case for the project and when negotiating a fixed price. To make the project succeed, it is required for the project team to have a clear and strong vision, as well as the discipline of trading scope and fixing timescales.
As well, since the project’s requirements are barely defined at the beginning of the project, it can pose problems for new members of the tem as they will have insufficient information to get oriented with the project, given that there will be little documentation available. It can also lead to misunderstandings among the project team members and can pose difficulties for testers who are used to working with everything defined from the start. This risk is handled through the frequent delivery of the product and through the incremental approach to development.
However, even the frequent delivery of the product can be disadvantageous in that user acceptance testing becomes a continuous process, which requires the product owner’s readiness and availability for prompt testing. This in turn can be tedious and time-consuming.
Still another disadvantage is that with the agile methodology, testers need to be involved throughout the project, which can increase the cost of resources on the project. In particular, the cost of a long and unpredictable test phase can result in large unexpected costs, especially in the case of project over-runs.
Finally, developers find agile development very intense where the need for completing each feature within each iteration can become mentally taxing. As such, there is a need to provide the team with a sustainable pace.
c. How do tools like the agile methodologies help us improve the likely outcome?
The agile methodology is flexible, communications-oriented, and people-focused, which enables the project team members to adapt to changes at any time. It also allows customers to provide feedback during the development process. In addition, it is fast in that it encourages quick and iterative product development in small releases. It is also lean in that it focuses on minimizing the cost and timeframe, as well as on improving the quality. It also promotes responsiveness in that it enables the project team members to appropriately react to expected and unexpected changes. As well, it promotes learning as it focuses on improving the product, both during and after the product development.
With the development tem being able to respond to change, they are also able to continuously deliver business value. As well,
agile methods generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. (“Agile Methodology,” n.d.).
2. What role does senior management play in the establishment of effective information system planning in a corporation? What are some of the ways that enlightened senior management makes this happen?
Senior management would play a big role in that their buy-in and cooperation would be necessary for the changes that need to be made in the organization’s standard operating procedures and business processes, which would in turn be needed for the proper implementation of an information system (“Chapter 3,” n.d.). These changes will also likely be met with political resistance from the different areas of the organization and so senior management’s role in preventing and resolving these conflicts would be important.
In the same manner, the implementation of an information system would introduce some changes in organizational culture, and senior management’s support would be needed for guiding this initiative. Even when the organization’s culture doesn’t adapt to the change right away, it would be senior management’s role to gradually introduce or effect this change after the information system has been implemented.
As well, it is senior management’s role to ensure that the implementation of the information system would abide by any regulations or policies that may apply to them and that the system is capable of adapting to possible future changes in these polices. Moreover, senior management should ensure that the organization has enough resources to cover for any problems that may be encountered during the system’s implementation, examples of which can include system downtimes or the lack of IT resources. Similarly, senior management should ensure that it has enough resources to enable the members of the organization to adapt to the many organizational changes that will result from the system implementation.
This would include the provision of trainings, orientations, and the like.
Finally, the implementation of an information system may also cause changes in the organization’s structure and senior management should be responsible for driving this change. In addition, senior management should ensure that the information system follows the proper flow of information throughout the organizational hierarchy.
References
Agile methodologies. (n.d.). Retrieved from http://www.umsl.edu/~sauterv/analysis/6840_f09_papers/Nat/Agile.html#Intro
Chapter 3: Information systems, organizations, and strategy. (n.d.). Retrieved from
http://www.prenhall.com/behindthebook/0132304619/pdf/Laudon%20Feature%203.pdf
Dave, R. (2011, August 8). Web development methodologies: Agile vs waterfall. Retrieved from http://www.cmswire.com/cms/web-cms/web-development-methodologies-agile-vs-
waterfall-012266.php
Waters, K. (2007, September 4). Disadvantages of agile development. Retrieved from http://www.allaboutagile.com/disadvantages-of-agile-development/