Choosing Which Systems Development Method to Use?
The discrepancies between the three methods mentioned above are not as major as they seem at the beginning. The analyst needs to consider the organization, in all three strategies. The analyst or project manager then has to budget their time and money to create a plan for the project. First, they need to interview members of the company to gather comprehensive data using questionnaires to review data from current studies, and analyze how business is being transacted. Both of these behaviors have these three strategies in common.
Also the approaches do have parallels themselves. All the SDLC and object-oriented approaches require thorough diagramming and preparation. Both the agile approach and the object-oriented approach allow for the creation of subsystems one at a time before the entire framework is complete. Both the agile and SDLC methods are concerned with the way that data travels logically through the system.
So given the option of designing a program using an SDLC approach, an agile approach or an object-oriented approach, which one will you choose? The following table offers a set of guidelines to help you choose which approach to use in designing your next program.
|The Systems Development Life Cycle (SDLC) Approach||• systems have been developed and documented using SDLC|
• it is important to document each step of the way
• upper-level management feels more comfortable or safe using SDLC
• there are adequate resources and time to complete the full SDLC
• communication of how new systems work is important
|Agile Methodologies||• there is a project champion of agile methods in the organization|
applications need to be developed quickly in response to a dynamic environment
• a rescue takes place (the system failed and there is no time to figure out what went wrong)
• the customer is satisfied with incremental improvements
• executives and analysts agree with the principles of agile methodologies
|Object-Oriented Methodologies||• the problems modeled lend themselves to classes|
• an organization supports the UML learning
• systems can be added gradually one subsystem at a time
• reuse of previously written software is a possibility
• it is acceptable to tackle the difficult problems first