SlideShare a Scribd company logo
1 of 4
Ss. Kiril and Metodius – Faculty od Economics, Skopje
Vaska Chobanova index no: 4712

                   Homework 1: Information Systems Development Methodologies

This purpose of this paper is to give an understanding of the information systems development
methodologies available. A software development methodology or system development
methodology in software engineering is a framework that is used to structure, plan, and control
the process of developing an information system. Here are some iterative methodologies that can be
used especially for large projects and some of their characteristics.
Spiral Model
The idea is evolutionary development, using the waterfall model for each step; it's intended to help
manage risks. Don't define in detail the entire system at first. The developers should only define the
highest priority features. Define and implement those, then get feedback from users/customers (such
feedback distinguishes "evolutionary" from "incremental" development). With this knowledge, they
should then go back to define and implement more features in smaller chunks. Each iteration of the
prototype represented as a cycle in the spiral. The Spiral software development model is a risk-
oriented. Use the spiral model in projects where business goals are unstable but the architecture
must be realized well enough to provide high loading and stress ability.
Recognizing:
 1. Focus is on risk assessment and on minimizing project risk by breaking a project into smaller segments
    and providing more ease-of-change during the development process, as well as providing the opportunity
    to evaluate risks and weigh consideration of project continuation throughout the life cycle.
 2. Each cycle involves a progression through the same sequence of steps, for each portion of the product
    and for each of its levels of elaboration, from an overall concept-of- operation document down to the
    coding of each individual program.
 3. Each trip around the spiral traverses four basic quadrants: (1) determine objectives, alternatives, and
    constraints of the iteration; (2) evaluate alternatives; identify and resolve risks; (3) develop and verify
    deliverables from the iteration; and (4) plan the next iteration.
 4. Begin each cycle with an identification of stakeholders and their win conditions, and end each cycle with
    review and commitment.
Phases:
 1. Project Objectives. Similar to the system conception phase of the Waterfall Model. Objectives are
    determined, possible obstacles are identified and alternative approaches are weighed.
 2. Risk Assessment. Possible alternatives are examined by the developer, and associated risks/problems are
    identified. Resolutions of the risks are evaluated and weighed in the consideration of project
    continuation. Sometimes prototyping is used to clarify needs.
 3. Engineering & Production. Detailed requirements are determined and the software piece is developed.
 4. Planning and Management. The customer is given an opportunity to analyze the results of the version
    created in the Engineering step and to offer feedback to the developer.
Variations. Win-Win Spiral Process Model is a model of a process based on Theory W, which is a
management theory and approach "based on making winners of all of the system's key stakeholders
as a necessary and sufficient condition for project success."
Incremental Development
Here the project is divided into small parts. This allows the development team to demonstrate results
earlier on in the process and obtain valuable feedback from system users. Often, each iteration is
actually a mini-Waterfall process with the feedback from one phase providing vital information for
the design of the next phase.
Recognizing:
1. A series of mini-Waterfalls are performed, where all phases of the Waterfall development model are
     completed for a small part of the system, before proceeding to the next increment; OR
Homework 1 ISDM                                                               Vaska Chobanova index no: 4712
2. Overall requirements are defined before proceeding to evolutionary, mini-Waterfall development of
    individual increments of the system, OR
3. The initial software concept, requirements analysis, and design of architecture and system core are defined
    using the Waterfall approach, followed by iterative Prototyping, which culminates in installation of the
    final prototype (i.e., working system).
Phases:
 1. Inception. Identifies project scope, risks, and requirements (functional and non-functional) at a high level
    but in enough detail that work can be estimated.
 2. Elaboration. Delivers a working architecture
 3. Construction
 4. Transition
