IS Development Methodologies Introduction Lab1
IS Development Methodologies Introduction Lab1
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
18
Thank You ☺
Any Questions?
19