Lecture 10: Incremental Model

IIT Kharagpur July 2018
5 Aug 201825:47

Summary

TLDRThe video script discusses the Prototyping Model, an iterative approach in software development that contrasts with the traditional Waterfall Model. It highlights the benefits of prototyping, such as better understanding of requirements, early detection of issues, and improved client engagement through feedback incorporation. The script also touches upon the Agile Model, emphasizing incremental development and iterative enhancement, which allows for more flexibility and customer-oriented outcomes in software projects.

Takeaways

  • 😀 The script discusses the Prototyping Model as an alternative to the Waterfall Model in software development.
  • 🔍 A prototype is initially created to explore and define requirements and is then presented to users for feedback.
  • 🔧 The flexibility of the Prototyping Model allows for changes based on user feedback, which can lead to a more refined final product.
  • 💡 The model helps in clarifying vague or uncertain requirements early in the development process by providing a tangible starting point.
  • 👥 It emphasizes user interaction and feedback, which can lead to a product that better meets user needs and expectations.
  • 📋 The script suggests that the Prototype Model may reduce the need for extensive documentation compared to other models.
  • 🚀 The development process can be faster and more efficient with the Prototyping Model because it allows for iterative improvements based on user input.
  • 🛠️ The model can be particularly useful for Graphical User Interface (GUI) development, where user experience is critical.
  • 🔄 The script mentions that the Prototype Model can lead to 'Over Engineering' where developers may incorporate unnecessary features tempted by the prototype's success.
  • 📉 One of the downsides of the Prototype Model is that it may not be suitable for projects where requirements are well-understood and stable from the outset.
  • 🔮 The script also touches on the classical Waterfall Model and its limitations, such as the inflexibility to change requirements once the development process has begun.

Q & A

  • What is the primary purpose of the Prototyping Model in software development?

    -The primary purpose of the Prototyping Model is to analyze and clarify requirements and provide a platform for users to interact with a preliminary version of the software, allowing for feedback and potential changes before the actual development begins.

  • How does the Waterfall Model relate to the Prototyping Model?

    -The Waterfall Model is a sequential design process where each phase of software development proceeds in a strict sequence, and the Prototyping Model can be seen as a precursor to the Waterfall Model, where the prototype is used to gather user feedback before the formal development process begins.

  • What are some advantages of using the Prototyping Model in software development?

    -Some advantages include the ability to clarify vague requirements early on, reduce development risks by allowing users to interact with a preliminary version, and potentially lower documentation needs since the prototype serves as a functional requirement document.

  • How does the Prototyping Model assist in the development of Graphical User Interfaces (GUIs)?

    -The Prototyping Model is particularly useful for GUI development as it allows for the quick creation of a visual interface that can be tested and refined based on user feedback, ensuring that the final product meets user expectations and is personalized to their needs.

  • What is the significance of user feedback in the Prototyping Model?

    -User feedback is significant as it helps developers understand whether the prototype meets the users' needs and expectations, allowing for necessary adjustments to be made before proceeding with full-scale development, thus enhancing the final product's usability and functionality.

  • Can the Prototyping Model lead to over-engineering in software development?

    -Yes, the Prototyping Model can lead to over-engineering if developers are tempted to incorporate advanced features into the prototype that may not be necessary, thus increasing the complexity and cost of the project without adding value.

  • Why might the Waterfall Model be considered outdated in modern software development?

    -The Waterfall Model might be considered outdated because it requires all requirements to be defined upfront, which is often impractical in the dynamic and iterative nature of modern software development where requirements frequently change.

  • What are some of the key challenges associated with the Waterfall Model?

    -Key challenges include the inflexibility to accommodate changes once the development process has started, the heavy documentation burden, and the potential for developers to spend a significant amount of time on documentation rather than actual development.

  • How does the Incremental Development Model differ from the Waterfall Model?

    -The Incremental Development Model involves developing and delivering the software in increments or iterations, allowing for continuous feedback and refinement, as opposed to the Waterfall Model, which follows a strict sequence of phases with little to no iteration.

  • What is the Iterative Enhancement Model and how does it improve software development?

    -The Iterative Enhancement Model is a development approach where the software is incrementally improved upon with each iteration, incorporating new functionalities and refining existing ones based on user feedback, leading to a more refined and user-centric final product.

  • Why is it important to prioritize certain features during incremental development?

    -Prioritizing certain features is important to ensure that the most critical and valuable functionalities are developed first, allowing for early delivery of a minimum viable product and subsequent refinement based on user interaction and feedback.

Outlines

00:00

🛠 Prototyping Model Overview

The first paragraph introduces the concept of the Prototyping Model as an alternative to the traditional Waterfall Model. It discusses the iterative process of developing a prototype, presenting it to users, and incorporating their feedback for improvements. The model allows for clearer understanding of requirements and is beneficial for projects with uncertain or evolving needs. It emphasizes the importance of user interaction and the reduction of development risks by allowing changes based on real-world feedback. The paragraph also mentions the reduced necessity for formal documentation like the Software Requirements Specification (SRS) due to the prototype serving as a functional requirement specification.

05:04

🎨 GUI Development through Prototyping

The second paragraph delves into the application of the Prototyping Model, especially for Graphical User Interface (GUI) development. It highlights the rapid creation of a prototype to gather client feedback and the iterative refinement of the GUI based on this input. The paragraph mentions that developers can use the prototype to address technical issues and ensure optimal design. It also discusses the common practice of presenting a prototype with shortcuts and placeholder functions to clients to facilitate a more accurate development process based on their reactions and suggestions.

10:05

🔄 Advantages and Limitations of the Prototyping Model

The third paragraph discusses the advantages of the Prototyping Model, such as the ability to accommodate user needs and reduce development costs. It also touches on the potential for over-engineering when developers are tempted to make the prototype more advanced than necessary. The paragraph points out the limitations of the Waterfall Model, which can be problematic due to the inflexibility in changing requirements and the heavy documentation process. It contrasts this with the Prototyping Model, which allows for more adaptive and customer-focused software development.

15:08

📉 Critique of the Waterfall Model

The fourth paragraph critiques the Waterfall Model, pointing out its inflexibility and the extensive documentation it requires. It notes that developers often spend half their time on paperwork, which can slow down the development process. The paragraph also references the views of renowned authors like Frederick P. Brooks, who argue against the Waterfall Model's approach due to its inherent issues and the impracticality of fully specifying requirements upfront.

20:10

🔧 Incremental and Iterative Development Models

The fifth paragraph introduces Incremental and Iterative development models as alternatives to the Waterfall Model. It explains how these models involve developing and enhancing the software in increments, allowing for client feedback to be incorporated at each stage. The paragraph emphasizes the iterative process of refining the software with each increment, making it more adaptable to changing requirements and more aligned with user expectations.

25:10

📈 Prioritization and Evaluation in Incremental Development

The sixth paragraph discusses the process of prioritization in Incremental Development Models. It presents a method for evaluating features based on customer value (V) and development cost (C), using a scale from 1 to 10. This approach helps in deciding which features to develop first, ensuring that the most valuable and feasible increments are prioritized. The paragraph also looks forward to discussing Evolutionary Models in future sessions, which build upon the concepts of Incremental and Iterative models.

Mindmap

Keywords

💡Prototyping Model

The Prototyping Model is an iterative approach to software development where a basic version of the product is created and then improved upon based on user feedback. It is central to the video's theme as it discusses the process of evolving the software by progressively incorporating user suggestions and refining the product. The script mentions that initially a prototype is developed, shown to users, and then any requested changes are accommodated, highlighting the dynamic and flexible nature of this model.

💡Waterfall Model

The Waterfall Model is a traditional software development process that follows a sequential design approach, where each phase of development must be completed before the next one can start. In the script, it is contrasted with the Prototyping Model, illustrating a more rigid and less adaptable development process. The video discusses how the Waterfall Model can be limiting due to its lack of accommodation for changes once development has begun.

💡Requirements Analysis

Requirements Analysis is the process of understanding and defining the needs and constraints of a project, which is crucial in software development. The script refers to this concept when discussing the initial phase of the Prototyping Model, where the needs are examined and a basic prototype is constructed. It is a fundamental step that sets the direction for the entire development process.

💡User Interface (UI)

User Interface, or UI, is the point of interaction between users and a software application. The video script emphasizes the importance of UI in the Prototyping Model, as it is where users can visualize the input data formats, display messages, reports, and interactive dialogues. The development of the UI often relies on prototyping to ensure it meets user expectations and is personalized to their needs.

