Explain the stages of waterfall and agile methodologies
Assessment
Report
Stages of Waterfall - Agile:
• project initiation
Why - Stakeholders come together for solutions
• planning the requirements of the project
Things to be put into place (financial, logistics, time, policy of company) - generally weekly meetings to update stakeholders
Agile: 2-4 week sprint
Backlog: A list of requirements broken down to a specific thing that can be done (e.g. Login screen created, Database created). It's a specific task that someone can go away and do.
Agile: Daily Standup
a) What were you working on yesterday?
b) What are you doing today?
c) Any obstacles?
• designing the outcome
Framework - What achievement
Agile:
• project development
Working - Building - in alignment with steps above
Agile: (software) programming
• integration and testing
(software) - does it address problem
Agile: (software)
• deployment
for people to use (production stage), people seeing reaction of it
Agile: At the end of 4th week, customer sees a working product
• feedback
questionnaire or verbally in a meeting (Agile: retrospective - 2 to 4 hours: what worked, what didn't and how could we improve the processes (behaviour))
Project Initiation: This is where you decide what the project is about. Imagine telling your friends you want to host a movie night. You decide the date and the type of movies you'll watch.
Planning the Requirements: Now, you list everything you'll need—like popcorn, drinks, and a projector. Everyone needs to agree on what's needed before moving on.
Designing the Outcome: This is where you plan how everything will look and feel. It's like arranging the chairs and the screen in your backyard for the movie night.
Project Development: Time to put the plan into action! You buy the popcorn and drinks, set up the projector, and arrange the chairs.
Integration and Testing: Before everyone arrives, you test the sound and video quality and make sure the popcorn is tasty. You check if everything works together smoothly.
Deployment: The movie night happens. You've set everything up and it's go-time.
Feedback: After the movie, you ask your friends what they thought. Did they like the movie selection? Was the popcorn good? You collect this info for the next movie night.
Project Initiation: You still tell your friends about the movie night, but you might only decide on the first movie and leave the rest open to choices later on.
Planning the Requirements: You have a general idea of what you'll need but keep options open for last-minute changes, like extra snacks or an alternative movie.
Designing the Outcome: Rather than planning everything upfront, you set up for the first movie and think about changes as you go.
Project Development: You start with what's most important, like ensuring the projector works, and build up from there.
Integration and Testing: As you add new elements, like snacks or a new movie, you test them immediately. If the popcorn burns, you can quickly switch to chips.
Deployment: You're continuously improving the movie night as it happens. Maybe the first movie was a hit, so you decide to keep the same genre for the next one.
Feedback: You're asking for feedback throughout the night, so you can change things on the fly. If someone didn't like the first movie, you can adjust the second movie to fit better tastes.
Waterfall is like planning a very detailed, step-by-step road trip itinerary that you can't deviate from. Agile is like having a starting point and a final destination, but being free to explore interesting spots along the way.
The Waterfall methodology is a sequential project management approach where each phase, such as project initiation, planning, design, development, integration/testing, deployment, and feedback, is completed linearly and in a predetermined order. It's akin to a rigid, step-by-step process where requirements are defined upfront and changes are difficult to accommodate once the project is underway.
On the other hand, Agile methodology is iterative and adaptive. It emphasizes flexibility and responsiveness to change throughout the project lifecycle. Instead of following a strict sequence of phases, Agile breaks the project into smaller increments called iterations. Each iteration typically includes planning, development, testing, and feedback. Agile allows for frequent reassessment and adjustment based on evolving requirements and feedback, enabling teams to respond quickly to changes and deliver value incrementally.