Variations . A number of process models have evolved from the iterative approach. All of these
methods produce some demonstrable software product early on in the process in order to obtain
valuable feedback from system users or other members of the project team. In some, the software
products which are produced at the end of each step (or series of steps) can go into production
immediately as incremental releases.
Prototype Model
The prototype model is used to overcome the limitations of waterfall model. In this model, instead of
freezing the requirements before coding or design, a prototype is built to clearly understand the
requirements. This prototype is built based on the current requirements. Through examining this
prototype, the client gets a better understanding of the features of the final product. The processes
involved in the prototyping approach are shown in the figure below.
Recognizing:
1. Not a stand alone, complete development methodology, but rather an approach to handling selected
   portions of a larger, more traditional development methodology (i.e., Incremental, Spiral, or Rapid
   Application Development (RAD)).
2. Attempts to reduce inherent project risk by breaking a project into smaller segments and providing more
   ease-of-change during the development process.
3. User is involved throughout the process, which increases the likelihood of user acceptance of the final
   implementation.
4. Small-scale mock-ups of the system are developed following an iterative modification process until the
   prototype evolves to meet the users’ requirements.
5. While most prototypes are developed with the expectation that they will be discarded, it is possible in some
   cases to evolve from prototype to working system.
6. A basic understanding of the fundamental business problem - necessary to avoid solving wrong problem.
Phases:
 1. Requirements Definition/Collection. Similar to the Conceptualization phase of the waterfall model, but
     not as comprehensive. The information collected is usually limited to a subset of the complete system
     requirements.
 2. Design. Once the initial layer of requirements information is collected, or new information is gathered, it
     is rapidly integrated into a new or existing design so that it may be folded into the prototype.
 3. Prototype Creation/Modification. The information from the design is rapidly rolled into a prototype. This
     may mean the creation/modification of paper information, new coding, modifications to existing coding.
 4. Assessment. The prototype is presented to the customer for review. Comments and suggestions are
     collected from the customer.
 5. Prototype Refinement. Information collected from the customer is digested and the prototype is refined.
     The developer revises the prototype to make it more effective and efficient.
 6. System Implementation. In most cases, the system is rewritten once requirements are understood.
     Sometimes, the Iterative process eventually produces a working system that can be the cornerstone for
     the fully functional system.
Variation. A popular variation is called Rapid Application Development (RAD). It introduces strict time
limits on each development phase and relies heavily on RA tools (allow quick development).
                                                                                                               2
Homework 1 ISDM                                                              Vaska Chobanova index no: 4712

Comparison of models
Besides the characteristics described earlier in this document, here I make a contrast of the models
by listing the positive and negative sides of each.
ISDM        Advantages                                              Disadvantages
Spiral         Allows development to begin even when all the          Involves higher cost - needs to be
            system requirements are not known or understood          iterated more than once
            by the development team                                   Not suitable for smaller projects
               Good for large and critical projects                   Project success depends on the risk
               Working software is produced early in the             analysis phase - hence, it requires highly
            lifecycle                                                specific expertise in risk analysis
               Large amount of risk analysis and incorporates         Limited reusability
            prototyping as a risk reduction strategy                  No established controls for moving from
               Can incorporate Waterfall, Prototyping, and           one cycle to another cycle, no firm
            Incremental methodologies as special cases in the        deadlines, lack of milestones
            framework                                                 Management is dubious
               Focus on early error detection and design flaws
               Identical approaches for development and
            maintenance
