0% found this document useful (0 votes)
14 views

IS Development Methodologies Introduction Lab1

Uploaded by

Ahmed Abdelhamid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

IS Development Methodologies Introduction Lab1

Uploaded by

Ahmed Abdelhamid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

IS437 – Information Systems

Development Methodologies

Fall 2024
Course Content
• IS Development Methodologies
• Lifecycle
• Project Effort Estimation
• DevOps

2
Development Methodologies
• Structured approaches used to design, develop, and implement
information systems.
• These methodologies provide a framework for managing the
complexities of system development and help ensure that the
final product meets user requirements and is delivered on time
and within budget.

3
Types of IS Development
Methodologies
• Waterfall Model: A linear and sequential approach where each phase must
be completed before the next begins. It’s straightforward but can be
inflexible to changes.
• Agile Methodology: An iterative approach that emphasizes flexibility and
customer collaboration. Development is done in small, incremental cycles
(sprints) allowing for frequent reassessment and adaptation.
• Spiral Model: Combines iterative development with the systematic aspects
of the waterfall model. It focuses on risk assessment and allows for
repeated refinement of the system.
• RAD (Rapid Application Development): Focuses on quickly developing
prototypes and getting user feedback to refine the system.
• V-Model: An extension of the waterfall model that emphasizes verification
and validation at each development stage.

4
Phases of Development
• Planning: Defining the scope and objectives of the project.
• Analysis: Gathering requirements and understanding user
needs.
• Design: Creating the architecture and design specifications for
the system.
• Development: Actual coding and building of the system.
• Testing: Verifying that the system meets requirements and is
free of defects.
• Implementation: Deploying the system into a live environment.
• Maintenance: Ongoing support and updates after deployment.
5
Lifecycle
• It refers to the stages that a system goes through from its initial
conception to its retirement.
• It encompasses the entire duration of the system's existence.

6
Methodology VS Lifecycle
• Focus: The lifecycle focuses on the stages of a system's
existence, while methodology focuses on the processes and
practices used to manage those stages.
• Scope: The lifecycle is broader and encompasses the entire
duration of a system, while methodology is specific to how
development is approached within that lifecycle.
• In summary, the lifecycle describes the journey of a system,
while methodology outlines the methods used to navigate that
journey effectively

7
Project Effort Estimation
• The process of predicting the amount of work required to
complete a project or a specific task within a project.
• This estimation is crucial for project planning, resource
allocation, budgeting, and scheduling.

8
Purpose of Effort Estimation
• Resource Planning: Helps determine the number of team
members needed and their skill sets.
• Budgeting: Aids in estimating costs associated with labor and
resources.
• Scheduling: Assists in creating timelines for project milestones
and deliverables.
• Risk Management: Identifies potential challenges and helps in
planning for contingencies.

9
Methods of Estimation
• Expert Judgment: Relying on the experience and insights of team
members or stakeholders who have worked on similar projects.
• Analogous Estimation: Using historical data from previous projects
to inform estimates for the current project.
• Parametric Estimation: Applying statistical relationships between
variables (e.g., lines of code, function points) to estimate effort.
• Bottom-Up Estimation: Breaking down the project into smaller tasks
and estimating the effort for each task, then aggregating these
estimates.
• Three-Point Estimation: Considering optimistic, pessimistic, and
most likely estimates to calculate an average or weighted average.
10
Factors Influencing Effort Estimation
• Project Complexity: More complex projects typically require
more effort.
• Team Experience: Experienced teams may complete tasks
more efficiently than less experienced ones.
• Technology Used: Familiarity with the technology stack can
significantly impact effort.
• Scope Changes: Changes in project scope can lead to
increased effort.

11
DevOps
• A set of practices and cultural philosophies that aim to improve
collaboration and communication between software
development (Dev) and IT operations (Ops) teams.
• The primary goal of DevOps is to shorten the software
development lifecycle while delivering high-quality software
continuously.

12
Core Principles
• Collaboration: Encourages teamwork between developers and
operations to enhance productivity and efficiency.
• Automation: Focuses on automating repetitive tasks such as
testing, deployment, and infrastructure management to reduce
manual errors and speed up processes.
• Continuous Integration and Continuous Deployment
(CI/CD): Involves integrating code changes frequently and
deploying them automatically to ensure that software is always
in a releasable state.

13
Benefits of DevOps
• Faster Time to Market: Accelerates the delivery of features and
updates, allowing organizations to respond quickly to market
demands.
• Improved Quality: Continuous testing and monitoring lead to
higher quality software with fewer defects.
• Enhanced Collaboration: Breaks down silos between teams,
fostering a culture of shared responsibility and accountability.
• Increased Efficiency: Streamlines processes and reduces
waste through automation and better resource management.

14
Key Practices
• Infrastructure as Code (IaC): Managing and provisioning
computing infrastructure through code, allowing for consistent
and repeatable deployments.
• Monitoring and Logging: Implementing tools to monitor
applications and infrastructure in real-time, enabling proactive
issue resolution.
• Feedback Loops: Establishing mechanisms for continuous
feedback from users and stakeholders to inform future
development.

15
Tools and Technologies
• Version Control Systems (e.g., Git)
• CI/CD Tools (e.g., Jenkins, GitLab CI, CircleCI)
• Containerization (e.g., Docker, Kubernetes)
• Configuration Management (e.g., Ansible, Puppet, Chef)
• Monitoring Tools (e.g., Prometheus, Grafana, ELK Stack)

16
Course Plan
• Year Work:
• Midterm
• Presentations
• Teams of 5
• Same group
• Rotational

17
Google Classroom

Class Code: rhmjzm7

18
Thank You ☺

Any Questions?

19

You might also like