💡Feedback

Feedback is the response from users regarding the software's functionality, design, and usability. The script mentions that after users see the prototype, they can provide feedback, which is critical for making changes and improvements. It is a key component of the Prototyping Model, allowing developers to understand user satisfaction and areas for enhancement.

💡Incremental Development

Incremental Development is a process where software is developed and delivered in small, iterative parts or increments. The script describes this as a series of steps where each increment builds upon the previous one, adding new features and refining the software based on user responses. This approach allows for continuous improvement and adaptation to user needs.

💡Iterative Enhancement Models

Iterative Enhancement Models refer to the development approach where the software is improved in cycles, with each iteration adding value and refining the product. The script discusses this concept as an alternative to the traditional Waterfall Model, emphasizing the ability to make ongoing improvements and adapt to changing requirements.

💡Over-Engineering

Over-Engineering occurs when a system or component is designed to be more complex than necessary. The script warns about the risk of over-engineering in the Prototyping Model, where developers might be tempted to incorporate advanced features that may not be required, thus making the prototype overly complex.

💡Agile Model

The Agile Model is a flexible approach to software development that promotes adaptive planning, evolutionary development, and continuous improvement. The script briefly mentions this model as an alternative to the Waterfall Model, highlighting its focus on minimal documentation and rapid, flexible response to change.

💡Customization

Customization is the process of adapting software to meet specific user requirements or preferences. The script discusses how the Waterfall Model can be problematic for applications that require high customization, as it is difficult to make changes once the development process has started.

💡Evolutionary Model

The Evolutionary Model is a software development approach where the system evolves over time through a series of incremental and iterative development cycles. The script suggests that this model will be discussed in more detail in a future lecture, indicating its relevance to the ongoing discourse about flexible and adaptive development methodologies.

Highlights

Prototyping model is an alternative to the Waterfall model.

Involves creating a prototype first to understand requirements better.

The prototype is shown to users and any required changes are incorporated.

Development starts using the Waterfall model once the users approve the prototype.

Helps in clarifying vague requirements early in the development process.

Allows for better communication with users through interaction with a preliminary software version.

Reduces the need for extensive documentation as the prototype serves as a functional requirement specification.

Useful for GUI development where user interfaces are highly personalized.

Helps in quickly identifying technical issues and allows for better design decisions.

Supports incremental development, which is efficient and can lead to better software quality.

Reduces development cost by minimizing the risk of significant rework.

May not be suitable for projects with well-understood issues and requirements from the start.

Can lead to over-engineering if advanced features are incorporated unnecessarily.

The Waterfall model is criticized for its inflexibility and inability to accommodate changes.

The Agile model is introduced as an alternative, emphasizing iterative development and minimal documentation.

Transcripts

play00:15

ಸ್ವಾಗತ.

play00:17

ಕೊನೆಯ ಉಪನ್ಯಾಸದಲ್ಲಿ, ನಾವು ಪ್ರೋಟೋಟೈಪಿಂಗ್

play00:21

ಮಾಡೆಲ್(prototyping model) ಬಗ್ಗೆ ಚರ್ಚಿಸಿದ್ದೇವೆ.

play00:26

ಪ್ರೋಟೋಟೈಪಿಂಗ್ ಮಾಡೆಲ್(prototyping model) ವಾಟರ್ಫಾಲ್ ಮಾಡೆಲ್

play00:32

(Waterfall Model) ರೂಪಾಂತರವಾಗಿದೆ.

play00:35

ಪ್ರೋಟೋಟೈಪಿಂಗ್ ಮಾಡೆಲ್(prototyping model), ಅವಶ್ಯಕತೆಗಳ ವಿಶ್ಲೇಷಣೆ

play00:41

ಮತ್ತು ವಿವರಣೆಯ ಸ್ಥಳದಲ್ಲಿ ನಾವು ಮೂಲಮಾದರಿಯ ನಿರ್ಮಾಣವನ್ನು

play00:48

ಹೊಂದಿದ್ದೇವೆ.

play00:49

ಮೊದಲು ಒಂದು ಮೂಲಮಾದರಿಯನ್ನು(prototype) ನಿರ್ಮಿಸಲಾಗುತ್ತದೆ

play00:53

ಮತ್ತು ನಂತರ ಅದನ್ನು ಬಳಕೆದಾರರಿಗೆ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ

play00:59

ಮತ್ತು ಗ್ರಾಹಕರು ವಿನಂತಿಸಿದ ಯಾವುದೇ ಬದಲಾವಣೆಗಳಿಗೆ

play01:05

ಅವಕಾಶ ಕಲ್ಪಿಸಲಾಗುತ್ತದೆ.

play01:07

ಗ್ರಾಹಕರು ಮೂಲಮಾದರಿಯನ್ನು(prototype) ಒಪ್ಪಿಕೊಂಡ ನಂತರ ಜಲಪಾತದ

play01:13

ಮಾದರಿಯನ್ನು(waterfall Model) ಬಳಸಿಕೊಂಡು ಅಭಿವೃದ್ಧಿ

play01:17

ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

play01:19

ಪ್ರೋಟೋಟೈಪಿಂಗ್ ಮಾಡೆಲ್(prototyping model)ಹಲವು ಅನುಕೂಲಗಳಿವೆ.

play01:23

ಮೊದಲನೆಯದು, ಅವಶ್ಯಕತೆಗಳನ್ನು ಬರೆಯುವಾಗ ಏನು ಕಾಣೆಯಾಗಿದೆ

play01:29

ಮತ್ತು ಯಾವುದನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ

play01:32

ಎಂಬುದನ್ನು ಗುರುತಿಸುವುದು ತುಂಬಾ ಕಷ್ಟ, ಅಸ್ಪಷ್ಟ

play01:38

ಮತ್ತು ಇತ್ಯಾದಿ.

play01:40

ಆದರೆ ಡೆವಲಪರ್ ಮೂಲಮಾದರಿಯನ್ನು(prototype) ಅಭಿವೃದ್ಧಿಪಡಿಸಲು

play01:45

ಪ್ರಾರಂಭಿಸಿದರೆ, ಅವಶ್ಯಕತೆಗಳೊಂದಿಗಿನ ತೊಂದರೆಗಳು ಯಾವುವು

play01:50

ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗುತ್ತದೆ.

play01:52

ಇದು ಕೇವಲ ದಾಖಲೆಗಳನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುವ

play01:58

ಅಥವಾ ವಿವಿಧ ಸಭೆಗಳಲ್ಲಿ ಮಾತನಾಡುವ ಬದಲು ಗ್ರಾಹಕರೊಂದಿಗೆ

play02:05

ಸಂವಹನವನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.

play02:07

ಇಲ್ಲಿ ಅವರು ನಿಜ ಜೀವನದಲ್ಲಿ ಏನನ್ನಾದರೂ ನೋಡಬಹುದು

play02:14

ಮತ್ತು ಅದರ ಬಗ್ಗೆ ಅವರು ತಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು

play02:21

ನೀಡಬಹುದು.

play02:22

ಬಳಕೆದಾರರು ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ತೊಡಗಿಸಿಕೊಂಡಿದ್ದಾರೆ

play02:25

ಎಂದು ಭಾವಿಸುತ್ತಾರೆ ಏಕೆಂದರೆ ಅವರ ಕಾಮೆಂಟ್‌ಗಳ

play02:31

ಪ್ರಕಾರ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲಾಗಿದೆ.

play02:34

ದಸ್ತಾವೇಜನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಅವಶ್ಯಕತೆಯಿದೆ

play02:39

ಏಕೆಂದರೆ ಮೂಲಮಾದರಿಯು ಅವಶ್ಯಕತೆಯ ಉದ್ದೇಶವಾಗಿ

play02:44

ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

play02:45

ಮೂಲಮಾದರಿಯು ಅನಿಮೇಟೆಡ್ ಅವಶ್ಯಕತೆಯ ವಿವರಣೆಯಾಗಿ

play02:49

ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಕಾರಣ ಸೇವಾ ದಾಖಲೆ

play02:54

ಇಲ್ಲ.

play02:55

ಅಗತ್ಯವಿದ್ದರೆ, ಯೋಜನೆಯ ಆಧಾರದ ಮೇಲೆ SRS ಡಾಕ್ಯುಮೆಂಟ್

