You are on page 1of 5

STUDENT ID: 816020005

Development
A mission critical system is a system that is essential to the survival of a business or
organization. When a mission critical system fails or is interrupted, business operations are
significantly impacted. A mission critical system is also known as mission essential equipment
and mission critical application. Examples of mission critical systems are, an online banking
system, railway/aircraft operating and control systems, electric power systems, and many other
computer systems that will adversely affect business and society when they fail. There are many
techniques that can be used to develop these types of systems, two of those techniques being
agile techniques and the systems development life cycle.
The Agile approach embraces the constant changes that occur in the development of technology
allowing teams to break the lengthy requirements, build, and test phases down into smaller
segments, ultimately delivering working software quickly and more frequently. Agile is designed
to accommodate change and the need for faster software development. The project leader
typically facilitates the work of the development team, eliminates bottlenecks, and helps the team
stay focused in order to deliver software iterations on a regular basis. It is less about milestones
than it is about hours, feature selection, prioritization, and meetings.
The Agile Process Flow can be broken down into six parts, concept, inception,
Iteration/Construction, Release, production, ongoing support of the software and lastly
retirement.
As with anything there are advantages and disadvantages of The Agile approach here are some
of the top advantages of Agile, End-goal can be unknown, agile is very beneficial for projects
where the end-goal is not clearly defined. As the project progresses, the goals will come to light
and development can easily adapt to these evolving requirements. Faster, high quality delivery,
breaking down the project into manageable units allows the team to focus on high quality
development, testing, and collaboration. Conducting testing during each unit means that bugs get
identified and solved more quickly. And this high-quality software can be delivered faster with
consistent, successive iterations. The agile approach promotes strong team interaction, Agile
highlights the importance of frequent communication and face-to-face interactions. Teams work
together and people are able to take responsibility and own parts of the projects. Customers are
heard, customers have many opportunities to see the work being delivered, share their input, and
have a real impact on the end product. They can gain a sense of ownership by working so closely
with the project team. Continuous improvement, agile projects encourage feedback from users
and team members throughout the whole project, so lessons learned are used to improve future
iterations.
While the level of flexibility in Agile is usually a positive, it also comes with some
disadvantages. Here are some of the disadvantages of Agile, planning can be less concrete, it can
sometimes be hard to pin down a solid delivery date, because Agile is based on time-boxed
delivery and project managers are often reprioritizing tasks, it’s possible that some items
originally scheduled for delivery may not be complete in time. Also, additional sprints may be
added at any time in the project, adding to the overall timeline. The team must be
knowledgeable, Agile teams are usually small, so team members must be highly skilled in a
variety of areas. They also must understand and feel comfortable with the chosen Agile
methodology. Time commitment from developers, Agile is most successful when the
development team is completely dedicated to the project. Active involvement and collaboration
is required throughout the Agile process, which is more time consuming than a traditional
approach. It also means that the developers need to commit to the entire duration of the project.
Documentation can be neglected, The Agile Manifesto prefers working software over
comprehensive documentation, so some team members may feel like it’s less important to focus
on documentation. While comprehensive documentation on its own does not lead to project
success, Agile teams should find the right balance between documentation and discussion. Final
product can be very different, the initial Agile project might not have a definitive plan, so the
final product can look much different than what was initially intended. Because Agile is so
flexible, new iterations may be added based on evolving customer feedback, which can lead to a
very different final deliverable.
The system-development life cycle enables users to transform a newly-developed project into an
operational one. This process is used to model or provide a framework for technical and non-
technical activities to deliver a quality system which meets or exceeds a business’ expectations
or manage decision-making progression. The aim of a system development life cycle is to enable
effective production of a high-quality solution that would meet or exceed a client’s expectations
throughout all its stages, within the given budget and timelines. The systems development life
cycle concept applies to a range of hardware and software configurations, as a system can be
composed of hardware only, software only, or a combination of both. There are seven steps that
SDLC follow, Analysis, Plan and requirements, Design, Development, Testing, Deployment and
Maintenance.
Just as the Agile approach the SDLC has advantages and disadvantages as well. There are many
advantages, the first of many being Formal review is created at the end of each stage allowing
maximum management control. This approach creates considerable system documentation, this
documentation ensures that system requirements can be traced back to stated business
requirements. It produces many intermediate products that can be reviewed to see whether they
meet the user’s needs and conform to standards. These can be further worked on if they require
tweaks to be made, ensuring that the business gets exactly what it needs. It is Simple to
understand and follow, the system reinforces good coding habits. Lastly, it provides a solid
structure.
There are always disadvantages with everything, what may be seen as a major problem for some,
end-user does not see the solution until the system is almost complete. Users get a system that
meets the need as understood by the developers; this may not be what was really needed for
them. There may be a loss in translation. Documentation is expensive and time-consuming to
create. It is also difficult to keep current. What may be current this month may not be the same
this time next year. Users cannot easily review intermediate products and evaluate whether a
particular product (e.g., data flow diagram) meets their business requirements. Another
disadvantage of a program or software that follows the SDLC program is it encourages stiff
implementation instead of creativity. There are requirements that must be met and that is all that
developers complete.
Being the CIO of a large insurance company, I need to manage the development of several
mission critical systems. I have a choice as to whether to use agile techniques or the systems
development life cycle. As the CIO the choice would be Agile techniques, it has become a
significant driving force behind software development in the vast majority of companies across
industries. This approach produces many release cycles where each iteration is tested, issues are
addressed, and feedback is obtained from stakeholders throughout the process. It involves
evolutionary development, continuous improvements, and flexible in the face of any changes.
References
1. Essentials: System Development Life Cycle [Guide]. (2019, November 07). Retrieved
November 24, 2020, from https://www.intellectsoft.net/blog/what-is-system-
development-life-cycle/

2. Advantages and Disadvantages of SDLC. (2013, March 03). Retrieved November 24,
2020, from https://eternalsunshineoftheismind.wordpress.com/2013/03/03/advantages-
and-disadvantages-of-sdlc/

3. Understanding the Agile Software Development Lifecycle and Process Workflow. (n.d.).
Retrieved November 24, 2020, from https://www.smartsheet.com/understanding-agile-
software-development-lifecycle-and-process-workflow

4. Agile Model: What Is It And How Do You Use It? · Airbrake. (2017, January 16).
Retrieved November 24, 2020, from https://airbrake.io/blog/sdlc/agile-model

5. About Mission Critical Systems & Applications. (n.d.). Retrieved November 24,
2020, from https://safecomputing.umich.edu/protect-the-u/safely-use-sensitive-data/
information-security-risk-management/mission-critical-systems-applications

6. Contributors, T. (2019, June 21). What is Systems Development Life Cycle? - Definition
from WhatIs.com. Retrieved November 24, 2020, from
https://searchsoftwarequality.techtarget.com/definition/systems-development-life-cycle

You might also like