Incremental    Potential exists for exploiting knowledge gained       Very rigid and do not overlap phases
            in early increments.                                      Not all the requirements are gathered
               Moderate control over the life of the project        before starting the development; this
            through the use of written documentation and the        could lead to problems related to system
            formal review and approval/signoff by the user and      architecture at later iterations.
            information technology management at designated           The user community needs to be
            major milestones                                        actively involved throughout the project -
               Stakeholders can be given concrete evidence of       time of the staff, project delay.
            project status throughout the life cycle.                 Communication and coordination skills
               Helps to mitigate integration/architectural risks.   take central stage in the development.
               Allows delivery of a series of implementations         Informal requests for improvement
            that are gradually more complete and can go into        after each phase may lead to confusion -
            production more quickly as incremental releases         controlled mechanism for handling
               Gradual implementation provides the ability to       substantive requests needs to be
            monitor the effect of incremental changes, isolate      developed.
            issues and make adjustments before the                    Possible “scope creep (user feedback on
            organization is negatively impacted                     each phase increases customer demands.
Prototype      Benefits from user input                               No “Current” Documents
                As a working model of the system is provided,         Increases complexity of the overall
            users get a better understanding of the system that     system
            is being developed                                        Involves exploratory methodology and
                Errors and risks can be detected at a much          therefore involves higher risk.
            earlier stage, as the system is developed using           Involves implementing and then
            prototypes                                              repairing the way a system is built, so
                Addresses: inability of many users to specify       errors are an inherent part of the
            their information needs; difficulty of systems          development process.
            analysts to understand the user’s environment             Can lead to false expectations and
               Can be used to realistically model important         poorly designed systems.
            aspects of a system during each phase of the              Approval process and control is not
            traditional life cycle                                  strict.
               Improves user participation in system                  Requirements may frequently change
            development and communication among project             significantly.
            stakeholders

                                                                                                              3
Homework 1 ISDM                                                                 Vaska Chobanova index no: 4712

Here is another table that consists of the situations where each model is the most appropriate for
applying. The data is based on my previous analysis and additional data collected from the internet.
               Spiral                           Incremental                        Prototype
Systems        Real-time or safety-critical     Web Information Systems            Online systems (with
               systems.                         (WIS) and event-driven             extensive user dialog), or less
                                                systems and leading-edge           well-defined expert and
                                                applications                       decision support system
Project size   Large, high-cost projects        Large projects, long duration      Large projects (many users,
                                                                                   interrelationships, functions)
Risk           Risk avoidance - high priority   Integration and architectural      Project risk for requirements
                                                risks exist                        definition is high and should
                                                                                   be reduced
Requirements   Requirement exists for strong    Requirements are not well          Functional requirements may
               approval and documentation       understood or are changing,        change frequently and
               control.                         no or little data for the          significantly.
                                                project
Resource       No need to absolutely                                               No need to absolutely
consumption    minimize resource                                                   minimize resource
               consumption                                                         consumption
Project team   Project manager: skilled and                                        Project manager and team
               experienced.                                                        members: experienced,
                                                                                   team composition: stable.
Other          High degree of accuracy                                             Unclear project objectives
               Project might benefit from a                                        Pressure for immediate
               mix of other development                                            implementation
               methodologies.                                                      Not fully knowledgeable user
               Implementation has priority                                         Future scalability of design is
               over functionality                                                  not critical

Conclusion
Why there are so many System Development Methodologies is because all projects and systems
require its own road to run. And not each method will be suitable for another one. Selecting the
correct software development methodology with a proper cost-benefit analysis for a project can help
projects to release successfully, on time, and within budget. Once an organization has determined
which methodologies will work best for its projects it can ensure that there is a repeatable process
established that will ensure successful projects. Tackling a project blindly with no process defined will
result in undesirable product. Errors in the products are common, yet if the process is utilized
properly, they can be eliminated quickly. Choosing the better approach or simply understanding the
methodologies is important to ensure the right project/product is a result from the hard work.




                                                                                                                   4

More Related Content

What's hot

Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 
Software engineering: design for reuse
Software engineering: design for reuseSoftware engineering: design for reuse
Software engineering: design for reuseMarco Brambilla
 
Resource Allocation In Software Project Management
Resource Allocation In Software Project ManagementResource Allocation In Software Project Management
Resource Allocation In Software Project ManagementSyed Hassan Ali
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed systemishapadhy
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communicationAbDul ThaYyal
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11koolkampus
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed SystemsRupsee
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Cloud File System and Cloud Data Management Interface (CDMI)
Cloud File System and Cloud Data Management Interface (CDMI)Cloud File System and Cloud Data Management Interface (CDMI)
Cloud File System and Cloud Data Management Interface (CDMI)Calsoft Inc.
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architectureAbDul ThaYyal
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)Showkot Usman
 
01. 03.-introduction-to-infrastructure
01. 03.-introduction-to-infrastructure01. 03.-introduction-to-infrastructure
01. 03.-introduction-to-infrastructureMuhammad Ahad
 