play03:02

ಅನ್ನು ಮೂಲಮಾದರಿಯ(prototype) ಆಧಾರದ ಮೇಲೆ ಬರೆಯಬಹುದು.

play03:08

ಸಾಮಾನ್ಯವಾಗಿ SRS ಡಾಕ್ಯುಮೆಂಟ್ ಅಗತ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ

play03:13

ಮೂಲಮಾದರಿಯು(prototype) ಅವಶ್ಯಕತೆಯ ವಿವರಣೆಯಾಗಿ

play03:17

ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

play03:18

ಅಭಿವೃದ್ಧಿ ಗುಣಮಟ್ಟ ಉತ್ತಮವಾಗಿರುವ ಕಾರಣ

play03:23

ಇದು ಕಡಿಮೆ ನಿರ್ವಹಣಾ ವೆಚ್ಚವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.

play03:28

ಡೆವಲಪರ್‌ಗಳು ಮೊದಲು ಮೂಲಮಾದರಿಯು(prototype)

play03:32

ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಾರೆ ಮತ್ತು ಮಾಡುವ ಮೂಲಕ

play03:36

ಪರಿಣತಿಯನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತಾರೆ ಮತ್ತು ನಿಜವಾದ ಅಭಿವೃದ್ಧಿಯನ್ನು

play03:42

ಕೈಗೊಳ್ಳಲು ಉತ್ತಮವಾಗಿ ಸಿದ್ಧರಾಗಿದ್ದಾರೆ

play03:46

ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಸಾಫ್ಟ್‌ವೇರ್ ಉತ್ತಮ

play03:50

ಗುಣಮಟ್ಟವನ್ನು ಹೊಂದಿರುತ್ತದೆ.

play03:52

ಹೀಗಾಗಿ ನಿರ್ವಹಣೆ ವೆಚ್ಚ ಕಡಿಮೆ.

play03:57

ಮೂಲಮಾದರಿಯ(prototype) ಮಾದರಿಯನ್ನು(model) ಏಕೆ ಬಳಸಲಾಗುತ್ತಿದೆ

play04:02

ಎಂಬುದಕ್ಕೆ ಮುಖ್ಯ ಕಾರಣಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ

play04:06

ಹೇಳಲು; ಮೂಲತಃ 2 ಕಾರಣಗಳಿವೆ.

play04:11

ಮೊದಲನೆಯದು ಗ್ರಾಹಕರು ಸಾಫ್ಟ್‌ವೇರ್ ಬಗ್ಗೆ

play04:15

ವಿವರಿಸಬಹುದು.

play04:17

ವಿಶೇಷವಾಗಿ ಅವರು ಇನ್‌ಪುಟ್ ಡೇಟಾ ಸ್ವರೂಪಗಳು(data

play04:22

formats), ಪ್ರದರ್ಶಿಸಲ್ಪಡುವ ಸಂದೇಶಗಳು(diaplay messages),

play04:27

ವರದಿಗಳು(reports), ಸಂವಾದಾತ್ಮಕ ಸಂವಾದಗಳು(interactive dialogues)

play04:31

ಮತ್ತು ಇತ್ಯಾದಿಗಳನ್ನು ನೋಡಬಹುದು ಏಕೆಂದರೆ

play04:36

ಈ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಭಾಗವು ಹೆಚ್ಚಿನ ಮಟ್ಟಿಗೆ

play04:43

ವೈಯಕ್ತಿಕ ಆಯ್ಕೆಯಾಗಿದೆ.

play04:45

ಅದಕ್ಕಾಗಿಯೇ GUI ಭಾಗದಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ

play04:51

ಮೂಲಮಾದರಿಯ ಮಾದರಿಯನ್ನು(prototyping model) ಬಳಸಿಕೊಂಡು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ

play04:57

ಮತ್ತು ಕೆಲವು ಸಾಫ್ಟ್‌ವೇರ್‌ಗಳಿಗೆ ಸಹ, ಸಂಪೂರ್ಣ ಅಭಿವೃದ್ಧಿಯು

play05:04

ಮೂಲಮಾದರಿ ಮಾದರಿಯ(prototyping model) ಪ್ರಕಾರವಾಗಿರುತ್ತದೆ.

play05:08

ಪ್ರತಿ ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ GUI ಸಾಮಾನ್ಯವಾಗಿ ಮೂಲಮಾದರಿಯ

play05:14

ಮಾದರಿಯ(prototyping model) ಮೂಲಕ ಇರುತ್ತದೆ, ಅಲ್ಲಿ

play05:20

GUI ಗಾಗಿ ತ್ವರಿತ ಮೂಲಮಾದರಿಯನ್ನು(prototyping) ತಯಾರಿಸಲಾಗುತ್ತದೆ

play05:25

ಮತ್ತು ಕ್ಲೈಂಟ್ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ.

play05:29

ಡೆವಲಪರ್‌ಗಳು ಖಚಿತವಾಗಿರದ ತಾಂತ್ರಿಕ ಸಮಸ್ಯೆಗಳನ್ನು

play05:34

ಪರಿಶೀಲಿಸಲು ಸಹ ಇದು ಅನುಮತಿಸುತ್ತದೆ.

play05:39

ಉದಾಹರಣೆಗೆ, ವಿನ್ಯಾಸ ನಿರ್ಧಾರಗಳು ಹಾರ್ಡ್‌ವೇರ್

play05:44

ನಿಯಂತ್ರಕದ ಪ್ರತಿಕ್ರಿಯೆಯ ಸಮಯವನ್ನು ಅವಲಂಬಿಸಿರಬಹುದು

play05:48

ಮತ್ತು ಮೂಲಮಾದರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಅವರು ಅದನ್ನು

play05:54

ಪ್ರಯೋಗಿಸಿದರೆ, ಅವರು ಅದನ್ನು ಉತ್ತಮವಾಗಿ

play05:59

ವಿನ್ಯಾಸಗೊಳಿಸಬಹುದು.

play06:00

ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಸಾಫ್ಟ್‌ವೇರ್‌ಗೆ ಕಾರಣವಾಗುವ ಇನ್ನೊಂದು

play06:06

ಕಾರಣವೆಂದರೆ ಅದನ್ನು ಮೊದಲ ಬಾರಿಗೆ ಸರಿಯಾಗಿ

play06:12

ಪಡೆಯುವುದು ಅಸಾಧ್ಯ.

play06:14

ನಿಜವಾದ ಅಭಿವೃದ್ಧಿಯು ಪ್ರಾರಂಭವಾದರೆ ಅದು

play06:19

ಸುಲಭವಾಗುತ್ತದೆ ಮತ್ತು ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಸಾಫ್ಟ್‌ವೇರ್‌ಗಳನ್ನು

play06:25

ಪಡೆಯಬಹುದು ಮತ್ತು ಅದಕ್ಕಾಗಿಯೇ ಅನೇಕ

play06:30

ಅನುಭವಿ ಡೆವಲಪರ್‌ಗಳು ನಾವು ಉತ್ತಮ ಸಾಫ್ಟ್‌ವೇರ್

play06:36

ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಬಯಸಿದರೆ ಮೊದಲ ಆವೃತ್ತಿಯನ್ನು

play06:42

ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬಾರದು ಎಂದು ಹೇಳುತ್ತಾರೆ.

play06:46

ಇದನ್ನು ಗ್ರಾಹಕರಿಗೆ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ

play06:50

ಮತ್ತು ಮೂಲಮಾದರಿಯನ್ನು(prototyping) ಹಲವಾರು ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು

play06:55

ಬಳಸಿಕೊಂಡು ನಿರ್ಮಿಸಲಾಗಿದೆ ಬಹುಶಃ ನಕಲಿ ಕಾರ್ಯಗಳು.

play07:01

ನಿಜವಾದ ಗಣನೆ ಮತ್ತು ಇತ್ಯಾದಿಗಳ ಬದಲಿಗೆ

play07:07

ಟೇಬಲ್ ಲುಕ್ ಅಪ್.

play07:10

ಕ್ಲೈಂಟ್ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಮೂಲಮಾದರಿಯ ಮೇಲೆ ಪಡೆಯಲಾಗುತ್ತದೆ

play07:16

ಮತ್ತು ಕ್ಲೈಂಟ್ ಒಪ್ಪುವವರೆಗೂ ನಿಜವಾದ ಅಭಿವೃದ್ಧಿ(actual

play07:22

deveopment) ಮುಂದುವರಿಯುತ್ತದೆ.

