Day 2

Certainly, let us commence the class now.


Today's discussion will encompass MVP, MMP, MBI, and the Software Development Life Cycle, with a specific focus on Waterfall and Agile methodologies.


To begin, what interview questions are typically posed regarding this subject matter?


1. Could you please define MVP, MMP, and MBI, and provide an illustrative example?

2. Could you please explain SDLC, including its various stages, and illustrate with an example?

3. Could you please define Waterfall and Agile?

4. Could you please outline three key differences between Waterfall and Agile?

5. For what types of projects is Waterfall typically employed, and for what types is Agile preferred?

6. Could you please explain Agile in a manner that is understandable to a five-year-old or your grandmother?

7. Could you please clarify the concepts of horizontal slicing and vertical slicing?


Let us begin with MVP, MMP, and MBI.


A product is essentially anything that addresses a human need or problem.


Any product that is developed progresses through several stages: initially MVP, followed by MMP, and then MBI.


MVP - Minimum Viable Product: This represents the fundamental version of any product. Its primary objective is to validate the product concept—to determine its feasibility—and to gather initial user feedback. It is the most basic iteration, incorporating only the essential features necessary for early adopters to utilize and provide feedback.


As an illustration, consider WhatsApp. The MVP for WhatsApp might have comprised just two features: user registration/login and the ability to send and receive messages. The developers would have focused solely on these functionalities, providing them to a select group of beta testers to validate the core concept. It is worth noting that approximately 90% of products are discontinued after the MVP stage due to the realization that the underlying idea is not viable.


MMP - Minimum Marketable Product: This represents the version of the product that includes the minimum set of features required to market and sell it. It involves adding just enough functionality to make the product appealing to a broader audience.


For WhatsApp, the MMP might have incorporated features such as the ability to send images and videos, as well as audio and video calling capabilities. With these features, the product becomes marketable, enabling its release to the mass market.


MBI - Minimum Business Increment: Once a product is launched in the market, continuous development is essential. MBI refers to the incremental addition of new features over the MMP, designed to sustain the product's relevance in the market, taking into account evolving customer behavior and competitive pressures.


For WhatsApp, features such as Blue Ticks, WhatsApp Pay, and AI-powered functionalities exemplify MBIs. These increments are continuously added to maintain the product's relevance.


Now, let us transition to the SDLC - Software Development Life Cycle.


SDLC is the structured process employed for software development, with the objectives of achieving the highest quality, minimizing costs, and reducing development time.


The SDLC comprises seven distinct stages:


1. Ideation: Generating the initial concept.

2. Requirement Gathering: Understanding the project requirements through stakeholder engagement.

3. Design: Creating the architecture and user interface.

4. Development: The actual coding process.

5. Testing: Verifying the functionality and correctness of the developed software.

6. Deployment: Releasing the product to users.

7.


Regarding maintenance, it involves addressing any issues that may arise subsequent to the product's release.


Now, let us delve into the Waterfall and Agile models, which are both methodologies within the Software Development Life Cycle (SDLC).


Waterfall Model:


* This represents an early approach to SDLC, characterized by a sequential or linear structure.

* Each phase must be fully completed before the subsequent phase can commence. For instance, the Design stage cannot begin until the Requirement stage is entirely finished.

* Returning to a previous stage is not permitted. If a missing requirement is discovered during the Testing stage, a return to the Requirement stage is not possible.

* The product is delivered only at the very conclusion of the life cycle.

* There is no continuous feedback loop with the customer; interaction primarily occurs at the beginning (requirements) and at the end (delivery).

* Suitable for projects where requirements are entirely clear, fixed, and without ambiguity. It is well-suited for shorter projects with well-understood technology and low risk.


Agile Model:


* Agile development is a process that develops software through incremental and rapid cycles.

* It prioritizes the ability to adapt quickly and respond to changes.

* Instead of completing all requirements first, followed by all design, a small set of features is selected and taken through all SDLC stages (requirements, design, development, testing) in a short cycle known as a Sprint.

* A small, functional portion of the product (an increment) is delivered to the customer at the end of each Sprint, which could span 1-4 weeks.

* Frequent feedback is obtained from the customer after each delivery, which is then utilized to improve the next increment.

* All SDLC stages collaborate concurrently on different features.

* Best suited for projects where requirements are not entirely clear, where there is complexity, uncertainty, and a need to adapt to change. It is ideal for longer-term projects.


Key Differences:


1. Approach: Waterfall is sequential; Agile is iterative and incremental.

2. Flexibility: Waterfall is rigid; Agile is flexible and accommodates change.

3. Delivery: Waterfall delivers the entire product at the end of the cycle; Agile delivers working features in small, frequent increments.

4. Feedback: Waterfall has a minimal feedback loop; Agile has a continuous feedback loop.

5. Customer Satisfaction: Customer satisfaction is generally higher in Agile due to continuous involvement and delivery.

6. Slicing: Waterfall works on horizontal slicing (completing one entire layer/stage for all features before moving to the next). Agile works on vertical slicing (taking a thin slice of a feature and taking it through all stages to completion).


Explaining Agile to a Grandmother (The Chapati Example):


Imagine you are tasked with making 20 chapatis for your family.


* Waterfall Way: You would make all 20 chapatis first, and then serve them. If the family is not satisfied with the softness, roundness, or thickness, all 20 chapatis might be wasted or disliked.

* Agile Way: You would make one chapati and offer it to your grandmother for her feedback.


She provided feedback, suggesting improvements such as making it softer and more round. After incorporating her suggestions into the second chapati, she tasted it again and offered further feedback. By the third or fourth chapati, the chapati was perfected to her liking. The subsequent chapatis were consistently perfect due to the learning and adaptation based on the continuous feedback. This process exemplifies Agile methodology, which involves delivering in small increments, gathering feedback, and continuously improving.


The Agile Manifesto's Four Values are:


1. Individuals and interactions over processes and tools.

2. Working software over comprehensive documentation.

3. Customer collaboration over contract negotiation.

4. Responding to change over following a plan.


The task is to prepare answers to the eight questions discussed today and to practice framing those answers. Tomorrow, individuals will be randomly selected to answer, and we will practice crafting the perfect interview responses.


The journey has commenced, and dedicated effort is required. Following the guidance provided over the next 2.5 months is expected to result in the ability to answer all interview questions effectively.


Thank you, everyone. Please take care.

Comments

Popular posts from this blog

The 3-Hour Narrative Blueprint: A Structural Script for Interview Endurance and Storytelling Mastery

LEADERSHIP & TEAM MANAGEMENT

एक राष्ट्राचे पुनरुत्थान: श्रम, एकता आणि नूतनीकरणाची वचनबद्धता