System Development Methodologies
System Development MethodologiesSystem Development Methodologies
System Development MethodologiesDevon Ravihansa
 

What's hot (20)

Cloud computing architectures
Cloud computing architecturesCloud computing architectures
Cloud computing architectures
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Software engineering: design for reuse
Software engineering: design for reuseSoftware engineering: design for reuse
Software engineering: design for reuse
 
Resource Allocation In Software Project Management
Resource Allocation In Software Project ManagementResource Allocation In Software Project Management
Resource Allocation In Software Project Management
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communication
 
Security As A Service In Cloud(SECaaS)
Security As A Service In Cloud(SECaaS)Security As A Service In Cloud(SECaaS)
Security As A Service In Cloud(SECaaS)
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
Cloud File System and Cloud Data Management Interface (CDMI)
Cloud File System and Cloud Data Management Interface (CDMI)Cloud File System and Cloud Data Management Interface (CDMI)
Cloud File System and Cloud Data Management Interface (CDMI)
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architecture
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
01. 03.-introduction-to-infrastructure
01. 03.-introduction-to-infrastructure01. 03.-introduction-to-infrastructure
01. 03.-introduction-to-infrastructure
 
System Development Methodologies
System Development MethodologiesSystem Development Methodologies
System Development Methodologies
 
End user development
End user developmentEnd user development
End user development
 

Viewers also liked

Information systems development methodologies
Information systems development methodologiesInformation systems development methodologies
Information systems development methodologiesFereshte Moghadam
 
Information System Development
Information System DevelopmentInformation System Development
Information System DevelopmentSamudin Kassan
 
MIS: Information Systems Development
MIS: Information Systems DevelopmentMIS: Information Systems Development
MIS: Information Systems DevelopmentJonathan Coleman
 
Information System Development
Information System DevelopmentInformation System Development
Information System DevelopmentIamPe Khamkhum
 
Information system development
Information system development Information system development
Information system development Sanoob Sidiq
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system developmentcymark09
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)fentrekin
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and MethodsRiant Soft
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologiesAnkita Lachhwani
 
Chapter 12 information system development
Chapter 12   information system developmentChapter 12   information system development
Chapter 12 information system developmenthaider ali
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologiesAnkita Lachhwani
 
System development life cycle (sdlc)
System development life cycle (sdlc)System development life cycle (sdlc)
System development life cycle (sdlc)Mukund Trivedi
 
Information System Concepts & Types of Information Systems
Information System Concepts & Types of Information SystemsInformation System Concepts & Types of Information Systems
Information System Concepts & Types of Information SystemsVR Talsaniya
 
Enterprise management systems
Enterprise management systems Enterprise management systems
Enterprise management systems Sanu Francis
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessUniversity of Zurich
 
+Software development methodologies
+Software development methodologies+Software development methodologies
+Software development methodologieswalid sassi
 

Viewers also liked (20)

Information systems development methodologies
Information systems development methodologiesInformation systems development methodologies
Information systems development methodologies
 
Information System Development
Information System DevelopmentInformation System Development
Information System Development
 
Software Development Techniques
Software Development TechniquesSoftware Development Techniques
Software Development Techniques
 
MIS: Information Systems Development
MIS: Information Systems DevelopmentMIS: Information Systems Development
MIS: Information Systems Development
 
Information System Development
Information System DevelopmentInformation System Development
Information System Development
 
Information system development
Information system development Information system development
Information system development
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 
Chapter 12 information system development
Chapter 12   information system developmentChapter 12   information system development
Chapter 12 information system development
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 
System development life cycle (sdlc)
System development life cycle (sdlc)System development life cycle (sdlc)
System development life cycle (sdlc)
 
Information System Concepts & Types of Information Systems
Information System Concepts & Types of Information SystemsInformation System Concepts & Types of Information Systems
Information System Concepts & Types of Information Systems
 
Costo de oportunidad
Costo de oportunidadCosto de oportunidad
Costo de oportunidad
 
Oop 1
Oop 1Oop 1
Oop 1
 
Enterprise management systems
Enterprise management systems Enterprise management systems
Enterprise management systems
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business Success
 