play07:24

ಮೇಲಿನ ಸ್ಕೀಮ್ಯಾಟಿಕ್‌ನೊಂದಿಗೆ ನಾವು ಮೂಲಮಾದರಿಯ ಮಾದರಿಯನ್ನು(Prototyping

play07:30

model) ಪ್ರತಿನಿಧಿಸಬಹುದು.

play07:33

ಆರಂಭಿಕ ಅಗತ್ಯ ಸಂಗ್ರಹಣೆಯು ತ್ವರಿತ ವಿನ್ಯಾಸ ಮತ್ತು

play07:40

ನಿರ್ಮಾಣದ ಮೂಲಮಾದರಿಯಾಗಿದೆ(prototyping model).

play07:43

ಮೌಲ್ಯಮಾಪನಕ್ಕಾಗಿ ಗ್ರಾಹಕರಿಗೆ ಮೂಲಮಾದರಿಯನ್ನು

play07:47

ನೀಡಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯ ಆಧಾರದ ಮೇಲೆ ಅವಶ್ಯಕತೆಗಳನ್ನು

play07:54

ಪರಿಷ್ಕರಿಸಿ.

play07:55

ಮತ್ತೊಮ್ಮೆ, ಬದಲಾದ ಅವಶ್ಯಕತೆಗಳ ಆಧಾರದ

play08:00

ಮೇಲೆ ತ್ವರಿತ ವಿನ್ಯಾಸವನ್ನು ಮಾಡಿ, ಮೂಲಮಾದರಿಯನ್ನು(prototyping)

play08:06

ಪರಿಷ್ಕರಿಸಿ ಮತ್ತು ಇತ್ಯಾದಿ.

play08:09

ಗ್ರಾಹಕರು ತೃಪ್ತರಾಗುವವರೆಗೆ ಇದು ಈ ಸೈಕಲ್ ನಲ್ಲಿ\

play08:16

ಹೋಗುತ್ತದೆ ಮತ್ತು ನಂತರ ಅಭಿವೃದ್ಧಿಯ

play08:21

ಕ್ಲಾಸಿಕಲ್ ವಾಟರ್ಫಾಲ್ ಮಾಡೆಲ್(classical waterfall model)ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

play08:27

ಹೀಗಾಗಿ, ಇಲ್ಲಿ ನಿಜವಾದ ಅಭಿವೃದ್ಧಿಯು ಜಲಪಾತದ

play08:33

ಮಾದರಿಯಾಗಿದೆ(actual development waterfal model) ಮತ್ತು ಜಲಪಾತದ

play08:40

ಮಾದರಿಯೊಂದಿಗೆ(waterfall model) ಮುಖ್ಯ ವ್ಯತ್ಯಾಸವೆಂದರೆ

play08:45

ಮೂಲಮಾದರಿ ನಿರ್ಮಾಣ(Prototype model).

play08:48

ಮೂಲಮಾದರಿಯು(prototype model) ಅನಿಮೇಟೆಡ್ ಅವಶ್ಯಕತೆಗಳ

play08:53

ವಿವರಣೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

play08:56

ಮೂಲಮಾದರಿಯು(prototype model) SRS ಡಾಕ್ಯುಮೆಂಟ್‌ಗಾಗಿ

play09:00

ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

play09:01

ಆದರೆ ಒಮ್ಮೆ ಮೂಲಮಾದರಿಯು(prototype model) ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

play09:07

ಎಂಬುದನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವುದು ಬಹಳ ಮುಖ್ಯ, ಅದು ನಿಜವಾಗಿಯೂ

play09:14

ನಿಜವಾದ ಸಾಫ್ಟ್‌ವೇರ್‌ಗೆ ಪರಿಷ್ಕರಿಸಲ್ಪಟ್ಟಿಲ್ಲ.

play09:17

ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಮೊದಲಿನಿಂದ ಮತ್ತೆ

play09:22

ಬರೆಯಲಾಗಿದೆ.

play09:23

ಆರಂಭಿಕ ಮಾದರಿಯನ್ನು(initial model) ಎಸೆಯಲಾಗುತ್ತದೆ

play09:28

ಮತ್ತು ಹೊಸ ಸಾಫ್ಟ್‌ವೇರ್(software) ಅನ್ನು ಬರೆಯಲಾಗುತ್ತದೆ.

play09:33

ಆದರೆ ಮೂಲಮಾದರಿಯನ್ನು(prototype model) ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದರಿಂದ

play09:38

ಪಡೆದ ಅನುಭವವು ಅಭಿವರ್ಧಕರಿಗೆ(developers) ಸಹಾಯ ಮಾಡುತ್ತದೆ.

play09:44

ಅಭಿವೃದ್ಧಿಯನ್ನು ಪ್ರಾರಂಭಿಸುವುದು

play09:46

ಅಂತಿಮವಾಗಿ ಒಂದು ಉತ್ತಮ ಉಪಾಯವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವ

play09:52

ಮೂಲಕ ಮುಂಗಡ ಪ್ರಯೋಗವನ್ನು ಮಾಡುವುದಕ್ಕಿಂತ ಹೆಚ್ಚು

play09:58

ವೆಚ್ಚವಾಗುತ್ತದೆ.

play09:59

ಅನೇಕ ವಿಧದ ಯೋಜನೆಗಳಿಗೆ, ಮೂಲಮಾದರಿಯ(prototyping model)

play10:05

ನಿರ್ಮಾಣವು ಸಣ್ಣ ಓವರ್ಹೆಡ್ ಆಗಿರಬಹುದು ಆದರೆ ನಿಜವಾದ

play10:12

ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಬಹಳಷ್ಟು ಉಳಿತಾಯವಾಗಬಹುದು.

play10:15

ಅನೇಕ ಬಳಕೆದಾರರ ಅವಶ್ಯಕತೆಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ,

play10:20

ತಾಂತ್ರಿಕ ಸಮಸ್ಯೆಗಳು ಪರಿಹರಿಸಲ್ಪಡುತ್ತವೆ

play10:24

ಮತ್ತು ಆದ್ದರಿಂದ ಬದಲಾವಣೆಯ ವಿನಂತಿಗಳನ್ನು ದೊಡ್ಡ

play10:29

ಪ್ರಮಾಣದಲ್ಲಿ ಕಡಿಮೆಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದು ಉತ್ತಮ

play10:35

ಗುಣಮಟ್ಟದ ಸಾಫ್ಟ್‌ವೇರ್‌ಗೆ ಕಾರಣವಾಗುತ್ತದೆ.

play10:39

ಹೀಗಾಗಿ, ಮೂಲಮಾದರಿಯ ಮಾದರಿಯನ್ನು(prototype model)

play10:43

ಹೆಚ್ಚಾಗಿ ಆದ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ ಮತ್ತು

play10:48

ವಿಶೇಷವಾಗಿ GUI ಗಾಗಿ ಮೂಲಮಾದರಿಯ ಮಾದರಿಯನ್ನು(prototype

play10:53

model) ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

play10:56

ಪರಿಣಾಮವಾಗಿ ಸಾಫ್ಟ್ವೇರ್ ಹೆಚ್ಚು ಬಳಸಬಹುದಾಗಿದೆ.

play11:00

ಬಳಕೆದಾರರ ಅಗತ್ಯಗಳಿಗೆ ಉತ್ತಮ ಅವಕಾಶ ಕಲ್ಪಿಸಲಾಗಿದೆ

play11:06

ಮತ್ತು ಸಾಫ್ಟ್‌ವೇರ್ ಉತ್ತಮ ಗುಣಮಟ್ಟದ್ದಾಗಿದೆ.

play11:11

ಪರಿಣಾಮವಾಗಿ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು

play11:15

ಸುಲಭವಾಗಿದೆ ಮತ್ತು ಒಟ್ಟಾರೆ ಡೆವಲಪ್ಮೆಂಟ್

play11:19

ಕಾಸ್ಟ್(Development cost)ತುಂಬಾ ಕಡಿಮೆಯಾಗಿದೆ.

play11:23

ಅನಾನುಕೂಲಗಳೇನು?

play11:24

ಕೆಲವು ಯೋಜನೆಗಳಿಗೆ(project) ಮೂಲಮಾದರಿಯು(prototype)

