iFour Consultancy Software Development Methodologies
iFour Consultancy
Software Development Methodologies
What is Software Development Methodology ?
It is the framework used to plan, control and structure the process of developing the information system.
Software Development is considered a subset of the systems development life cycle.
It includes the pre-definition of deliverables, artifacts created and completed by a project team for development or maintenance of the application.
Software Application Development CompanySource: http://www.computerhope.com
Agile ModelScrum ModelCleanroom ModelLean ModelXPFDD ModelTDD ModelRUP ModelDual Vee Model
Methodologies
Source: http://www.itinfo.am/eng/software-development-methodologies/ Software Application Development Company
• Group of software development methods• Based on iterative and incremental
development• Most important phrases• self-organizing, cross-functional teams• adaptive planning, • evolutionary development and delivery, • a time-boxed iterative approach,• rapid and flexible response to change.
• A conceptual framework
Agile
Source: http://istqbexamcertification.com/what-is-agile-model-advantages-disadvantages-and-when-to-use-it/
Software Application Development Company
• Scrum is an iterative and incremental agile software development framework• It is a flexible, holistic product development strategy and opposite to sequential approach.• In it the Development team works as an atomic unit
Scrum
Source: https://www.cprime.com/resources/what-is-agile-what-is-scrum Software Application Development Company
• The Cleanroom process embeds software development and testing within a statistical quality control framework.
• Mathematically-based software development processes are employed to create software that is correct by design, and statistical usage testing processes are employed to provide inferences about software reliability.
• This systematic process of assessing and controlling software quality during development permits certification of software fitness for use at delivery.
Cleanroom
Source: http://en.wikipedia.org/wiki/Cleanroom_software_engineering Software Application Development Company
It is a translation of lean manufacturing principles and practices
For e.g. Toyota Production System, Today it is a part of Agile community.
Lean (Kanban)
Source: http://istqbexamcertification.com Software Application Development Company
1. Eliminate waste2. Amplify learning3. Decide as late as possible4. Deliver as fast as possible5. Empower the team6. Build integrity in7. See the whole
Lean Principles
Source: http://scrummethodology.com/ Software Application Development Company
• It improves software quality and responsiveness to changing customer requirements.• It has frequent "releases" in short development cycles.• Introduce checkpoints where new customer requirements can be adopted.
Extreme Programming(XP)
Source: http://en.wikipedia.org/wiki/Software_development_process Software Application Development Company
Iterative and incremental development process.
An Agile methodDriven from a client-valued functionality
(feature) perspectiveMostly part of other methodologies
Feature Driven Model (FDD)
Source: http://scrummethodology.com/ Software Application Development Company
Relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.
• Test-first programming concept of extreme programming in the beginning• Today standalone methodology
Test Driven Development (TDD)
Source: http://en.wikipedia.org/wiki/Software_development_process Software Application Development Company
• An iterative software development process framework created by the Rational Software Corporation (IBM)• Not a concrete prescriptive process, but an adaptable framework, intended to be tailored
by the development organizations• It is expected to select elements of the process that are appropriate.
Rational Unified Process (RUP)
Source: http://www.itinfo.am/eng/software-development-methodologies/ Software Application Development Company
• It describes a model of complex development• For example:
• Hardware• Platform• Application software
• Development of a system's architecture is the “Big V”• Components’/entities’ developments are the
“small V”-s • It shows interactions and sequences of
developing a complex system and a system of systems.
Dual Vee Model
Software Application Development CompanySource: http://en.wikipedia.org/wiki/Software_development_process
http://istqbexamcertification.com/what-is-agile-model-advantages-disadvantages-and-when-to-use-it/
https://www.cprime.com/resources/what-is-agile-what-is-scrum/http://en.wikipedia.org/wiki/Cleanroom_software_engineeringhttp://scrummethodology.com/http://www.computerhope.comhttp://en.wikipedia.org/wiki/Software_development_processhttp://searchsoftwarequality.techtarget.com/definition/Scrum
References
Software Application Development Company