+Software development methodologies
+Software development methodologies+Software development methodologies
+Software development methodologies
 

Similar to Information systems development methodologies (autosaved)

MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTMODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTPaYal Umraliya
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle modelsWasif Khan
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process modelsTauseef Ahmad
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptxSuhleemAhmd
 
Prototyping model, Evolution and spiral models.pdf
Prototyping model, Evolution and spiral models.pdfPrototyping model, Evolution and spiral models.pdf
Prototyping model, Evolution and spiral models.pdfssusere796b3
 
Software development process basic
Software development process basicSoftware development process basic
Software development process basicAnurag Tomar
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.pptDrJasmineBeulahG
 
Software development process models
Software development process modelsSoftware development process models
Software development process modelsMuntha Ulfat
 
System Development
System  DevelopmentSystem  Development
System DevelopmentSharad Patel
 
software construction modules,language,tools,design
software construction modules,language,tools,designsoftware construction modules,language,tools,design
software construction modules,language,tools,designnemali akhilesh
 
Health Informatics- Module 2-Chapter 1.pptx
Health Informatics- Module 2-Chapter 1.pptxHealth Informatics- Module 2-Chapter 1.pptx
Health Informatics- Module 2-Chapter 1.pptxArti Parab Academics
 

Similar to Information systems development methodologies (autosaved) (20)

MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTMODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
 
The process
The processThe process
The process
 
Spiral model ppt
Spiral model pptSpiral model ppt
Spiral model ppt
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
 
Prototyping model, Evolution and spiral models.pdf
Prototyping model, Evolution and spiral models.pdfPrototyping model, Evolution and spiral models.pdf
Prototyping model, Evolution and spiral models.pdf
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 
Software process
Software processSoftware process
Software process
 
Software development process basic
Software development process basicSoftware development process basic
Software development process basic
 
Final boss
Final bossFinal boss
Final boss
 
Process models
Process modelsProcess models
Process models
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
System Development
System  DevelopmentSystem  Development
System Development
 
I
II
I
 
software construction modules,language,tools,design
software construction modules,language,tools,designsoftware construction modules,language,tools,design
software construction modules,language,tools,design
 
Health Informatics- Module 2-Chapter 1.pptx
Health Informatics- Module 2-Chapter 1.pptxHealth Informatics- Module 2-Chapter 1.pptx
Health Informatics- Module 2-Chapter 1.pptx
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