play11:27

ದುಬಾರಿಯಾಗಬಹುದು.

play11:28

ಉದಾಹರಣೆಗೆ, ಎಲ್ಲಾ ಸಮಸ್ಯೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡರೆ,

play11:33

ಅವಶ್ಯಕತೆಗಳು ಸ್ಪಷ್ಟವಾಗಿದ್ದರೆ, ಮೂಲಮಾದರಿಯ(prototype) ನಿರ್ಮಾಣವು

play11:37

ಹೆಚ್ಚುವರಿ ಓವರ್ಹೆಡ್ಗೆ ಸೇರಿಸುತ್ತದೆ.

play11:41

ಮೂಲಮಾದರಿಯ ಮಾದರಿಯೊಂದಿಗಿನ(prototype model) ಮತ್ತೊಂದು ತೊಂದರೆ

play11:46

ಎಂದರೆ ಓವರ್ ಎಂಜಿನಿಯರಿಂಗ್(Over Engineering).

play11:51

ಡೆವಲಪರ್‌ಗಳು ಮೂಲಮಾದರಿಯನ್ನು(prototyping) ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ

play11:54

ನಂತರ ಅವರು ಮೂಲಮಾದರಿಯಲ್ಲಿ(prototype) ಸಂಯೋಜಿಸದ(incorporate) ಅತ್ಯಾಧುನಿಕತೆಗಳನ್ನು

play12:00

ಸಂಯೋಜಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತಾರೆ ಮತ್ತು ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳು

play12:05

ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೂ ಸಹ, ಅವರು ಸರಳ ಮೂಲಮಾದರಿಯನ್ನು(simple

play12:11

protoype) ಬರೆಯುವ ಅನುಭವವನ್ನು ಹೊಂದಿದ್ದರಿಂದ ಅದನ್ನು

play12:16

ಮಾಡಲು ಪ್ರಚೋದಿಸಬಹುದು.

play12:19

ಅವರು ಅದನ್ನು ಹೆಚ್ಚು ಅತ್ಯಾಧುನಿಕವಾಗಿ

play12:23

ಮಾಡಲು ಬಯಸುತ್ತಾರೆ.

play12:25

ಆದ್ದರಿಂದ, ಪ್ರೊಟೋಟೈಪ್ ಮಾಡೆಲ್ (prototype model ) ಮಾದರಿಯನ್ನು

play12:31

ಬಳಸಿದಾಗ, ಡೆವಲಪರ್‌ಗಳು ನಿಜವಾದ ಸಾಫ್ಟ್‌ವೇರ್

play12:37

ಅನ್ನು ಹೆಚ್ಚು ಇಂಜಿನಿಯರ್ ಮಾಡಲು ಪ್ರಲೋಭನೆಗೆ(tempted)

play12:43

ಒಳಗಾಗುತ್ತಾರೆ.

play12:45

ಜಲಪಾತ ಆಧಾರಿತ ಮಾದರಿಯೊಂದಿಗಿನ(waterfall model based) ಪ್ರಮುಖ ತೊಂದರೆಗಳನ್ನು

play12:52

ನೋಡೋಣ ಮತ್ತು ಈ ಮಾದರಿಗಳನ್ನು(model) ಏಕೆ ಬಳಸಲಾಗಿಲ್ಲ ಮತ್ತು

play13:01

ಹೊಸ ಮಾದರಿಗಳು(model) ಬಂದವು.

play13:04

ಯೋಜನೆಯ ಅಭಿವೃದ್ಧಿ ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲು

play13:09

ಅವಶ್ಯಕತೆಗಳನ್ನು ಫ್ರೀಜ್ ಮಾಡಬೇಕಾಗಿರುವುದು

play13:13

ಒಂದು ದೊಡ್ಡ ಸಮಸ್ಯೆಯಾಗಿದೆ, ಅದು ಪ್ರತಿ ಜಲಪಾತ

play13:20

ಆಧಾರಿತ ಮಾದರಿಯ ಲಕ್ಷಣವಾಗಿದೆ.

play13:23

ವಾಸ್ತವದಲ್ಲಿ, ಅಭಿವೃದ್ಧಿ ಪ್ರಾರಂಭವಾದಾಗ ಸುಮಾರು

play13:28

40 ಪ್ರತಿಶತದಷ್ಟು ಅವಶ್ಯಕತೆಗಳು ಬದಲಾಗುತ್ತವೆ ಮತ್ತು

play13:34

ಈ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ, ಜಲಪಾತದ ಮಾದರಿಯನ್ನು(waterfall

play13:39

model) ಬಳಸಿದರೆ, ಅಂತಿಮ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ

play13:44

ಸಾಫ್ಟ್‌ವೇರ್ ಬಳಕೆದಾರರ ಅವಶ್ಯಕತೆಗಳನ್ನು

play13:47

ಪೂರೈಸುವುದಿಲ್ಲ.

play13:49

ಜಲಪಾತದ ಮಾದರಿಯು(waterfall model) ಸಾಫ್ಟ್‌ವೇರ್‌ಗೆ

play13:53

ಉತ್ತಮವಾಗಿದೆ, ಇದನ್ನು 1970 ಮತ್ತು 80 ರ ದಶಕದಲ್ಲಿ

play14:02

ಮಾಡಲಾಗುತ್ತಿದ್ದಂತೆ ಮೊದಲಿನಿಂದ ಬರೆಯಲಾಗಿದೆ.

play14:05

ಆದರೆ ಈಗ ಜಲಪಾತದ ಮಾದರಿಯನ್ನು(waterfall model) ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ

play14:14

ಗ್ರಾಹಕೀಕರಣವು(customization) ಹೆಚ್ಚು ಸಮಸ್ಯಾತ್ಮಕವಾಗಿದೆ

play14:17

ಏಕೆಂದರೆ ಜಲಪಾತದ ಮಾದರಿಯು (waterfall model)ಎಲ್ಲಾ ಅವಶ್ಯಕತೆಗಳನ್ನು

play14:24

ವ್ಯಾಖ್ಯಾನಿಸಬೇಕಾಗಿದೆ.

play14:26

ಗ್ರಾಹಕೀಕರಣವು(customization) ಬಹುಶಃ ನಾವು ಈಗಾಗಲೇ

play14:30

ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವ ಸಾಫ್ಟ್‌ವೇರ್‌ನ ಕೆಲವು

play14:34

ಸಣ್ಣ ಅಂಶವನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ.

play14:38

ಆದ್ದರಿಂದ, ಇಲ್ಲಿ ಕೆಲಸವು ಏನನ್ನು ಬದಲಾಯಿಸಬೇಕು

play14:44

ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ

play14:47

ಮತ್ತು ಜಲಪಾತದ ಮಾದರಿಯೊಳಗೆ(waterfall model) ಹೊಂದಿಕೊಳ್ಳಲು

play14:53

ಅವುಗಳನ್ನು ಬದಲಾಯಿಸುವುದು ಕಷ್ಟಕರವಾಗಿರುತ್ತದೆ.

play14:57

ಜಲಪಾತ-ಆಧಾರಿತ ಮಾದರಿಯೊಂದಿಗಿನ(Waterfall model based) ಕೊನೆಯ ಪ್ರಮುಖ

play15:02

ತೊಂದರೆ ಏನೆಂದರೆ, "ಹೆವಿ ವೇಟ್ ಪ್ರಕ್ರಿಯೆಗಳು"(Heavy

play15:07

Height Processes) ಇವೆ, ಏಕೆಂದರೆ ಬಹಳಷ್ಟು ದಾಖಲಾತಿಗಳನ್ನು

play15:13

ಉತ್ಪಾದಿಸಲಾಗುತ್ತದೆ.

play15:14

ಪ್ರತಿ ಹಂತದ ದಸ್ತಾವೇಜನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ

play15:17

