Analyzing Cloud Solutions using SDLC
According to information technology experts, cloud-based solutions represents the next evolution of technology where resources and services will be presented to users through the online infrastructure i.e. the internet. This notion is well founded considering the diverse application of the technology where among other functionalities it will facilitate users to acquire resources they normally would not be able to afford. Moreover, cloud solutions have drastically changed the management of information where now there is increased access and scalability (Gartner Inc, 2013). In fact, according to Europa, the application of cloud solutions in 2016 was characterised by a 10 percent increase in major organisations where among many other requirements, the demand for self-services ushered the change. Furthermore, the elasticity of services and market environments facilitated the adoption of cloud-based solution a convenient outcome.
Now, at hand is a project led by the Commonwealth Government which hopes to enact a solution for its Healthcare system. This solution is to be based on the cloud platform and should have all the necessary aspects of a cloud solution most importantly data security owing to the nature of the data being held. Therefore, this report analyses cloud solutions based on the non-functional requirements of the users including its development process as outlined by the SDLC (Software development life cycle.
Cloud solutions offer a different view of the computational resources used to support IT functionalities, in this view, the components of technology such as hardware and software are made more flexible, dynamic and robust (Velagapudi, 2012). On the other hand, SDLC outlines the stages that are usually used by systems developers to design and implement applications or software such as the cloud packages. Based on this definition it’s easy to see that the outcome of different development processes will lead to different solutions based on the user requirement and the SDLC used. Therefore, a collaboration between SDLC and the cloud solution requirements facilitates the appropriate outcome (be it a service or solution) that defines an organisation’s objectives (Kathuria, 2011). Moreover, SDLC will offer two major approaches to system development which are predictive and adaptive SDLC, the focus of this report.
Based on the definition of the name, the approach implies a pre-determined process where different variable and parameters are outlined before conducting the process. Essentially, this outcome is true in this method where among other development requirements, the projects development stages are usually known and outlined before the process begins (Applitude, 2011). Moreover, all the parameters and variable of the project must be known such as the data to be used and the personnel involved. Consider the project at hand, the developer will have to know the number of departments, their data and security requirements among many other requirements. Furthermore, these requirements never change and will remain as defined in the start of the project until the end i.e. variations and adjustments are non-existent (Feher, 2013). In the end, a logical and sequential process is used from the start to end of the project. The waterfall method is a system development method that strictly follows the predictive approach as it uses a sequential process to achieve its goals.
Predictive Approach for Cloud Solution Development
Predictive approaches are simple and easy to apply as they follow a logical design that can be easily understood and applied to achieve the objective of a system development.
Secondly, since all the parameters are usually known, it’s easier to define the security measures to be enacted by a given project. The Health record project can clearly outline its security measures such as access because the users and owners are well known.
It’s an accountable approach since all process and activities involved are usually documented. This outcome increases the approach’s reliability as well as efficiency.
Furthermore, during development, the stakeholders are usually assured of results based on the outcomes of each subsequent stage of development.
Finally, the benefits highlighted facilitate the development timelines which are easily predicted based on the requirements and developer input (Mikoluk, 2013).
It’s highly inflexible based on the strict requirement of consistent inputs. Moreover, this inflexibility property is facilitated by its rigidity where simple adjustment can lead to total failure of the projects.
Secondly, it has a high dependency on the stages of development which highlights the risk of development as the development process may be delayed if a stage develops issues.
Furthermore, it has extended time frames as the final product (operational system) is only seen during the final stage of development (Gupta, 2014).
In this approach, the design parameter as also usually known, however, unlike the predictive approach, this method will facilitate the room for change. Therefore, in case the project’s development process experiences changes in requirements or parameters, the developers led by the development cycle can adapt to meet the new demands. In the project highlighted above, the project may experience changes in personnel where the users are changed e.g. a change in a department’s personnel. Moreover, the developers themselves may change because of o one reason or another, these outcomes will not halt the project if an adaptive approach is used as it will substitute the new requirements in place of the old ones (Orr, 2001). So, how is this outcome achieved?
Similar to other development cycles, the adaptive approach is made up of small sections that constitute the development cycle. Each of these sections will perform a unique task that is specialised on a particular functionality. Furthermore, these sections will never follow a logical process but will run concurrently and later compiled into a holistic solution (MSB, 2011). In addition to this, an iterative method where the life cycle is continuously repeated is used to perfect the final solution based on user requirements (which in this case are constantly changing). An example of this approach is the agile method which among other properties uses a comprehensive iterative process to achieve its final goal. The diagram below highlights the steps and iteration technique used.
- A highly flexible approach that easily meets the needs of the users and developers. Moreover, its flexibility is based on its design objectives which are characterised by change.
- Since the stages of development are usually conducted at the same time, it’s easier to achieve a project’s goals based on a strict timeline which makes the approach efficient.
- Today’s systems are user-centred to promote usability and operational outcomes, these requirements are met by the adaptive approach because the users are usually involved in the development process.
- As a result of user participation, the approach yields optimal solutions that usually have increased performance.
- Finally, it enhances collaboration because the different stages of development are conducted by different individuals based on their expertise. Moreover, they can conduct their functions simultaneously leading to the overall solution (Utexas, 2017).
- Its iterative approach makes it difficult to predict the final timelines of system development. Essentially, the predictive method is able to accomplish this requirement based on the logical flow of events, a non-existent outcome in this approach.
- Secondly, it requires highly trained personnel to adapt its solutions which make it expensive at times.
- Finally, it’s hard to represent its design procedures in a business setting as the variables in play are always changing.
Adaptive Approach for Cloud Solution Development
Based on the attributes outlined above for the predictive method, the following is understood; one it’s highly inflexible and two, it represents the traditional approach of meeting developer’s requirements. Therefore, its limited functionalities including the failure to adapt to change is a consequence of its development timeline where it was developed at a time when the industry had minimal user and developers requirements (Kommalapati & Zack, 2011). On the other hand, the adaptive approach seems to have all the answers for modern systems where based on its development cycle the system requirements are always met regardless of the changes experienced. Now, consider the system in need of development in this project, a cloud-based solution for a health department. While foregoing the needs of today, cloud solutions are characterised by constant changes as the digital platform varies based on the needs of the users
Therefore, from an overall assessment of the project, an adaptive approach is needed as its offers the best solution to meet the constantly changing requirements of the cloud infrastructure. Furthermore, consider the possible changes that may be experienced by the project itself. Departmental systems are usually characterised as long-term projects as they are meant to last for years. Therefore, the project at hand may serve as the foundational element for future systems which means at some point the existing system may have to change or adjust to new requirements including technological changes (SFU, 2014). In addition to this, the data in question may change while in the development process and so would the developers. An adaptive approach using its iterative techniques can easily meet these adjustments where each iteration stage is used to perfect the failures of the preceding stage.
Conclusion
Cloud-based solutions facilitate user flexibility, mobility and scalability through the digital platform. In essence, these operational efficiencies have pushed organisations and independent users to incorporate cloud-based solutions into their daily activities. For instance, it’s uncommon to find people storing their files and documents in storage facilities instead they now use cloud-based systems such as e-mails and online drives to store their resources. These facilities enhance the availability of their resources because they can be accessed from any location. Similarly, the Commonwealth Government hopes to capitalise on the same functionalities where its proposed project ‘My Health Record’ will incorporate cloud solutions into its information management system.
This report proposes an adaptive approach as a suitable method for implementing the said project as it offers the best outcome. For one, it will facilitate any changes seen in the development process including changes in personnel, technology or even the supportive data. Moreover, it enhances the usability of the system since it uses an approach that focuses on user’s needs. This outcome also enhances performance a factor that increases its reliability an important outcome for this project. Finally, the security of the system is met as each subsequent iteration stage incorporate the needs of the owner i.e. data protection.
References
Applitude. (2011). Plan-driven versus Agile = Predictive versus Adaptive. Chapter 2: Agile methodologies. Retrieved 19 May, 2017, from: https://www.applitude.se/2011/02/plan-driven-versus-agile-predictive-versus-adaptive/
Feher. D. (2013). What are the pros and cons of the waterfall and agile/scrum project management approach? Quora. Retrieved 24 January, 2017, from: https://www.quora.com/What-are-the-pros-and-cons-of-the-waterfall-and-agile-scrum-project-management-approach
Gupta. N. (2014). Project Management Life Cycle-Iterative & Adaptive. IZenBridge. Retrieved 24 January, 2017, from: https://www.izenbridge.com/blog/project-management-life-cycle-iterative-adaptive/
Kathuria. K. (2011). Software Development Lifecycle and Cloud Computing. Scribd. Retrieved 24 January, 2017, from: https://www.scribd.com/document/37345932/SDLC-and-Cloud-Computing
Kommalapati. H & Zack. W. H. (2011). The SaaS Development Lifecycle. InfoQ. Retrieved 24 January, 2017, from: https://www.infoq.com/articles/SaaS-Lifecycle
McCombs school of business (MSB). (2011). the System Development Life Cycle. Retrieved 24 January, 2017, from: https://utexas.instructure.com/courses/1166782/files/38198507/download
Mikoluk. K. (2013). Agile vs. Waterfall: Evaluating The Pros and Cons. Udemy blog. Retrieved 24 January, 2017, from: https://blog.udemy.com/agile-vs-waterfall/
Orr. K. (2001). Chapter 23. Adaptive Software Development. Collaboration is difficult, especially when it involves other people. Retrieved 19 May, 2017, from: https://www.exa.unicen.edu.ar/catedras/agilem/cap23asd.pdf
Sen. J. (2012). Security and privacy issues in cloud computing. Innovation labs, Tata consultancy services limited. Retrieved 24 January, 2017, from: https://pdfs.semanticscholar.org/4dc3/70d253020947a8e66b701e12dd0233161229.pdf
SFU. (2014). Systems Analysis and Design in a Changing World. Approaches to system development, Fourth Edition. Retrieved 19 May, 2017, from: https://www.cs.sfu.ca/CourseCentral/370/abhijits/LectureNotes/Chapter02.pdf
Utexas. (2017). The System Development Life Cycle. Retrieved 19 May, 2017, from: https://utexas.instructure.com/courses/1166782/files/38198507
Velagapudi. M. (2012). SDLC for Cloud Computing – How Is It Different From the Traditional SDLC? Retrieved 24 January, 2017, from: https://bootstraptoday.wordpress.com/2012/02/06/sdlc-for-cloud-computing-how-is-it-different-from-the-traditional-sdlc/