Agile Process Models - SCS - Ex - 3

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 15

Agile Process Models

Agile

➔ Why Agile?
➔ It was designed because of challenges in following traditional software development
methodologies. For example Waterfall
➔ Individuals and interactions over processes and tools
➔ Working software over comprehensive documentation
➔ Customer collaboration over contract negotiation
➔ Responding to change over following a plan
➔ Twelve Principles of Agile Software

https://agilemanifesto.org/
Advantages of Agile Process for SCS Development

➔ Respond more rapidly to changing requirements and make more frequent deliveries
➔ short development cycles punctuated by deliveries of software releases to
customers for review and feedback
➔ continuous integration
➔ Automated static analysis
➔ Code reviews
➔ Earlier discovery of problems
➔ Emphasising the organisation of work into small co-located teams [1]
Disadvantages of Agile Process for SCS Development
● Agile development favors incremental design, while safety standards mandate upfront design for
hazard analysis.

● Task completion often exceeds initial estimates, primarily due to integration complexities in safety-
critical systems projects.

● Requirements are difficult to modularise in safety-critical projects because the functionalities are
so interdependent that it is very hard to separate them.

● Software teams lose visibility during the integration phase. Agile methods lack guidance on
integration with hardware.
Disadvantages of Agile Process for SCS Development

● Requirements are difficult to modularise in safety-critical projects because the functionalities are so
interdependent that it is very hard to separate them.

● Frequent releases increase overheads and costs, because they must be accompanied by
supplemental documentation to achieve certification.

● Software, hardware, firmware and other teams in safety-critical systems work function
independently according to their own schedule causing plans to become mismatched.
Disadvantages of Agile Process for SCS Development

● Refactoring is another agile practice that would not fit naturally with the development of safety critical
systems. If code is refactored on a critical system, it has the potential to invalidate previous certification or
security analysis. This would cause extensive rework and would need to be avoided, whenever possible.[8]

● For safety critical system development there is need to have up front planning so that certification and
safety analysis can be carried out early in the project. However, up-front planning can be difficult to
perform following agile practices as requirements are volatile changes are welcomed and expected in an
agile project.[8]
V-Model XT (Vorgehensmodell XT)

● It is a modern German standard model widely used in companies, by officials or authorities, as well as by the
military for planning and execution of system development projects. The target group for V-Model XT are both
customers and contractors.

● The XT in it stands for “eXtreme Tailoring” highlighting the adaptability of the model to specific project
situations. Projects are classified using project types and the role one plays in a project, i.e supplier, acquirer or
both within an organisation.

● Project risk minimization, Guarantee of quality, Improving information security are some of the
advantages and parallel tasks being difficult to carry out, change requests not being integrated easily are
some of the disadvantages of the current version. [7]
All the decision gates in the V-Model XT version 1.3 [2]
The decision gates for the project of the acquirer and supplier respectively [2]
Including Agile Processes(eg:- SCRUM, XP) in V-Model XT

● Scrum and Extreme Programming (XP) are two popular IT project management methodologies that differ in their approach to
planning, documentation, and leadership roles. Scrum focuses on project management and teamwork, while XP focuses on
code quality and individual programmers' work.
● The combination of Scrum and the V-model of software development is made possible by the fact that the requirement
engineering is stretched over the entire duration of the project.
● In Scrum there is a separation between the actual development process (implementation and validation) and the requirement
engineering process. This separation does not exist in the V-model of software development. However, this point is exactly
where we can split the V-modell to make it compatible with the requirements of Scrum.
● Only if the customer is willing to prioritize his requirements accordingly and to coordinate them in a continuous process, the
combination of Scrum and classic development processes according to the V-model of software development can succeed.
[ 4,6 ]
In Conclusion

● This model, VMXT, does not entirely belong to neither linear model (e.g. Waterfall model, V – Model 97)
nor agile model (Extreme Programming XP, SCRUM). This is a model that, to be precise, will choose
whether the given project should use the linear model or agile model.

● The V – Model XT is a model that works well for development of a project which has the constraints about
time, budget and the most important features: the project has to have the specified functionality. This model
has a complex structure of components, including Project Types, Process Modules, Project Execution
Strategies. These components are connected with others and with the ‘extended tailoring’ provide a new
methodical way to develop systems and projects. [2]
How can this be done in practice?

Parallel Execution:
● Each V-Model phase corresponds to a specific aspect of system development (e.g.,
requirements analysis, design, testing).
● Agile iterations are conducted in parallel, focusing on the implementation of user
stories or features.

Tool Integration:
● Integrated tools provide a unified platform for project management, version control,
and testing, ensuring seamless collaboration between teams.
Continuous Communication:

● Open and continuous communication is crucial for successful integration.


● Regular meetings, joint reviews, and shared documentation help in aligning the V-Model and Agile
teams.

Example:
● During the design phase, Agile teams can work on implementing and testing specific features related
to the design requirements.
● Integrated tools provide a unified platform for project management, version control, and testing,
ensuring seamless collaboration between teams.
● Conduct regular cross-methodology meetings where V-Model phase milestones are discussed
alongside Agile sprint reviews.
References

1) Gibrail Islam, Tim Storer. “A case study of agile software development for safety-Critical systems projects”. Reliability
Engineering & System safety, vol 200, no.106954, August 2020.
2) Software Development Process Model: V-Model XT (Vorgehensmodell XT) - The V Model Overall Structure and Basic
Concepts. Posted By ANH VO on November 19,2016. Website Link:-
https://anhvnn.wordpress.com/2016/11/19/software-development-process-model-v-model-xt-vorgehensmodell-xt/
3) https://agilemanifesto.org/
4) https://www.baeldung.com/cs/scrum-vs-xp#:~:text=In%20summary%2C%20Scrum%20and%20Extreme,quality%20and%20
individual%20programmers'%20work
5) Boehm, B. (1988). A Spiral Model of Software Development and Enhancement. https://ieeexplore.ieee.org/document/59
6) https://www.agileskills.de/en/blogs/der-agile-blog/wie-man-scrum-und-das-v-modell-kombiniert
7) t2informatic -
https://t2informatik.de/en/smartpedia/v-modell-xt/#:~:text=The%20addition%20%E2%80%9CXT%E2%80%9D%20to%20th
e,model%20to%20specific%20project%20situations.&text=V%2DModell%20XT%20classifies%20projects,or%20both%20
within%20an%20organisation
8) Suitability of Agile Methods for Safety-Critical Systems Development: A Survey of Literature Mary Walowe Mwadulo
Department of Information Technology Meru University of Science and Technology:
https://ijcat.com/archives/volume5/issue7/ijcatr05071009.pdf
Thank You !

You might also like