Information systems development methodologies (autosaved)

  • 1. Ss. Kiril and Metodius – Faculty od Economics, Skopje Vaska Chobanova index no: 4712 Homework 1: Information Systems Development Methodologies This purpose of this paper is to give an understanding of the information systems development methodologies available. A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system. Here are some iterative methodologies that can be used especially for large projects and some of their characteristics. Spiral Model The idea is evolutionary development, using the waterfall model for each step; it's intended to help manage risks. Don't define in detail the entire system at first. The developers should only define the highest priority features. Define and implement those, then get feedback from users/customers (such feedback distinguishes "evolutionary" from "incremental" development). With this knowledge, they should then go back to define and implement more features in smaller chunks. Each iteration of the prototype represented as a cycle in the spiral. The Spiral software development model is a risk- oriented. Use the spiral model in projects where business goals are unstable but the architecture must be realized well enough to provide high loading and stress ability. Recognizing: 1. Focus is on risk assessment and on minimizing project risk by breaking a project into smaller segments and providing more ease-of-change during the development process, as well as providing the opportunity to evaluate risks and weigh consideration of project continuation throughout the life cycle. 2. Each cycle involves a progression through the same sequence of steps, for each portion of the product and for each of its levels of elaboration, from an overall concept-of- operation document down to the coding of each individual program. 3. Each trip around the spiral traverses four basic quadrants: (1) determine objectives, alternatives, and constraints of the iteration; (2) evaluate alternatives; identify and resolve risks; (3) develop and verify deliverables from the iteration; and (4) plan the next iteration. 4. Begin each cycle with an identification of stakeholders and their win conditions, and end each cycle with review and commitment. Phases: 1. Project Objectives. Similar to the system conception phase of the Waterfall Model. Objectives are determined, possible obstacles are identified and alternative approaches are weighed. 2. Risk Assessment. Possible alternatives are examined by the developer, and associated risks/problems are identified. Resolutions of the risks are evaluated and weighed in the consideration of project continuation. Sometimes prototyping is used to clarify needs. 3. Engineering & Production. Detailed requirements are determined and the software piece is developed. 4. Planning and Management. The customer is given an opportunity to analyze the results of the version created in the Engineering step and to offer feedback to the developer. Variations. Win-Win Spiral Process Model is a model of a process based on Theory W, which is a management theory and approach "based on making winners of all of the system's key stakeholders as a necessary and sufficient condition for project success." Incremental Development Here the project is divided into small parts. This allows the development team to demonstrate results earlier on in the process and obtain valuable feedback from system users. Often, each iteration is actually a mini-Waterfall process with the feedback from one phase providing vital information for the design of the next phase. Recognizing: 1. A series of mini-Waterfalls are performed, where all phases of the Waterfall development model are completed for a small part of the system, before proceeding to the next increment; OR
  • 2. Homework 1 ISDM Vaska Chobanova index no: 4712 2. Overall requirements are defined before proceeding to evolutionary, mini-Waterfall development of individual increments of the system, OR 3. The initial software concept, requirements analysis, and design of architecture and system core are defined using the Waterfall approach, followed by iterative Prototyping, which culminates in installation of the final prototype (i.e., working system). Phases: 1. Inception. Identifies project scope, risks, and requirements (functional and non-functional) at a high level but in enough detail that work can be estimated. 2. Elaboration. Delivers a working architecture 3. Construction 4. Transition Variations . A number of process models have evolved from the iterative approach. All of these methods produce some demonstrable software product early on in the process in order to obtain valuable feedback from system users or other members of the project team. In some, the software products which are produced at the end of each step (or series of steps) can go into production immediately as incremental releases. Prototype Model The prototype model is used to overcome the limitations of waterfall model. In this model, instead of freezing the requirements before coding or design, a prototype is built to clearly understand the requirements. This prototype is built based on the current requirements. Through examining this prototype, the client gets a better understanding of the features of the final product. The processes involved in the prototyping approach are shown in the figure below. Recognizing: 1. Not a stand alone, complete development methodology, but rather an approach to handling selected portions of a larger, more traditional development methodology (i.e., Incremental, Spiral, or Rapid Application Development (RAD)). 2. Attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process. 3. User is involved throughout the process, which increases the likelihood of user acceptance of the final implementation. 4. Small-scale mock-ups of the system are developed following an iterative modification process until the prototype evolves to meet the users’ requirements. 5. While most prototypes are developed with the expectation that they will be discarded, it is possible in some cases to evolve from prototype to working system. 6. A basic understanding of the fundamental business problem - necessary to avoid solving wrong problem. Phases: 1. Requirements Definition/Collection. Similar to the Conceptualization phase of the waterfall model, but not as comprehensive. The information collected is usually limited to a subset of the complete system requirements. 2. Design. Once the initial layer of requirements information is collected, or new information is gathered, it is rapidly integrated into a new or existing design so that it may be folded into the prototype. 3. Prototype Creation/Modification. The information from the design is rapidly rolled into a prototype. This may mean the creation/modification of paper information, new coding, modifications to existing coding. 4. Assessment. The prototype is presented to the customer for review. Comments and suggestions are collected from the customer. 5. Prototype Refinement. Information collected from the customer is digested and the prototype is refined. The developer revises the prototype to make it more effective and efficient. 6. System Implementation. In most cases, the system is rewritten once requirements are understood. Sometimes, the Iterative process eventually produces a working system that can be the cornerstone for the fully functional system. Variation. A popular variation is called Rapid Application Development (RAD). It introduces strict time limits on each development phase and relies heavily on RA tools (allow quick development). 2
  • 3. Homework 1 ISDM Vaska Chobanova index no: 4712 Comparison of models Besides the characteristics described earlier in this document, here I make a contrast of the models by listing the positive and negative sides of each. ISDM Advantages Disadvantages Spiral Allows development to begin even when all the Involves higher cost - needs to be system requirements are not known or understood iterated more than once by the development team Not suitable for smaller projects Good for large and critical projects Project success depends on the risk Working software is produced early in the analysis phase - hence, it requires highly lifecycle specific expertise in risk analysis Large amount of risk analysis and incorporates Limited reusability prototyping as a risk reduction strategy No established controls for moving from Can incorporate Waterfall, Prototyping, and one cycle to another cycle, no firm Incremental methodologies as special cases in the deadlines, lack of milestones framework Management is dubious Focus on early error detection and design flaws Identical approaches for development and maintenance Incremental Potential exists for exploiting knowledge gained Very rigid and do not overlap phases in early increments. Not all the requirements are gathered Moderate control over the life of the project before starting the development; this through the use of written documentation and the could lead to problems related to system formal review and approval/signoff by the user and architecture at later iterations. information technology management at designated The user community needs to be major milestones actively involved throughout the project - Stakeholders can be given concrete evidence of time of the staff, project delay. project status throughout the life cycle. Communication and coordination skills Helps to mitigate integration/architectural risks. take central stage in the development. Allows delivery of a series of implementations Informal requests for improvement that are gradually more complete and can go into after each phase may lead to confusion - production more quickly as incremental releases controlled mechanism for handling Gradual implementation provides the ability to substantive requests needs to be monitor the effect of incremental changes, isolate developed. issues and make adjustments before the Possible “scope creep (user feedback on organization is negatively impacted each phase increases customer demands. Prototype Benefits from user input No “Current” Documents As a working model of the system is provided, Increases complexity of the overall users get a better understanding of the system that system is being developed Involves exploratory methodology and Errors and risks can be detected at a much therefore involves higher risk. earlier stage, as the system is developed using Involves implementing and then prototypes repairing the way a system is built, so Addresses: inability of many users to specify errors are an inherent part of the their information needs; difficulty of systems development process. analysts to understand the user’s environment Can lead to false expectations and Can be used to realistically model important poorly designed systems. aspects of a system during each phase of the Approval process and control is not traditional life cycle strict. Improves user participation in system Requirements may frequently change development and communication among project significantly. stakeholders 3
  • 4. Homework 1 ISDM Vaska Chobanova index no: 4712 Here is another table that consists of the situations where each model is the most appropriate for applying. The data is based on my previous analysis and additional data collected from the internet. Spiral Incremental Prototype Systems Real-time or safety-critical Web Information Systems Online systems (with systems. (WIS) and event-driven extensive user dialog), or less systems and leading-edge well-defined expert and applications decision support system Project size Large, high-cost projects Large projects, long duration Large projects (many users, interrelationships, functions) Risk Risk avoidance - high priority Integration and architectural Project risk for requirements risks exist definition is high and should be reduced Requirements Requirement exists for strong Requirements are not well Functional requirements may approval and documentation understood or are changing, change frequently and control. no or little data for the significantly. project Resource No need to absolutely No need to absolutely consumption minimize resource minimize resource consumption consumption Project team Project manager: skilled and Project manager and team experienced. members: experienced, team composition: stable. Other High degree of accuracy Unclear project objectives Project might benefit from a Pressure for immediate mix of other development implementation methodologies. Not fully knowledgeable user Implementation has priority Future scalability of design is over functionality not critical Conclusion Why there are so many System Development Methodologies is because all projects and systems require its own road to run. And not each method will be suitable for another one. Selecting the correct software development methodology with a proper cost-benefit analysis for a project can help projects to release successfully, on time, and within budget. Once an organization has determined which methodologies will work best for its projects it can ensure that there is a repeatable process established that will ensure successful projects. Tackling a project blindly with no process defined will result in undesirable product. Errors in the products are common, yet if the process is utilized properly, they can be eliminated quickly. Choosing the better approach or simply understanding the methodologies is important to ensure the right project/product is a result from the hard work. 4