1 of 25

DevOps

Integrating Development and Operations for Faster, Higher-Quality Software Delivery.

2 of 25

  • The Software Development Lifecycle (SDLC) is a structured process followed for developing software. Understanding the Stages in the Software Development Lifecycle (SDLC)
  • Let’s do a practical approach a To-do List Application based on SDLC

Software Development Lifecycle (SDLC)

3 of 25

  1. Requirements Analysis

Description:

    • Objective: Gather and document what the software needs to accomplish.
    • Activities:
      • Conduct interviews with potential users.
      • Collect user stories to understand needs.

Example:

    • Users need to:
      • Add tasks with descriptions.
      • View a list of tasks.
      • Mark tasks as completed.
      • Delete tasks.

Key Takeaway: Clearly defined requirements set the foundation for the project.

4 of 25

Document Naming Convention:

In DevOps, it’s essential to follow a consistent naming format for documents to improve clarity, collaboration, and version control.

A structured naming convention makes it easy for all teams to identify documents quickly and ensures the correct version is being used.

Below is the naming format for the Requirements Document:

Naming Format:

�<PROJECT_NAME>_<DOCUMENT_TYPE>_<VERSION>_<DATE>.<FILE_EXTENSION>

  • ToDoList_Requirments_v1.0_230924.docx
  • ToDoList_TestPlan_v1.0_230924.docx

Note:

"Although naming conventions are not mandatory, they are a good practice."

5 of 25

  1. Planning
  • Goal: Define project scope, timeline, and resources.

  • Example: To-Do List App plan:

    • Week 1: Design basic UI.

    • Week 2: Implement adding and deleting tasks.

    • Week 3: Test and refine the app.

  • Technology Stack: HTML, CSS, JavaScript.

Visual: Jira tasks and timeline

6 of 25

  1. Design
  • Goal: Create the app’s layout and system design.

  • Example: Wireframe for the To-Do List App:

    • Task input field and list display.

    • Edit, delete, and mark as complete buttons.

  • Data Structure:

    • Task object: {id, description, isCompleted}.

Visual: Simple wireframe of the app UI

7 of 25

  1. Implementation (Coding)
  • Goal: Develop the app according to the design.

  • Example: Coding features for:

    • Adding tasks.

    • Deleting tasks.

    • Completing task.

  • Best Practices: Use Git for version control.

Note: https://github.com/Sandeep703633/to-dop

8 of 25

  1. Testing

Goal: Ensure the app works as expected.

Example: Test cases for the To-Do List App:

  • Adding tasks (works correctly?).

  • Deleting and editing tasks (functions properly?).

  • Check app responsiveness on mobile and desktop.

Types of Testing: Unit testing, browser compatibility testing.

9 of 25

  1. Deploy
  • Goal: Make the app accessible to users.

  • Example: Deploy the To-Do List App to GitHub Pages

  • Steps:

    • Set up hosting.

    • Test the app in production to ensure smooth operation.

    • Provide users with access.

10 of 25

  1. Maintenance

Goal: Monitor, update, and fix bugs post-deployment.

Example: After launching the To-Do List App:

  • Fix bugs reported by users.

  • Add new features (e.g., task prioritization).

  • Ensure the app works with new browser updates.

11 of 25

Conclusion

  • Key Takeaways:

    • SDLC ensures a structured and efficient development process.

    • Each stage is important for building a functional, reliable app.

    • Following these steps helps create even small apps like a To-Do List.

  • Reminder: Follow SDLC to reduce errors, improve functionality, and meet user needs.

12 of 25

Software Development Process Model

  • Software process models provide frameworks for managing software development stages, ensuring effective planning, execution, and delivery.

Models

Each model has its own set of principles, processes, and methodologies tailored to different types of projects and organizational needs

Waterfall Model

About 20-30% of projects still use the Waterfall model, particularly in industries with strict regulatory requirements.

Iterative Model

Approximately 15-20% of organizations employ the Iterative Model, often in environments where user

feedback is essential for improving functionality

V-Model

Approximately 10-15% of organizations use the V-Model, particularly in industries where validation and verification are critical, such as aerospace, defense, and healthcare.

Spiral Model

Approximately 5-10% of organizations utilize the Spiral Model, often in high-stakes industries like aerospace, defense, and finance.

Agile Model

Approximately 70% of organizations implement Agile practices, with around 54% specifically using Scrum as their framework.

13 of 25

Waterfall Model

A sequential, linear approach.

Key Points:

  • Stages: Requirements → Design → Implementation → Verification → Maintenance

  • Ideal for projects with clear, unchanging requirements.

Use Case: Government or defense projects.

14 of 25

V-Model

  • An extension of the Waterfall model with a focus on testing.

  • Key Points:

    • Each development stage has a corresponding testing phase.

    • Emphasizes validation and verification at each step.

  • Use Case: Projects where rigorous testing is essential.

15 of 25

Iterative-Model

Development occurs in small cycles or iterations.

Key Points:

  • Each iteration improves functionality.

  • Allows for early feedback and adjustment.

Use Case: Projects with evolving requirements

16 of 25

Spiral-Model

Combines iterative development with a focus on risk management.

Key Points:

  • Each iteration includes risk analysis and prototyping.

  • Suitable for large, complex projects.

Use Case: Software requiring extensive risk assessment.

17 of 25

Agile Model

Emphasizes flexibility and collaboration.

Key Points:

  • Iterative development allows for changing requirements.

  • Promotes close collaboration with stakeholders.

Use Case: Fast-paced projects needing adaptability.

18 of 25

Note:

Each software process model has its strengths and weaknesses, making them suitable for different types of projects.

Final Thought: Choosing the right model depends on project requirements, team structure, and stakeholder involvement.

19 of 25

“Let’s innovate, iterate, and deliver—building software that evolves, tests that ensure quality, and deployments that empower success.”

20 of 25

21 of 25

22 of 25

23 of 25

24 of 25

25 of 25