ಮತ್ತು ಎಲ್ಲಾ ಜಲಪಾತ-ಆಧಾರಿತ ಮಾದರಿಗಳ((waterfall model) ಲಕ್ಷಣವೆಂದರೆ

play15:23

ಸಾಫ್ಟ್‌ವೇರ್ ಅಭಿವೃದ್ಧಿಯ ಕೊನೆಯಲ್ಲಿ ದಾಖಲೆಗಳ

play15:27

ಬೃಹತ್ ಪರ್ವತವಿದೆ ಮತ್ತು ಜಲಪಾತದ ಮಾದರಿಯನ್ನು(waterfall

play15:32

model) ಭಾರೀ ತೂಕ ಎಂದು ಕರೆಯಲು ಇದು ಕಾರಣವಾಗಿದೆ.

play15:38

ಕಾರ್ಯವಿಧಾನಗಳು.

play15:39

ಜಲಪಾತದ ಮಾದರಿಯಲ್ಲಿ(waterfall model) ಡೆವಲಪರ್‌ಗಳು ಅರ್ಧದಷ್ಟು

play15:44

ಸಮಯವನ್ನು ದಾಖಲಿಸುತ್ತಿದ್ದಾರೆ ಮತ್ತು ಇದು ನಿಜವಾದ

play15:49

ಅಭಿವೃದ್ಧಿಯಲ್ಲ ಎಂದು ಗಮನಿಸಲಾಗಿದೆ.

play15:51

ಆದ್ದರಿಂದ, ನಾವು ದಸ್ತಾವೇಜನ್ನು ಕಡಿಮೆ ಮಾಡಿದರೆ ಅಭಿವೃದ್ಧಿಯನ್ನು

play15:57

ವೇಗವಾಗಿ ಮಾಡಬಹುದು.

play15:59

ನಂತರದ ಅಭಿವೃದ್ಧಿ ಮಾದರಿಗಳಲ್ಲಿ(Development

play16:02

model) ಅಗೈಲ್ ಮಾದರಿಗಳಲ್ಲಿ(Agile Model) ದಾಖಲಾತಿಯನ್ನು

play16:07

ಕನಿಷ್ಠವಾಗಿ ಇರಿಸಲಾಗಿದೆ ಎಂದು ನಾವು ನೋಡುತ್ತೇವೆ.

play16:11

ಆದರೆ ತೀವ್ರವಾಗಿ ಅನುಭವಿಸುವ ಪ್ರಮುಖ ತೊಂದರೆಗಳೆಂದರೆ,

play16:16

ಪ್ರಾರಂಭದಲ್ಲಿ ಅವಶ್ಯಕತೆಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬೇಕಾಗಿದೆ

play16:19

ಮತ್ತು ಆ ಹಂತದಿಂದ ಅದನ್ನು ಸರಿಪಡಿಸಲಾಗುತ್ತದೆ.

play16:23

ಪ್ರಾಜೆಕ್ಟ್ ಮ್ಯಾನೇಜರ್(project manager) ಅವಶ್ಯಕತೆಗಳ ಆಧಾರದ

play16:28

ಮೇಲೆ ಯೋಜನೆಗಳನ್ನು ರೂಪಿಸುವುದರಿಂದ ಮತ್ತು

play16:32

ಯಾವುದೇ ಬದಲಾವಣೆಯನ್ನು ಸಂಯೋಜಿಸಿದರೆ ಅದು

play16:36

ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದಲ್ಲಿ ವೆಚ್ಚವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.

play16:40

ಈ ಪ್ರದೇಶದ ಪ್ರಸಿದ್ಧ ಲೇಖಕರಾದ ಫ್ರೆಡೆರಿಕ್

play16:44

ಬ್ರೂಕ್ಸ್ ಅವರು ಏನು ಹೇಳುತ್ತಾರೆಂದು ನೋಡೋಣ

play16:49

"ಒಬ್ಬರು ಮುಂಚಿತವಾಗಿ ತೃಪ್ತಿದಾಯಕ ವ್ಯವಸ್ಥೆಯನ್ನು

play16:53

ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು, ಅದರ ನಿರ್ಮಾಣಕ್ಕಾಗಿ

play16:56

ಬಿಡ್ಗಳನ್ನು ಪಡೆಯಬಹುದು, ಅದನ್ನು ನಿರ್ಮಿಸಿ

play16:59

ಮತ್ತು ಸ್ಥಾಪಿಸಬಹುದು ಎಂಬ ಊಹೆ.

play17:03

ಈ ಊಹೆಯು ಮೂಲಭೂತವಾಗಿ ತಪ್ಪಾಗಿದೆ ಮತ್ತು

play17:08

ಅನೇಕ ಸಾಫ್ಟ್‌ವೇರ್ ಆರೋಪದ ಸಮಸ್ಯೆಗಳು

play17:12

ಇದರಿಂದ ಹುಟ್ಟಿಕೊಳ್ಳುತ್ತವೆ.

play17:14

ಬ್ರೂಕ್ಸ್ ಅನೇಕ ಯೋಜನೆಗಳಲ್ಲಿ ಅನುಭವವನ್ನು ಹೊಂದಿದ್ದಾರೆ

play17:18

ಮತ್ತು ಯಾವುದೇ ಗ್ರಾಹಕರಿಗೆ ಎಲ್ಲಾ ಅವಶ್ಯಕತೆಗಳನ್ನು

play17:23

ಮುಂಚಿತವಾಗಿ ನೀಡುವುದು ಮತ್ತು ನಂತರ ಅದನ್ನು

play17:28

ನಿರ್ಮಿಸಲು ಯಾರನ್ನಾದರೂ ಪಡೆಯುವುದು ತುಂಬಾ

play17:31

ಕಷ್ಟಕರವಾಗಿರುತ್ತದೆ ಎಂದು ಗಮನಿಸಿದರು.

play17:34

ಇದು ಮೂಲಭೂತವಾಗಿ ತಪ್ಪು ಮತ್ತು ಹೆಚ್ಚಿನ ಯೋಜನೆಯ

play17:40

ವೈಫಲ್ಯಗಳು ಇದಕ್ಕೆ ಕಾರಣವೆಂದು ಅವರು ಹೇಳುತ್ತಾರೆ.

play17:45

ಹೆಚ್ಚುತ್ತಿರುವ ಮಾದರಿಯನ್ನು(Model) ನೋಡಲಾಗುತ್ತಿದೆ.

play17:47

ಈ ಮಾದರಿಯಲ್ಲಿ(model), ನಾವು ಇನ್‌ಕ್ರಿಮೆಂಟ್

play17:51

ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತೇವೆ ಮತ್ತು ನಂತರ ನಾವು

play17:56

ಒಂದು ಇನ್‌ಕ್ರಿಮೆಂಟ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವ

play18:00

ಮೂಲಕ ಕಲಿಯುತ್ತೇವೆ ಮತ್ತು ನಂತರ ಮುಂದಿನ

play18:04

ಇನ್‌ಕ್ರಿಮೆಂಟ್ ಮಾಡಿ ಮತ್ತು ಕ್ಲೈಂಟ್ ಸ್ಥಳದಲ್ಲಿ

play18:09

ಕಂತು ಮಾಡಿ ಮತ್ತು ನಂತರ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು

play18:14

ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ ಮತ್ತು ಮುಂದಿನ ಇನ್‌ಕ್ರಿಮೆಂಟ್‌ನಲ್ಲಿ

play18:18

ನಾವು ಅದನ್ನು ಸರಿಹೊಂದಿಸುತ್ತೇವೆ ಮತ್ತು ಇದು ಇಟೆರಟಿವೆ

play18:23

ಎಂಹನ್ಸಮೆಂಟ್ ಮಾಡೆಲ್ (Iterative Enhancement Models).

play18:29

ಸಂಕ್ಷಿಪ್ತವಾಗಿ, “ಮೂಲ ಕಲ್ಪನೆ, ಹೆಚ್ಚಳದ

play18:33

ಅಭಿವೃದ್ಧಿಯ ಸಮಯದಲ್ಲಿ ಕಲಿಯುವ ಲಾಭವನ್ನು

play18:38

ಪಡೆದುಕೊಳ್ಳಿ.

play18:39

ಕಲಿಕೆಯು ವ್ಯವಸ್ಥೆಯ ಅಭಿವೃದ್ಧಿ ಮತ್ತು

play18:43

ಬಳಕೆ ಎರಡರಿಂದಲೂ ಬರುತ್ತದೆ.

play18:47

ಅವಶ್ಯಕತೆಯ ಉಪವಿಭಾಗದ ಸರಳ ಅನುಷ್ಠಾನದೊಂದಿಗೆ(Simple

play18:51

implementation) ಪ್ರಾರಂಭಿಸಿ; ಆವೃತ್ತಿಗಳ ಇಟೆರಟಿವೆ

play18:56

ಎನ್ಹ್ಯಾನ್ಸ್ (iteratively enhance) ಪುನರಾವರ್ತಿತವಾಗಿ

play19:00

ವರ್ಧಿಸುತ್ತದೆ.

play19:01

ಪ್ರತಿ ಆವೃತ್ತಿಯಲ್ಲಿ ಹೊಸ ಕ್ರಿಯಾತ್ಮಕ ಸಾಮರ್ಥ್ಯಗಳನ್ನು

play19:07

ಸೇರಿಸುವುದರೊಂದಿಗೆ ವಿನ್ಯಾಸ ಮಾರ್ಪಾಡುಗಳನ್ನು

play19:10

ಮಾಡಲಾಗುತ್ತದೆ.

play19:12

ಹೆಚ್ಚುತ್ತಿರುವ ಮತ್ತು ಇಂಕ್ರಿಮೆಂಟಲ್ ಡೆವಲಪ್ಮೆಂಟ್

play19:16

(Incremental development) ಪ್ರಮುಖ ಲಕ್ಷಣವೆಂದರೆ ಅದು

play19:22

ವ್ಯವಸ್ಥೆಯನ್ನು ಹೆಚ್ಚುತ್ತಿರುವ ರೀತಿಯಲ್ಲಿ ನಿರ್ಮಿಸುತ್ತದೆ.

play19:26

ಯೋಜಿತ ಸಂಖ್ಯೆಯ ಪುನರಾವರ್ತನೆಗಳಿವೆ ಮತ್ತು ಆರಂಭಿಕ ಅವಶ್ಯಕತೆಗಳನ್ನು

play19:33

ಆವೃತ್ತಿಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ ಮತ್ತು ಅವುಗಳು ಏರಿಕೆಗಳಾಗಿವೆ.

play19:39

ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯು ಕ್ಲೈಂಟ್‌ನ ಸ್ಥಳದಲ್ಲಿ

play19:43

ಸ್ಥಾಪಿಸಲಾದ ಕೆಲಸದ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು

play19:48

ಉತ್ಪಾದಿಸುತ್ತದೆ.

play19:49

ಮುಖ್ಯ ಪ್ರಯೋಜನಗಳೆಂದರೆ, ಕ್ಲೈಂಟ್ ಮುಂದಿನ ಇನ್‌ಕ್ರಿಮೆಂಟ್‌ನಲ್ಲಿ

play19:54

ಸೇರಿಸಬಹುದಾದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡಬಹುದು ಮತ್ತು ಈ

play20:00

ತಂತ್ರಗಳು ವಾಸ್ತವವಾಗಿ ಚುರುಕುಬುದ್ಧಿಯ ತಂತ್ರಗಳಿಗೆ

play20:05

(ಅಂದರೆ ತರ್ಕಬದ್ಧ ಏಕೀಕೃತ ಪ್ರಕ್ರಿಯೆ

play20:09

ಮತ್ತು ತೀವ್ರ ಪ್ರೋಗ್ರಾಮಿಂಗ್) ಅಡಿಪಾಯವಾಗಿದೆ.

play20:14

ಹೆಚ್ಚುತ್ತಿರುವ ಅಭಿವೃದ್ಧಿಯು ಅನೇಕ ಪ್ರಯೋಜನಗಳನ್ನು

play20:18

ಹೊಂದಿದೆ.

play20:19

ನಾವು ಹೆಚ್ಚುತ್ತಿರುವ ಅಭಿವೃದ್ಧಿಯ ಗ್ರಾಹಕರ

play20:24

ದೃಷ್ಟಿಕೋನದಿಂದ ನೋಡಿದರೆ.

play20:26

ಆರಂಭದಲ್ಲಿ ಅವರು ಸಾಫ್ಟ್‌ವೇರ್‌ನ ಪ್ರಮುಖ ಭಾಗವನ್ನು

play20:32

ಪಡೆಯುತ್ತಾರೆ, ಪ್ರಯೋಗಗಳನ್ನು ಮಾಡುತ್ತಾರೆ ಮತ್ತು

play20:36

ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡುತ್ತಾರೆ.

play20:38

ಪೂರ್ಣ ಸಾಫ್ಟ್‌ವೇರ್ ತಯಾರಿಸುವವರೆಗೆ ಅವರು

play20:43

ಸ್ವಲ್ಪ ದೊಡ್ಡ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತಾರೆ.

play20:49

ಆದರೆ ವಿನ್ಯಾಸಕಾರರಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ, ಡೆವಲಪರ್‌ಗಳು

play20:53

ಅವಶ್ಯಕತೆಗಳನ್ನು ಪಡೆಯುತ್ತಾರೆ ಮತ್ತು

play20:56

ಅವರು ಇದನ್ನು ವಿತರಿಸಬಹುದಾದ ವೈಶಿಷ್ಟ್ಯಗಳಾಗಿ

play21:01

ವಿಭಜಿಸುತ್ತಾರೆ.

play21:02

ಒಟ್ಟಾರೆ ವಿನ್ಯಾಸವನ್ನು ಮಾಡಲಾಗಿದೆ ಮತ್ತು

play21:07

ಅವರು ಏರಿಕೆಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಲೇ

play21:10

ಇರುತ್ತಾರೆ, ಇನ್‌ಕ್ರಿಮೆಂಟ್ ಅನ್ನು ಪರೀಕ್ಷಿಸುತ್ತಾರೆ,

play21:15

ಹಿಂದಿನ ಸಾಫ್ಟ್‌ವೇರ್‌ನೊಂದಿಗೆ ಸಂಯೋಜಿಸುತ್ತಾರೆ,

play21:18

ಸಿಸ್ಟಮ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತಾರೆ ಮತ್ತು ಇತ್ಯಾದಿ ಎಲ್ಲಾ

play21:25

ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುವವರೆಗೆ

play21:27

ಮತ್ತು ಅಂತಿಮವಾಗಿ ಸಿಸ್ಟಮ್ ಅನ್ನು ತಲುಪಿಸುತ್ತಾರೆ.

play21:33

ಆರಂಭಿಕ ಅವಶ್ಯಕತೆಗಳನ್ನು ವೈಶಿಷ್ಟ್ಯಗಳಾಗಿ

play21:36

ವಿಭಜಿಸಲಾಗಿದೆ ಮತ್ತು ಅವುಗಳು ಒಂದು ಸಮಯದಲ್ಲಿ

play21:42

ಒಂದು ವೈಶಿಷ್ಟ್ಯವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದನ್ನು

play21:45

ಮುಂದುವರಿಸಬಹುದು.

play21:46

ಸಹಬಾಳ್ವೆಯನ್ನು ಹಲವಾರು ವಿಧಗಳಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ:

play21:51

ಒಟ್ಟಿಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರಲು (ಸಮಯ ಅಥವಾ ಸ್ಥಳದಲ್ಲಿ)

play21:56

ಮತ್ತು ಪರಸ್ಪರ ಸಹಿಷ್ಣುತೆಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರಲು.[2]

play22:01

ವ್ಯತ್ಯಾಸವನ್ನು ಗುರುತಿಸಲು ಮತ್ತು ಬದುಕಲು ಕಲಿಯಲು.[3]

play22:05

ಯಾವುದೇ ಪಕ್ಷಗಳು ಇತರರನ್ನು ನಾಶಮಾಡಲು ಪ್ರಯತ್ನಿಸದ

play22:10

ವ್ಯಕ್ತಿಗಳು ಅಥವಾ ಗುಂಪುಗಳ ನಡುವೆ ಸಂಬಂಧವನ್ನು

play22:14

ಹೊಂದಲು.[4] ಸಹಿಷ್ಣುತೆ, ಪರಸ್ಪರ

play22:17

ಗೌರವ ಮತ್ತು ಹಿಂಸಾಚಾರವನ್ನು ಆಶ್ರಯಿಸದೆ ಸಂಘರ್ಷಗಳನ್ನು

play22:21

ಇತ್ಯರ್ಥಪಡಿಸುವ ಒಪ್ಪಂದಕ್ಕೆ ಬದ್ಧತೆಯೊಂದಿಗೆ ಸಂವಹನ

play22:25

ನಡೆಸುವುದು.[5] ವಾಟರ್ಫಾಲ್ ಮಾಡೆಲ್(Waterfall

play22:28

Model) ನಾವು ಹೆಚ್ಚುತ್ತಿರುವ ಮಾದರಿಯನ್ನು(Model) ಹೋಲಿಸಿದರೆ,

play22:32

ವಾಟರ್ಫಾಲ್ ಮಾಡೆಲ್(Waterfall Model) ಒಂದೇ ಬಿಡುಗಡೆಯನ್ನು

play22:36

ಹೊಂದಿದೆ ಆದರೆ ಪುನರಾವರ್ತಿತ ಮಾದರಿಯಲ್ಲಿ(Iterative model)

play22:41

ಗ್ರಾಹಕರಿಗೆ ಅನೇಕ ಧಾರ್ಮಿಕತೆಗಳಿವೆ.

play22:44

ಮೊದಲ ಇನ್‌ಕ್ರಿಮೆಂಟ್ ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರಮುಖ

play22:47

ಕಾರ್ಯಚಟುವಟಿಕೆಯಾಗಿದೆ ಮತ್ತು ಪ್ರತಿ ಇನ್‌ಕ್ರಿಮೆಂಟ್‌ನಲ್ಲಿ

play22:51

ಹೊಸ ಫುನ್ಕ್ಷನ್ಗಳನ್ನು(functions) ಸೇರಿಸಲಾಗುತ್ತದೆ

play22:53

ಮತ್ತು ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯ ಪ್ರಕಾರ, ಮಾರ್ಪಾಡುಗಳನ್ನು

play22:58

ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಸಂಪೂರ್ಣ ಉತ್ಪನ್ನದ

play23:01

ಅಂತಿಮ ಹೆಚ್ಚಳವನ್ನು ಮಾಡಲಾಗುತ್ತದೆ.

play23:04

ಆದರೆ ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯು ಜಲಪಾತದಂತಹ ಜೀವನ ಚಕ್ರದಲ್ಲಿ(Iterative

play23:09

waterfall life cycle) ಬಳಸಬಹುದಾದ ಸಣ್ಣ ಕಿರು ಪ್ರಾಜೆಕ್ಟ್

play23:15

ಆಗಿದೆ (small mini project).

play23:19

ಸಂಪೂರ್ಣ ಅಗತ್ಯವನ್ನು ಏರಿಕೆಗಳಾಗಿ ವಿಭಜಿಸಲಾಗಿದೆ;

play23:24

ಮೊದಲ ಹೆಚ್ಚಳವು ವಿನ್ಯಾಸ(design), ನಿರ್ಮಾಣ(build), ಸ್ಥಾಪನೆ(install)

play23:29

ಮತ್ತು ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿದೆ(customer feedback).

play23:34

ಮೊದಲ ಇನ್‌ಕ್ರಿಮೆಂಟ್ ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು(customer

play23:38

feedback) ಪಡೆದ ನಂತರ, ಎರಡನೇ ಇನ್‌ಕ್ರಿಮೆಂಟ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ

play23:45

ಮತ್ತು ನಂತರ ಮೂರನೆಯದು ಮತ್ತು ಈ ಕೆಳಗಿನಂತೆ

play23:52

ವಿಶ್ರಾಂತಿ(rest) ಪಡೆಯುತ್ತದೆ.

play23:55

ಒಂದು ಇನ್ಕ್ರಿಮೆಂಟ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವ

play23:59

ಸಮಯವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಟೈಮ್ ಬಾಕ್ಸ್ ಎಂದು

play24:05

ಕರೆಯಲಾಗುತ್ತದೆ.

play24:06

ನಾವು ಹೆಚ್ಚುತ್ತಿರುವ ಮಾದರಿಯನ್ನು ಪ್ರತಿನಿಧಿಸಬಹುದು.

play24:11

ಪ್ರತಿ ಬಾರಿ ಒಂದು ಇನ್ಕ್ರಿಮೆಂಟ್ ಅನ್ನು

play24:16

ವಿನ್ಯಾಸಗೊಳಿಸಿದಾಗ ಅಭಿವೃದ್ಧಿಯು ಪ್ರಾರಂಭವಾಗುವಂತೆ

play24:20

ಏರಿಕೆಗಳನ್ನು ಯೋಜಿಸಲಾಗಿದೆ.

play24:22

ಇನ್‌ಕ್ರಿಮೆಂಟ್ ಅನ್ನು ನಿರ್ಮಿಸಿ ಮತ್ತು ಅದನ್ನು

play24:28

ಕಾರ್ಯಗತಗೊಳಿಸಿ ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ

play24:32

ಮಾಡಿ ಮತ್ತು ಪೂರ್ಣ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು

play24:38

ಅಭಿವೃದ್ಧಿಪಡಿಸುವವರೆಗೆ ಇದು ಒಂದರ ನಂತರ ಒಂದರಂತೆ

play24:44

ಇನ್ಕ್ರಿಮೆಂಟ್(increment) ಅನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ.

play24:47

ಆದರೆ ಯಾವ ಹೆಚ್ಚಳವನ್ನು ಮೊದಲು ಮಾಡಲಾಗುತ್ತದೆ

play24:53

ಮತ್ತು ಡೆವಲಪರ್‌ಗಳು ಹೇಗೆ ನಿರ್ಧರಿಸುತ್ತಾರೆ?

play24:58

ಆರಂಭದಲ್ಲಿ ನಾವು ಕೆಲವು ಏರಿಕೆಗಳನ್ನು ಮಾಡಬೇಕು

play25:04

ಏಕೆಂದರೆ ಇತರರು ಅದರ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಬಹುದು.

play25:09

ಆದರೆ ಅವಶ್ಯಕತೆಗಳನ್ನು ಯಾವುದೇ ಕ್ರಮದಲ್ಲಿ

play25:14

ಮಾಡಲಾಗಿದ್ದರೆ, ನಾವು ಮೌಲ್ಯದಿಂದ ವೆಚ್ಚದ

play25:18

ಅನುಪಾತವನ್ನು ಗಣಿಸಬಹುದು, ಅದು V ಬೈ ಸಿ ಅನುಪಾತ

play25:27

ಎಂದು ತಿಳಿಯುತ್ತದೆ; ಅಲ್ಲಿ, V ಎಂಬುದು ಗ್ರಾಹಕರಿಗೆ

play25:31

ಮೌಲ್ಯವಾಗಿದೆ.(1 ರಿಂದ 10 ರ ನಡುವಿನ ಮೌಲ್ಯವನ್ನು

play25:32

ನೀಡಿ) ಮತ್ತು C ವೆಚ್ಚವು ಅಭಿವೃದ್ಧಿಯ ವೆಚ್ಚವಾಗಿದೆ

play25:33

(1 ರಿಂದ 10 ರ ನಡುವೆ).

play25:34

ಇದು ಕೇವಲ ಒಂದು ಉದಾಹರಣೆಯಾಗಿದೆ ಮತ್ತು ಮುಂದಿನ ಉಪನ್ಯಾಸದಲ್ಲಿ

play25:35

ಪುನರಾವರ್ತನೆಗಳೊಂದಿಗೆ ವಿಕಸನೀಯ ಮಾದರಿಯ(evolutionary

play25:36

model) ಬಗ್ಗೆ ನಾವು ಚರ್ಚಿಸುತ್ತೇವೆ.

play25:37

ಹೆಚ್ಚುತ್ತಿರುವ ಮಾದರಿಯು(model) ಬಹಳ ಮುಖ್ಯವಾದ ಮಾದರಿಯಾಗಿದೆ

play25:38

ಎಂದು ನಾವು ನೋಡಿದ್ದೇವೆ ಏಕೆಂದರೆ ಅದು ಬಹಳಷ್ಟು

play25:39

ಪ್ರಯೋಜನಗಳನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಮುಂದೆ, ನಾವು

play25:40

ವಿಕಸನೀಯ ಮಾದರಿಯನ್ನು(evolutionary model) ನೋಡುತ್ತೇವೆ ಮತ್ತು

play25:41

ಈ ಎರಡು ಮಾದರಿಗಳ(models) ಆಧಾರದ ಮೇಲೆ ನಾವು

play25:42

ಚುರುಕಾದ ಮಾದರಿಗಳನ್ನು(Agile models) ನೋಡುತ್ತೇವೆ.

Rate This

5.0 / 5 (0 votes)

Related Tags
Prototyping ModelSoftware DevelopmentWaterfall ModelUser FeedbackIncremental DesignAgile MethodologyProject ManagementRequirements AnalysisDevelopment CostCustomer SatisfactionIterative Enhancement