Lecture 11: Evolutionary Model

IIT Kharagpur July 2018
10 Aug 201827:59

Summary

TLDRThe video script delves into various software development models, highlighting the Incremental Development Model and its evolution from the Waterfall Model. It discusses the necessity for adaptability in project requirements and the shortcomings of fixed models in handling such changes. The script explores the Evolutionary Model and its iterative approach to development, emphasizing the importance of client feedback and the flexibility to incorporate changes. It also touches on the Rapid Application Development (RAD) model, emphasizing quick prototyping and customer interaction, and concludes with the Unified Process, an iterative and incremental approach to software development that involves four phases: Inception, Elaboration, Construction, and Transition.

Takeaways

  • 📈 The Incremental Development Model builds upon the Waterfall Model by addressing its limitations and allowing for changes in requirements as a project progresses.
  • 🔄 Requirements often change during a software project due to various reasons, including clients' inability to fully visualize the software before its creation, leading to many requirements being discarded or altered.
  • 🔍 Capers Jones’s research across 8000 projects revealed that about 40% of requirements change during development, which is a significant issue not well addressed by either the Waterfall or Incremental Model.
  • 🛠 The Evolutionary Model attempts to embrace all requirements and iteratively develop features based on client feedback, allowing the software to evolve and adapt to real-world usage.
  • 🔑 The key difference between the Incremental Model and the full Evolutionary Model lies in the approach to requirement specification, with the latter allowing for more flexibility and less rigid planning.
  • 🚀 The Evolutionary Model is sometimes referred to as 'plan a little, design a little, code a little,' emphasizing the iterative and incremental development of features based on client input.
  • 🔄 The model supports changes in requirements and design throughout the development process, ensuring that the final software product is more aligned with user needs and feedback.
  • 🌐 The iterative nature of the Evolutionary Model allows for the gradual integration of new features and functions, with each iteration potentially adding to the system's functionality based on client site deployment.
  • 🛑 The model also acknowledges the unpredictability of software development, allowing for changes in direction and adjustments to the development process as needed.
  • 🔍 The Unified Process, developed by Jacobson, Booch, and Rumbaugh, is an iterative and incremental approach widely used in object-oriented software development, emphasizing the importance of client interaction and feedback throughout the development lifecycle.
  • 📊 The Unified Process is structured into four phases: Inception, Elaboration, Construction, and Transition, each with its own set of activities and iterations, culminating in the deployment of the software to the client.

Q & A

  • What does the Incremental Development Model address that the Waterfall Model does not?

    -The Incremental Development Model addresses the limitations of the Waterfall Model by allowing for changes in requirements as the project progresses, whereas the Waterfall Model does not accommodate such changes once the development process has begun.

  • Why might software requirements change during the development process?

    -Software requirements may change due to various factors, such as clients gaining a better understanding of what they want as the software takes shape, or because initial requirements were not fully understood or specified at the outset.

  • What did Capers Jones’s research on 8000 projects reveal about requirement changes?

    -Capers Jones’s research found that during the development phase, about 40 percent of the requirements change. This highlights the importance of development models that can accommodate such changes, unlike the Waterfall Model.

  • How does the Evolutionary Model differ from the Incremental Model in terms of requirement specification?

    -The Evolutionary Model, unlike the Incremental Model, does not require a complete specification of all requirements upfront. Instead, it focuses on identifying a set of features and evolving the software by adding more features based on client feedback and testing.

  • What is the basic principle behind the 'plan a little, design a little, code a little' approach in the Evolutionary Model?

    -This approach in the Evolutionary Model emphasizes incremental development where each iteration focuses on a small set of features. It allows for continuous refinement and adaptation of the software based on user feedback and evolving requirements.

  • How does the client's involvement in the Evolutionary Model differ from other models?

    -In the Evolutionary Model, clients are involved throughout the development process, providing feedback on each iteration, which influences the evolution of the software. This is more interactive compared to models where client involvement is limited to the initial requirements phase.

  • What is the significance of the iterative approach in the Evolutionary Model?

    -The iterative approach in the Evolutionary Model allows for the continuous integration of new features and refinement of existing ones based on real-world usage and feedback. This leads to a more adaptive and user-focused development process.

  • How does the Rapid Application Development (RAD) Model differ from the Incremental and Evolutionary Models?

    -The RAD Model focuses on rapid prototyping and quick development cycles, often using high-level tools and standard APIs to speed up the process. It typically involves short-term planning and customization, with an emphasis on quick feedback and iteration.

  • What are the potential downsides of the Evolutionary Model in terms of project management?

    -The Evolutionary Model can lead to challenges in project management due to its iterative and adaptive nature, which may result in unpredictable timelines and budgets. It also requires a flexible and responsive team that can handle the uncertainty of evolving requirements.

  • How does the Unified Process address the iterative and incremental aspects of software development?

    -The Unified Process, developed by Jacobson, Booch, and Rumbaugh, is an iterative and incremental approach that encompasses four phases: Inception, Elaboration, Construction, and Transition. It allows for continuous refinement and client involvement throughout the development lifecycle.

  • What is the main advantage of using a graphical representation in the Unified Process?

    -A graphical representation in the Unified Process provides a visual overview of the development lifecycle, showing the phases and iterations, and highlighting the peaks and valleys of activities such as analysis, design, implementation, and testing.

Outlines

00:00

🔄 Incremental and Evolutionary Models in Software Development

The paragraph discusses the Incremental Development Model and its advantages over the traditional Waterfall Model, highlighting the need for flexibility in changing requirements. It introduces the Evolutionary Model, which accommodates these changes more effectively. The speaker references a study by Capers Jones, which found that 40% of requirements change during development, emphasizing the importance of models that can adapt to such changes. The paragraph also touches on the client-side planning in the Evolutionary Model and the iterative process of feature development and refinement.

05:01

👥 Roles and Perspectives on Iterative Software Engineering

This paragraph explores the roles of stakeholders, including testers and technical architects, in the iterative software development process. It contrasts the Iterative Waterfall Model with the Incremental Model and cites Tom Gilb's perspective on the importance of early feedback in complex systems. The paragraph discusses the Revolutionary Model, which emphasizes client feedback and feature selection based on usage, and Craig Larman's view on the iterative development of requirements, planning, and solutions. It also mentions the challenges of managing the unpredictable nature of software development.

10:04

🛠 The Evolutionary Model's Process and Client Interaction

The paragraph delves into the schematic representation of the Evolutionary Model, starting with a rough system design and evolving through iterations that include specification, development, validation, and deployment. It explains how each iteration refines the core system and integrates client feedback. The model's flexibility is highlighted, allowing for changes and adaptations based on user experience and feedback, leading to a more reliable final software delivery compared to the Waterfall Model.

15:08

📈 The Impact of Iterative Models on Project Management

This paragraph discusses the challenges of managing software projects using iterative models, such as the difficulty in predicting the number of iterations required for completion and the continuous changes in software requirements. It mentions the potential for increased complexity in project management due to the evolving nature of software development, the need for frequent releases, and the impact on client expectations and satisfaction.

20:08

🚀 Rapid Application Development (RAD) Model and Prototyping

The paragraph introduces the Rapid Application Development (RAD) Model, also known as Rapid Prototyping, which focuses on reducing development time and cost while allowing for quick changes. It explains the RAD Model's adherence to incremental development, the use of time-boxed iterations, and the emphasis on creating functional software with minimal design. The paragraph also addresses the trade-offs between speed and quality in RAD projects and the suitability of RAD for smaller, modular software development.

25:11

🔧 Unified Process and Iterative Software Development

This paragraph outlines the Unified Process, developed by Jacobson, Booch, and Rumbaugh, which is widely used in object-oriented software development. It describes the process as iterative and incremental, involving client-side deployment and feedback. The Rational Corporation's development process, now known as the Unified Process, was acquired by IBM in 2003. The Unified Process is divided into four phases: Inception, Elaboration, Construction, and Transition, each involving multiple iterations and activities.

📊 Outputs and Phases of the Unified Process

The final paragraph summarizes the outputs and phases of the Unified Process. It lists the deliverables for each phase, such as initial models, use cases, risk lists, and project plans in the Inception phase, and detailed models and user manuals in the Construction phase. The paragraph also mentions the graphical representation of the Unified Process, with the horizontal axis showing the lifecycle and the vertical axis showing the core process flow, illustrating the iterative nature of the process.

Mindmap

Keywords

💡Incremental Development Model

The Incremental Development Model is a software development approach where the product is built and delivered in stages, with each stage adding new features or functionality. It is a core concept in the video, illustrating an adaptive method to accommodate changing requirements. For example, the script mentions that 'In the Incremental Model, requirements change over time,' highlighting its flexibility compared to the traditional Waterfall Model.

💡Evolutionary Model

The Evolutionary Model is a development strategy that involves continuous refinement and enhancement of the software product through iterative cycles. It is integral to the video's theme of progressive development. The script refers to it as an approach that 'attempts to address the need to identify all requirements completely,' showcasing its dynamic nature in software evolution.

💡Software Engineering

Software Engineering is the application of engineering principles to software design, development, and maintenance. It is the overarching field within which the video's discussion of development models is situated. The script touches on various models and their impact on software engineering practices, emphasizing the importance of adapting to changing requirements and user feedback.

💡Rapid Prototyping

Rapid Prototyping is a method of quickly creating a minimally viable product to elicit user feedback and refine the product iteratively. It is a key concept in the video, as it exemplifies the agile approach to development. The script describes it as a process that 'reduces the time and cost of development,' allowing for swift adaptation to user needs.

💡Iterative Process

The Iterative Process involves repeating cycles of development and refinement, allowing for continuous improvement of the product. It is a fundamental concept in the video, as it underpins many of the discussed models. The script mentions that 'the project is developed in several increments,' which is characteristic of iterative processes.

💡Unified Process

The Unified Process, also known as the Rational Unified Process, is an iterative software development process that emphasizes the use of components and patterns. It is a significant framework discussed in the video, which includes phases like Inception, Elaboration, Construction, and Transition. The script refers to it as 'a more realistic picture of the software development lifecycle,' indicating its comprehensive approach.

💡Waterfall Model

The Waterfall Model is a traditional, linear approach to software development where progress flows sequentially through stages of conception, design, implementation, testing, and maintenance. It is contrasted with more flexible models in the video. The script points out its limitations, such as 'no opportunity for necessary changes during the development time,' to highlight the need for adaptive models.

💡Software Reliability

Software Reliability refers to the dependability of a software product to perform its intended function without failure. It is a critical aspect discussed in the context of development models. The script implies that models like the Waterfall Model may not ensure reliability due to the lack of iterative feedback and refinement.

💡Modular Design

Modular Design is an approach to software architecture where the system is divided into independent, interchangeable modules. It is relevant to the video's discussion on development models that promote maintainability and scalability. The script suggests that 'if the software is to be large and complex,' a modular approach like that in the Unified Process can be particularly useful.

💡Client-Side Development

Client-Side Development pertains to the creation of applications or features that run on the user's device, as opposed to server-side development. It is a term used in the video to describe where certain functionalities are planned and executed. The script mentions that 'features are developed and deployed at the client's site,' emphasizing the importance of user interaction and feedback in the development process.

💡Feedback Loop

A Feedback Loop is a process where the output of a system is used as input to refine the system's performance. It is central to the video's discussion of iterative and evolutionary models. The script describes how 'receiving feedback from the client and using it to refine the system' is a key part of the development process, illustrating the iterative nature of modern software development.

Highlights

Introduction to the Incremental Development Model and its advantages over the Waterfall Model.

Explanation of how requirements change frequently in real projects and the reasons behind it.

Capers Jones’s research findings on the high rate of requirement changes in software development projects.

The limitations of the Waterfall Model in handling requirement changes during development.

Description of the Incremental Model's approach to identifying and prioritizing requirements in slices.

The Evolutionary Model's strategy for dealing with the uncertainty of requirements in software projects.

Comparison between the Evolutionary Model and the Incremental Model, especially regarding client-side planning.

The concept of 'plan a little, design a little, code a little' in the Evolutionary Model.

Discussion on the importance of customer feedback in the Evolutionary Model for refining software features.

The iterative nature of the Evolutionary Model and its contrast with the traditional Waterfall Model.

Tom Gilb's perspective on the value of the Evolutionary Model in real-life projects for managing complexity.

Craig Larman's view on the iterative development process and its focus on planning, estimating, and solving within iterations.

The challenges of the Evolutionary Model, such as the unpredictability of the process and the difficulty in management.

The Rapid Application Development (RAD) Model and its emphasis on quick prototyping and reduced development time.

The Unified Process developed by Jacobson, Booch, and Rumbaugh for object-oriented software development.

The four phases of the Unified Process: Inception, Elaboration, Construction, and Transition.

The outputs of each phase in the Unified Process, from initial models to final software deployment.

The graphical representation of the Unified Process showing the lifecycle and core process flow.

Transcripts

play00:00

ಈ ಉಪನ್ಯಾಸಕ್ಕೆ ಸ್ವಾಗತ.

play00:03

ಕಳೆದ ಉಪನ್ಯಾಸದಲ್ಲಿ, ನಾವು ಇನ್ಕ್ರಿಮೆಂಟಲ್

play00:07

ಡೆವಲಪ್ಮೆಂಟ್ ಮಾಡಲ್(Incremental Development Model)ನ ಬಗ್ಗೆ ಚರ್ಚಿಸಿದ್ದೇವೆ.

play00:13

ಇನ್ಕ್ರಿಮೆಂಟಲ್ ಮಾಡಲ್(Incremental Model), ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(waterfall

play00:18

Model)ನ ಅನೇಕ ನ್ಯೂನತೆಗಳನ್ನು ನಿವಾರಿಸುತ್ತದೆ.

play00:22

ಈ ಉಪನ್ಯಾಸದಲ್ಲಿ, ನಾವು ಇಟೆರೇಷನ್(iteration)ಗಳೊಂದಿಗೆ

play00:27

ಎವೊಲ್ಯೂಷನರಿ ಮಾಡೆಲ್(Evolutionary model)ನ್ನು ನೋಡುತ್ತೇವೆ.

play00:31

ಯಾವುದೇ ರಿಯಲ್(real) ಪ್ರಾಜೆಕ್ಟ್(project)ನಲ್ಲಿ, ಇನ್ಕ್ರಿಮೆಂಟಲ್ ಮಾಡಲ್(Incremental

play00:36

Model)ನಲ್ಲಿ ಅವಶ್ಯಕತೆಗಳು ಬದಲಾಗುತ್ತವೆ.

play00:39

ಅವಶ್ಯಕತೆಗಳ ಬದಲಾವಣೆಯ ಹಿಂದೆ ಹಲವು ಕಾರಣಗಳಿವೆ.

play00:44

ಸಾಫ್ಟ್‌ವೇರ್(software) ನಿರ್ಮಿಸುವ ಮೊದಲು

play00:47

ಗ್ರಾಹಕರು ಸಾಫ್ಟ್‌ವೇರ್(software) ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ

play00:51

ವೀಕ್ಷಿಸಲು ಸಾಧ್ಯವಾಗದಿರುವುದು ಒಂದು ಕಾರಣ, ಮತ್ತು

play00:57

ಆದ್ದರಿಂದ, ಅನೇಕ ಅವಶ್ಯಕತೆಗಳು ತಪ್ಪಿಹೋಗಿವೆ, ಸಾಫ್ಟ್‌ವೇರ್(software)

play01:02

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

play01:06

ಅಸ್ಪಷ್ಟವಾಗಿ ನೀಡಲಾಗುತ್ತದೆ.

play01:08

ಕೇಪರ್ಸ್ ಜೋನ್ಸ್(Capers Jones’s) ಸ್ಥಾಪಿತ ಸಂಶೋಧಕರು,

play01:13

8000 ಪ್ರಾಜೆಕ್ಟ್(project)ಗಳನ್ನು ಅಧ್ಯಯನ ಮಾಡಿದರು ಮತ್ತು

play01:18

ಅಭಿವೃದ್ಧಿಯ ಸಮಯದಲ್ಲಿ 40 ಪ್ರತಿಶತದಷ್ಟು ಅವಶ್ಯಕತೆಗಳು

play01:23

ಬದಲಾಗುತ್ತವೆ ಎಂದು ಕಂಡುಕೊಂಡರು.

play01:27

ಇದು ಬಹಳ ಮಹತ್ವದ ವಿಷಯವಾಗಿದೆ ಏಕೆಂದರೆ ವಾಟರ್ಫಾಲ್

play01:33

ಮಾಡಲ್(waterfall Model)ಯಾಗಲೀ ಅಥವಾ ಇನ್ಕ್ರಿಮೆಂಟಲ್

play01:37

ಮಾಡಲ್(Incremental Model)ಯಾಗಲೀ ಇದನ್ನು ತೃಪ್ತಿಕರವಾಗಿ

play01:41

ನಿಭಾಯಿಸಲಿಲ್ಲ.

play01:42

ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(waterfall Model)ನ ಅಭಿವೃದ್ಧಿಯ ಸಮಯದಲ್ಲಿ

play01:47

ಅಗತ್ಯ ಬದಲಾವಣೆಗೆ ಯಾವುದೇ ಅವಕಾಶವನ್ನು

play01:51

ಹೊಂದಿಲ್ಲ.

play01:52

ನಮಗೆ ತಿಳಿದಿರುವ ಇನ್ಕ್ರಿಮೆಂಟಲ್ ಮಾಡಲ್(Incremental Model) ನಲ್ಲಿ,

play01:59

ಮಾಡಲ್(Model)ನ ಎಲ್ಲಾ ಅವಶ್ಯಕತೆಗಳನ್ನು

play02:02

ಮುಂಗಡವಾಗಿ ಗುರುತಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ

play02:05

ಮತ್ತು ನಂತರ ಗ್ರಾಹಕರ ಬದಿಯಲ್ಲಿ ನಿಯೋಜಿಸಬೇಕಾದ

play02:10

ಹೆಚ್ಚುತ್ತಿರುವ ವೈಶಿಷ್ಟ್ಯಗಳಾಗಿ ಅವಶ್ಯಕತೆಗಳನ್ನು

play02:13

ಸ್ಲೈಸ್ ಮಾಡುವುದು.

play02:15

ಸಹಜವಾಗಿ, ಒಂದು ಫೀಚರ್(feature)ನ್ನು ಇನ್ಸ್ಟಾಲ್(instal) ಮಾಡುವಾಗ,

play02:20

ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ, ಇದು

play02:25

ಹೆಚ್ಚುವರಿ ಅವಶ್ಯಕತೆಗಳು ಅಥವಾ ಅವಶ್ಯಕತೆಗಳ

play02:29

ಬದಲಾವಣೆಯ ಅಗತ್ಯವಾಗಬಹುದು.

play02:31

ಆದರೆ ಇನ್ನೂ, ಇನ್ಕ್ರಿಮೆಂಟಲ್ ಮಾಡಲ್(Incremental Model)ನ ಎಲ್ಲಾ

play02:37

ಅವಶ್ಯಕತೆಗಳನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಮುಂಗಡವಾಗಿ

play02:40

ಗುರುತಿಸುವ ಅಗತ್ಯವಿದೆ.

play02:42

ಎವೊಲ್ಯೂಷನರಿ ಮಾಡೆಲ್(Evolutionary model)ನ್ನು ನೋಡೋಣ, ಇದು

play02:47

ಎಲ್ಲಾ ಅವಶ್ಯಕತೆಗಳನ್ನು ಮುಂಗಡವಾಗಿ ಗುರುತಿಸುವ

play02:51

ಅಗತ್ಯವನ್ನು ನಿವಾರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ.

play02:55

ಎವೊಲ್ಯೂಷನರಿ ಮಾಡೆಲ್(Evolutionary model) ಮತ್ತು ಇನ್ಕ್ರಿಮೆಂಟಲ್

play03:00

ಮಾಡಲ್(Incremental Model)ನ ನಡುವೆ ಕೆಲವು ಸಾಮ್ಯತೆಗಳಿವೆ,

play03:05

ಅಂದರೆ ಏರಿಕೆಗಳನ್ನು ಕ್ಲೈಂಟ್-ಸೈಡ್‌(client-side)ನಲ್ಲಿ

play03:08

ನಿಯೋಜಿಸಲಾಗಿದೆ.

play03:09

ಆದರೆ ಇಲ್ಲಿ, ಎವೊಲ್ಯೂಷನರಿ ಮಾಡೆಲ್(Evolutionary model)ನಲ್ಲಿ,

play03:14

ಯಾವುದೇ ಮುಂಗಡ ಅಗತ್ಯ ವಿವರಣೆಯ ಅಗತ್ಯವಿಲ್ಲ.

play03:19

ಆರಂಭದಲ್ಲಿ, ಗುರುತಿಸಲಾದ ಕೆಲವು ಫೀಚರ್(feature)ಗಳನ್ನು

play03:23

ಅಳವಡಿಸಲಾಗಿದೆ.

play03:25

ತದನಂತರ, ಹೆಚ್ಚು ಹೆಚ್ಚು ಫೀಚರ್(feature)ಗಳನ್ನು

play03:29

ಅಭಿವೃದ್ಧಿಪಡಿಸುವ ಮತ್ತು ನಿಯೋಜಿಸುವ

play03:32

ಗ್ರಾಹಕರ ಪ್ರಯೋಗಗಳಂತೆ.

play03:34

ಆದ್ದರಿಂದ, ಸಾಫ್ಟ್‌ವೇರ್ ವಾಸ್ತವವಾಗಿ ವಿಕಸನಗೊಳ್ಳುತ್ತದೆ,

play03:38

ಇದು ತುಂಬಾ ಸರಳವಾದ ಸಂಗತಿಯಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

play03:43

ಆದರೆ ಇನ್ಕ್ರಿಮೆಂಟಲ್ ಮಾಡಲ್(Incremental Model) ಮತ್ತು

play03:48

ಸಂಪೂರ್ಣವಾಗಿ ಎವೊಲ್ಯೂಷನರಿ ಮಾಡೆಲ್(Evolutionary model) ನಡುವಿನ

play03:53

ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಅವಶ್ಯಕತೆಗಳ ಮುಂಗಡ

play03:58

ಗುರುತಿಸುವಿಕೆಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಇರುತ್ತದೆ.

play04:01

ಎವೊಲ್ಯೂಷನರಿ ಮಾಡೆಲ್(Evolutionary model)ನ್ನು " ಪ್ಲಾನ್ ಎ

play04:06

ಲಿಟಲ್ (plan a little) , ಡಿಸೈನ್ ಎ ಲಿಟಲ್ (design a little) , ಕೋಡ್

play04:17

ಎ ಲಿಟಲ್(code a little)" ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ.

play04:23

ಏಕೆಂದರೆ ಎವೊಲ್ಯೂಷನರಿ ಮಾಡೆಲ್(Evolutionary model)ನಲ್ಲಿ,

play04:28

ಪ್ರತಿ ಬಾರಿಯೂ ಕೆಲವು ಫೀಚರ್(feature)ಗಳನ್ನು

play04:32

ಮಾತ್ರ ಗುರುತಿಸಲಾಗುತ್ತದೆ.

play04:34

ಗ್ರಾಹಕರ ಕಡೆಯಿಂದ ಮಾತ್ರ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ,

play04:38

ಕೋಡ್ ಮಾಡಲಾದ ಮತ್ತು ನಿಯೋಜಿಸಲಾದ ಫೀಚರ್(feature)ನ

play04:43

ಬೆಳವಣಿಗೆಗಳಿಗಾಗಿ ಪ್ರಾಜೆಕ್ಟ್(project) ಮಾಡಿ.

play04:46

ಈ ಮಾಡಲ್(model), ಇನ್ಕ್ರಿಮೆಂಟಲ್ ಮಾಡಲ್(Incremental Model)ಯಂತೆಯೇ,

play04:51

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

play04:55

ಅಂತಿಮ ಬಳಕೆದಾರರು ಅದರ ಬಗ್ಗೆ ತಮ್ಮ ಅನುಭವವನ್ನು

play05:01

ನೀಡಬಹುದು.

play05:02

ಪರೀಕ್ಷಕರು, ಇನ್ಕ್ರಿಮೆಂಟರ್‌(incrementor)ಗಳು, ತಾಂತ್ರಿಕ ಬರಹಗಾರರು

play05:06

ಎಲ್ಲರೂ ಯೋಜನೆಯ ಪ್ರಾರಂಭದಿಂದ ತೊಡಗಿಸಿಕೊಳ್ಳುತ್ತಾರೆ,

play05:10

ಇಟರೇಟಿವ್ ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(iterative waterfall model)ಗಿಂತ

play05:15

ಭಿನ್ನವಾಗಿ.

play05:16

ಸಾಫ್ಟ್‌ವೇರ್ ಇಂಜಿನಿಯರಿಂಗ್ ಕ್ಷೇತ್ರದ ಖ್ಯಾತ ವ್ಯಕ್ತಿ

play05:19

ಟಾಮ್ ಗ್ಲಿಬ್ ಹೇಳಿದ್ದಾರೆ.

play05:22

"ಸಣ್ಣ ಹಂತಗಳಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದರೆ

play05:24

ಕಾಂಪ್ಲೆಕ್ಸ್(complex) ಸಿಸ್ಟಮ್(system)ನ ಅತ್ಯಂತ

play05:26

ಯಶಸ್ವಿಯಾಗುತ್ತದೆ, ವೈಫಲ್ಯದ ಹಿಂದಿನ ಯಶಸ್ವಿ

play05:29

ಹೆಜ್ಜೆಗೆ "ಹಿಮ್ಮೆಟ್ಟುವಿಕೆ" ... ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು

play05:33

ಎಸೆಯುವ ಮೊದಲು ನೈಜ ಪ್ರಪಂಚದಿಂದ ಕೆಲವು

play05:37

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

play05:40

ನೀವು ಸಂಭವನೀಯ ಎರ್ರರ್(error)ಗಳನ್ನು ಸರಿಪಡಿಸಬಹುದು"

play05:43

ಆದ್ದರಿಂದ, ರೆವೊಲ್ಯೂಷನರಿ ಮಾಡಲ್(revolutionary model)ನ ದೊಡ್ಡ

play05:47

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

play05:49

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

play05:52

ಕ್ಲೈಂಟ್ ವಿಕಸನಗೊಳ್ಳುವ ಸಿಸ್ಟಮ್(system) ಅನ್ನು

play05:55

ಬಳಸುತ್ತಿರುವಂತೆ ಫೀಚರ್(feature)ಗಳನ್ನು

play05:57

ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ.

play05:58

ಮತ್ತು ಕೆಲವು ಫೀಚರ್(feature)ಗಳು ಗ್ರಾಹಕರು ಇಷ್ಟಪಡದಿದ್ದರೆ,

play06:02

ಆ ಫೀಚರ್(feature) ಅನ್ನು ಸರಳವಾಗಿ ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ

play06:06

ಮತ್ತು ಹೊಸ ಫೀಚರ್(feature)ಗಳನ್ನು ನಿರ್ಮಿಸಲಾಗುತ್ತದೆ.

play06:09

ಪ್ರದೇಶದ ಸಾಫ್ಟ್‌ವೇರ್ ಇಂಜಿನಿಯರಿಂಗ್‌ನ

play06:11

ಇನ್ನೊಬ್ಬ ಪ್ರಸಿದ್ಧ ವ್ಯಕ್ತಿತ್ವದ ಕ್ರೇಗ್

play06:14

ಲಾರ್ಮನ್, "ವಿಕಸನೀಯ ಇಟೆರೇಷನ್(iteration)ನ ಅಭಿವೃದ್ಧಿಯು

play06:17

ಅವಶ್ಯಕತೆಗಳು, ಪ್ಲಾನ್, ಎಸ್ಟಿಮೇಟ್, ಅಂಡ್

play06:20

ಸೊಲ್ಯೂಷನ್(plan, estimate, and solution), ಸಂಪೂರ್ಣವಾಗಿ

play06:24

ವ್ಯಾಖ್ಯಾನಿಸುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ಇಟೆರೇಷನ್(iteration)ಗಳ

play06:28

ಅವಧಿಯಲ್ಲಿ ವಿಕಸನಗೊಳ್ಳುತ್ತದೆ ಅಥವಾ ಪರಿಷ್ಕರಿಸುತ್ತದೆ

play06:32

ಎಂದು ಸೂಚಿಸುತ್ತದೆ.

play06:34

ಮತ್ತು ಅಭಿವೃದ್ಧಿ ಇಟೆರೇಷನ್(iteration)ಗಳು

play06:37

ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲು ಒಂದು ಪ್ರಮುಖ ಅಪ್-ಫ್ರಂಟ್(up-front)

play06:43

ವಿವರಣೆಯ ಪ್ರಯತ್ನದಲ್ಲಿ "ಫ್ರೀಜ್" ಆಗಿರುತ್ತದೆ.

play06:47

ವಿಕಸನೀಯ ವಿಧಾನಗಳು ಅನಿರೀಕ್ಷಿತ ಆವಿಷ್ಕಾರದ

play06:51

ಮಾಡಲ್(model) ಮತ್ತು ಹೊಸ ಉತ್ಪನ್ನ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿನ

play06:57

ಬದಲಾವಣೆಯೊಂದಿಗೆ ಸ್ಥಿರವಾಗಿವೆ.

play06:59

ಇದರಿಂದ ನಾವು ಹೇಳಬಹುದು, ಕ್ರೇಗ್ ಲಾರ್ಮನ್ ಸಹ

play07:05

ಮುಂಗಡ ವಿವರಣೆಯು ತುಂಬಾ ಕಷ್ಟಕರವಾಗಿದೆ ಎಂದು

play07:11

ಒಪ್ಪಿಕೊಳ್ಳುತ್ತಾರೆ ಮತ್ತು ರೆವೊಲ್ಯೂಷನರಿ

play07:14

ಮಾಡಲ್(revolutionary model) ನಿಜ ಜೀವನದ ಪ್ರಾಜೆಕ್ಟ್(project)ಗಳಲ್ಲಿ

play07:19

ಹೆಚ್ಚು ಉಪಯುಕ್ತವಾಗಿದೆ.

play07:21

ರೆವೊಲ್ಯೂಷನರಿ ಮಾಡಲ್(revolutionary model)ನಲ್ಲಿ ಏನು ಒಳಗೊಂಡಿದೆ

play07:27

ಎಂಬುದನ್ನು ನೋಡೋಣ.

play07:29

ಸಾಫ್ಟ್‌ವೇರ್‌(software)ನ ಒಟ್ಟಾರೆ ತಿಳುವಳಿಕೆಯನ್ನು

play07:32

ಆಧರಿಸಿ, ಮೊದಲು ಸಾಫ್ಟ್‌ವೇರ್‌(software)ನ ಕೋರ್ ಮಾಡ್ಯೂಲ್‌(core

play07:38

module)ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಈ ಕೋರ್ ಮಾಡ್ಯೂಲ್‌(core

play07:44

module)ಅನ್ನು ಐಟೆರೇಷನ್(iteration)ಗಳು ಎಂದು ಕರೆಯಲಾಗುವ ಸಾಮರ್ಥ್ಯದ

play07:49

ಮಟ್ಟವನ್ನು ಹೆಚ್ಚಿಸುವಂತೆ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ.

play07:53

ಪ್ರತಿ ಇಟೆರೇಷನ್(iteration) ಹೊಸ ಫಂಕ್ಷನ್(function)ಗಳನ್ನು

play07:57

ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಇವುಗಳನ್ನು ಕ್ಲೈಂಟ್(client)

play08:01

ಸೈಟ್‌(site)ನಲ್ಲಿ ಅನುಕ್ರಮವಾಗಿ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ.

play08:04

ಪ್ರತಿಯೊಂದು ಇಟೆರೇಷನ್ ವಾಸ್ತವವಾಗಿ ಮಿನಿ

play08:09

ವಾಟರ್ಫಾಲ್(mini waterfall) ಆಗಿದೆ.

play08:12

ಒಂದೇ ಇಟೆರೇಷನ್(iteration)ನ ನಂತರ ಕೆಲವು ಕೋಡ್

play08:17

ಅನ್ನು ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕ್ಲೈಂಟ್(client)

play08:22

ತನ್ನ ಮುಂದಿನ ಅಗತ್ಯವನ್ನು ವ್ಯಕ್ತಪಡಿಸುತ್ತಾನೆ

play08:26

ಮತ್ತು ಇದು ಎವಲ್ಯೂಷನರಿ( evolutionary) ಬೆಳವಣಿಗೆಗೆ

play08:31

ಕಾರಣವಾಗುತ್ತದೆ.

play08:32

ಪ್ರತಿ ಇಟೆರೇಷನ್(iteration)ನಲ್ಲಿ, ಕ್ಲೈಂಟ್(client) ಬದಿಯಲ್ಲಿ

play08:37

ಪರೀಕ್ಷಿಸಲಾದ, ಇಂಟಿಗ್ರೇಟ್(integrate) ಮಾಡಲಾದ, ಎಕ್ಸಿಕ್ಯೂಟಬಲ್(executable)

play08:41

ಸಿಸ್ಟಮ್(system) ಅನ್ನು ಕೆಲವು ಕೋಡ್ ನಿಯೋಜಿಸಲಾಗಿದೆ.

play08:46

ಇಟೆರೇಷನ್(iteration)ನ ಉದ್ದವು ಸಾಮಾನ್ಯವಾಗಿ 2 ರಿಂದ

play08:52

6 ವಾರಗಳವರೆಗೆ ಚಿಕ್ಕದಾಗಿದೆ.

play08:55

ಸಾಫ್ಟ್‌ವೇರ್(software) ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ

play08:58

ಅಭಿವೃದ್ಧಿಪಡಿಸಲು 10 ರಿಂದ 15 ಇಟೆರೇಷನ್(iteration)ಗಳ

play09:04

ನಡುವೆ ಎಲ್ಲೋ ತೆಗೆದುಕೊಳ್ಳಬಹುದು.

play09:07

ಅವಶ್ಯಕತೆಗಳನ್ನು ಮುಂಗಡವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುವುದಿಲ್ಲ

play09:10

ಮತ್ತು ಫ್ರೀಜ್(freeze) ಮಾಡಲಾಗುವುದಿಲ್ಲ

play09:13

ಮತ್ತು ನಂತರ ಯಾವುದೇ ಭವಿಷ್ಯದ ಬದಲಾವಣೆಗಳನ್ನು

play09:19

ಸರಿಹೊಂದಿಸಲು ಸಂಪ್ರದಾಯವಾದಿಯಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ

play09:22

ಎಂದು ನಾವು ಹಲವಾರು ಬಾರಿ ಒತ್ತಿಹೇಳಿದ್ದೇವೆ.

play09:27

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

play09:33

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

play09:36

ಎಲ್ಲಾ ಸಕ್ಸಿವ್(successive) ವರ್ಷನ್(version)ಗಳು ಸಂಪೂರ್ಣ

play09:40

ಫಂಕ್ಷನಲ್ ಸಿಸ್ಟಮ್(functional system) ಗಳಾಗಿವೆ.

play09:44

ಗ್ರಾಹಕರು ಅವುಗಳನ್ನು ರಿಯಲ್(real) ಕೆಲಸದಲ್ಲಿ

play09:49

ಬಳಸಿಕೊಳ್ಳಬಹುದು.

play09:50

ಹೊಸ ಬಿಡುಗಡೆಯನ್ನು ಮಾಡಿದಾಗ ಹೊಸ ಫಂಕ್ಷನ್(function)

play09:55

ಅನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ.

play09:57

ಆದರೆ ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯ ಆಧಾರದ ಮೇಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ

play10:04

ಕೆಲವು ಫಂಕ್ಷನ್(function)ಗಳನ್ನು ಬದಲಾಯಿಸಿರಬಹುದು

play10:07

ಅಥವಾ ಹೆಚ್ಚಿಸಿರಬಹುದು.

play10:09

ಈ ಸ್ಕೀಮ್ಯಾಟಿಕ್‌(schematic)ನಲ್ಲಿ ನಾವು ಮಾಡಲ್(model)ನ್ನು

play10:13

ಪ್ರತಿನಿಧಿಸಬಹುದು: ಆರಂಭದಲ್ಲಿ, ಸಿಸ್ಟಮ್‌(system)ನ

play10:17

ಕೆಲವು ರಫ್(rough) ತಿಳುವಳಿಕೆಯನ್ನು ಮಾಡಲಾಗುತ್ತದೆ, ಇದು

play10:22

ಇನ್ಕ್ರೀಮೆಂಟಲ್ ಮಾಡಲ್(incremental model) ಗಿಂತ ಭಿನ್ನವಾಗಿ

play10:27

ಸಿಸ್ಟಮ್‌(system)ನ ಸಂಪೂರ್ಣ ವಿವರಣೆಯಲ್ಲ.

play10:31

ಇಲ್ಲಿ ಅಗತ್ಯವಿರುವ ಒವೆರಾಲ್ ಫೀಚರ್(overall

play10:35

feature) ಮತ್ತು ನಂತರ ಕೋರ್(core), ಮತ್ತು ಪ್ರತಿ ಇಟೆರೇಷನ್(iteration)ನ್ನು

play10:42

ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ.

play10:44

ಪ್ರತಿ ಇಟೆರೇಷನ್(iteration)ನಲ್ಲಿ, ಸ್ಪೆಸಿಫಿಕೇಷನ್ ಡೆವಲಪ್ಮೆಂಟ್(specification

play10:48

development), ವ್ಯಾಲಿಡೇಷನ್(validation) , ಮತ್ತು ನಂತರ ಅಂತಿಮವಾಗಿ,

play10:53

ಡಿಪ್ಲೋಯ್ಮೆಂಟ್ (deployment) ಇರುತ್ತದೆ.

play10:56

ಕೋರ್ ಅನ್ನು ಡಿಪ್ಲೋಯ್ಮೆಂಟ್ (deployment) ಮಾಡಲಾಗಿದೆ ಮತ್ತು

play11:03

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

play11:08

ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ತೋರಿಸುತ್ತದೆ.

play11:10

ಮತ್ತೆ, ಇಟೆರೇಷನ್(iteration) ಸಂಭವಿಸುತ್ತದೆ, ಮತ್ತು

play11:15

ಎಲ್ಲಾಸಕ್ಸಿವ್(successive) ವರ್ಷನ್(version)ಗಳನ್ನು

play11:17

ಗ್ರಾಹಕ ಸೈಟ್‌ನಲ್ಲಿ ನಿಯೋಜಿಸಲಾಗಿದೆ; ಗ್ರಾಹಕ

play11:21

ಸೈಟ್‌ನಲ್ಲಿ ಅಂತಿಮ ವರ್ಷನ್(version)ನ್ನು ನಿಯೋಜಿಸುವವರೆಗೆ

play11:25

ಇಟೆರೇಷನ್(iteration)ಗಳು ಮುಂದುವರೆದಂತೆ ಪಡೆದ

play11:29

ಪ್ರತಿಕ್ರಿಯೆಯು ಮುಂದುವರಿಯುತ್ತದೆ.

play11:31

ಈ ಎವೊಲ್ಯೂಷನರಿ ಮಾಡಲ್(evolutionary model)ಗೆ ಅನೇಕ ಪ್ರಯೋಜನಗಳಿವೆ.

play11:37

ಒಂದು ಅನುಕೂಲವೆಂದರೆ ಬಳಕೆದಾರರು ಪ್ರಯೋಗ

play11:42

ಮಾಡಬಹುದು, ಅವರ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡಬಹುದು; ಅವರು ಸಾಫ್ಟ್‌ವೇರ್

play11:48

ಅನ್ನು ಸಹ ಬಳಸಬಹುದು.

play11:51

ಆದ್ದರಿಂದ, ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

play11:56

ಎಂಬುದರ ನಿಜವಾದ ಭಾವನೆಯನ್ನು ಅವರು ಪಡೆಯುತ್ತಾರೆ

play12:01

ಮತ್ತು ಆದ್ದರಿಂದ, ಇದು ನಿಖರವಾದ ಬಳಕೆದಾರರ

play12:06

ಅವಶ್ಯಕತೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಸಹಾಯ

play12:10

ಮಾಡುತ್ತದೆ ಮತ್ತು ಅಂತಿಮವಾಗಿ, ಅದನ್ನು

play12:14

ಗ್ರಾಹಕರ ಸೈಟ್‌ನಲ್ಲಿ ನಿಯೋಜಿಸಿದಾಗ ನಿಖರವಾದ

play12:18

ಬಳಕೆದಾರರ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸುವ ಸಾಧ್ಯತೆಯಿದೆ.

play12:22

ಮತ್ತು, ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಗ್ರಾಹಕರ ಸೈಟ್‌(site)ನಲ್ಲಿ

play12:27

ನಿಯೋಜಿಸಲಾಗಿರುವುದರಿಂದ ಮತ್ತು ಬಳಸುವುದರಿಂದ,

play12:30

ಯಾವುದೇ ಡಿಫೆಕ್ಟ್(defect)ಗಳನ್ನೂ ಗಮನಿಸಲಾಗುತ್ತದೆ

play12:33

ಮತ್ತು ವರದಿ ಮಾಡಲಾಗುತ್ತದೆ.

play12:36

ಆದ್ದರಿಂದ, ಕೋರ್(core) ಮಾಡ್ಯೂಲ್ಗಳನ್ನು

play12:40

ದೀರ್ಘಕಾಲದವರೆಗೆ ಬಳಸಲಾಗುತ್ತದೆ, ಮತ್ತು

play12:43

ಎಲ್ಲಾ ಡಿಫೆಕ್ಟ್(defect)ಗಳನ್ನೂ ಕಂಡುಹಿಡಿಯಬೇಕು.

play12:46

ಮತ್ತು ಆದ್ದರಿಂದ, ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(waterfall

play12:50

model)ನಲ್ಲಿ ಇರುವುದಕ್ಕಿಂತ ಅಂತಿಮ ಡೆಲಿವರ್(deliver)

play12:55

ಮಾಡಲಾದ ಸಾಫ್ಟ್‌ವೇರ್(software) ಹೆಚ್ಚು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿದೆ.

play12:59

ಎವೊಲ್ಯೂಷನರಿ ಮಾಡಲ್(evolutionary model) ನಲ್ಲಿ, ಡೆವೆಲಪರ್(developer)ಗಳು

play13:04

ಕೇವಲ ಒಂದು ಅಥವಾ ಎರಡು ಫೀಚರ್(feature)ಗಳನ್ನು

play13:10

ಕೇಂದ್ರೀಕರಿಸಿದ್ದಾರೆ.

play13:11

ಆದ್ದರಿಂದ, ಕಾಂಪ್ಲೆಕ್ಸಿಟಿ(complexity) ಯನ್ನು ಸುಲಭವಾಗಿ ನಿರ್ವಹಿಸಬಹುದು.

play13:16

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

play13:23

ಮತ್ತು ಸಂಯೋಜಿಸಲ್ಪಟ್ಟಿದೆ.

play13:25

ಯಾವುದೇ ದೀರ್ಘಾವಧಿಯ ಯೋಜನೆಗಳನ್ನು ಮಾಡಲಾಗಿಲ್ಲ

play13:29

ಮತ್ತು ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(waterfall model) ಗಿಂತ

play13:35

ಭಿನ್ನವಾಗಿ ಬದಲಾಗುವ ಅವಶ್ಯಕತೆಗಳನ್ನು

play13:38

ಸುಲಭವಾಗಿ ಅಳವಡಿಸಿಕೊಳ್ಳಬಹುದಾದ ಪ್ರದೇಶವಾಗಿದೆ.

play13:41

ಗ್ರಾಹಕರು ಸಾಫ್ಟ್‌ವೇರ್(software) ಅನ್ನು ನಿಯೋಜಿಸುತ್ತಾರೆ

play13:45

ಮತ್ತು ಹೆಚ್ಚೆಚ್ಚು ಕಲಿಯಬಹುದು ಮತ್ತು

play13:50

ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡಲು ಕಷ್ಟಕರವಾದ

play13:53

ಯಾವುದೇ ಭಾಗವನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದು.

play13:56

ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ ಮತ್ತು

play14:00

ಹೆಚ್ಚು ಬಳಸಬಹುದಾಗಿದೆ.

play14:03

ಫ್ರಿಕ್ಯುನ್ಟ್(Frequent) ರಿಲೀಸ್(release)ಗಳು ಡೆವಲಪರ್‌(developer)ಗಳು

play14:06

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

play14:10

ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತವೆ ಏಕೆಂದರೆ ಅವರು ಅಭಿವೃದ್ಧಿಯಲ್ಲಿದ್ದಾರೆ

play14:15

ಮತ್ತು ಸಂಭವಿಸುವ ಯಾವುದೇ ಸಮಸ್ಯೆಯು ಸಮಸ್ಯೆಗಳನ್ನು

play14:21

ತ್ವರಿತವಾಗಿ ಸರಿಪಡಿಸಲು ಏನನ್ನಾದರೂ ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು.

play14:25

ಆದರೆ ನಂತರ, ಎವೊಲ್ಯೂಷನರಿ ಮಾಡಲ್(evolutionary model) ಕೆಲವು

play14:32

ಸಮಸ್ಯೆಗಳನ್ನು ಅಥವಾ ನ್ಯೂನತೆಗಳನ್ನು ಹೊಂದಿದೆ.

play14:36

ನಾವು ವಿವರಿಸಿದಂತೆ ಸಾಹಿತ್ಯದಲ್ಲಿ ವಿವರಿಸಿದ

play14:40

ಪ್ರಕ್ರಿಯೆಯು ಅಸ್ಪಷ್ಟವಾಗಿದೆ.

play14:42

ಮತ್ತು ಆದ್ದರಿಂದ, ಪ್ರಕ್ರಿಯೆಯು ಅಮೂರ್ತವಾಗಿದೆ.

play14:47

ಪ್ರಕ್ರಿಯೆಯು ನಿಯಮಿತವಾಗಿಲ್ಲ, ಸರಿಯಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿಲ್ಲ;

play14:51

ಪ್ರಕ್ರಿಯೆಯು ಅನಿರೀಕ್ಷಿತವಾಗಿದೆ.

play14:53

ಯಾವುದೇ ದೀರ್ಘಾವಧಿಯ ಯೋಜನೆಗಳನ್ನು ಮಾಡದ

play14:57

ಕಾರಣ, ನಾವು ಇಟರೇಷನ್(iteration)ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ

play15:03

ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲು

play15:07

ಎಷ್ಟು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಎಂದು ನಮಗೆ ತಿಳಿದಿಲ್ಲ.

play15:13

ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಎಷ್ಟು

play15:17

ಇಟರೇಷನ್(iteration)ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ

play15:19

ಎಂದು ನಮಗೆ ತಿಳಿದಿಲ್ಲ.

play15:22

ಇದು 3 ತಿಂಗಳಲ್ಲಿ ಪೂರ್ಣಗೊಳ್ಳಬಹುದು; ಇದು 6 ತಿಂಗಳಲ್ಲಿ ಪೂರ್ಣಗೊಳ್ಳಬಹುದು.

play15:31

ಆದ್ದರಿಂದ, ನಿಯಂತ್ರಣವು ತುಂಬಾ ಕಡಿಮೆಯಾಗಿದೆ.

play15:35

ಮೊದಲಿನಿಂದಲೂ ಇದು ಎಷ್ಟು ಪುನರಾವರ್ತನೆಗಳನ್ನು

play15:39

ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಎಂದು ಊಹಿಸಲು ಕಷ್ಟ,

play15:44

ಉದ್ಯೋಗಿಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಕಷ್ಟ, ಎಷ್ಟು ಜನರು

play15:49

ಕೆಲಸ ಮಾಡುತ್ತಾರೆ, ಎಷ್ಟು ದಿನ ಕೆಲಸ ಮಾಡುತ್ತಾರೆ,

play15:55

ಒಟ್ಟು ವೆಚ್ಚವನ್ನು ಲೆಕ್ಕಹಾಕುವುದು ಕಷ್ಟ

play16:00

ಇಲ್ಲಿ ಇನ್ನೊಂದು ಪ್ರಮುಖ ತೊಂದರೆ ಏನೆಂದರೆ ಸಾಫ್ಟ್‌ವೇರ್(software)

play16:06

ಬದಲಾಗುತ್ತಲೇ ಇರುತ್ತದೆ.

play16:08

ಆದ್ದರಿಂದ, ಸಾಫ್ಟ್‌ವೇರ್(software)ಗೆ ನಿರಂತರ ಬದಲಾವಣೆಗಳು

play16:13

ಸಾಫ್ಟ್‌ವೇರ್(software) ವಿನ್ಯಾಸವನ್ನು ಕುಗ್ಗಿಸುತ್ತದೆ

play16:16

ಮತ್ತು ಕ್ಲೈಂಟ್‌ಗಳು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು

play16:19

ನೀಡುವುದು, ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಮಾರ್ಪಡಿಸುವುದು ಇತ್ಯಾದಿಗಳನ್ನು

play16:23

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

play16:24

ಮತ್ತು ಕೆಟ್ಟ ಸಂದರ್ಭದಲ್ಲಿ, ಸಿಸ್ಟಮ್(system) ಅಂತಿಮ

play16:30

ಪರಿಹಾರಕ್ಕೆ ಒಮ್ಮುಖವಾಗದಿರಬಹುದು ಮತ್ತು ಯೋಜನೆಯು ಪೂರ್ಣಗೊಳ್ಳದಿರಬಹುದು.

play16:35

ಈಗ, ನಾವು RAD ಮಾಡಲ್(model)ನ ಬಗ್ಗೆ ಚರ್ಚಿಸುತ್ತೇವೆ.

play16:38

RAD ಮಾಡಲ್(model)ನ ರಾಪಿಡ್(Rapid) ಅಪ್ಲಿಕೇಶನ್(application)

play16:39

ಅಭಿವೃದ್ಧಿ ಮಾಡಲ್(model)ನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.

play16:40

ಇದೂ ಕೂಡ ಜನಪ್ರಿಯ ಮಾಡಲ್(model); ಇದನ್ನು

play16:42

ರಾಪಿಡ್ ಪ್ರೊಟೊಟೈಪಿಂಗ್(Rapid prototyping) ಮಾಡಲ್(model) ಎಂದು

play16:44

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

play16:45

ಇಲ್ಲಿ ರಾಪಿಡ್(Rapid) ಎಂಬ ಹೆಸರು ಸೂಚಿಸುವಂತೆ,

play16:47

ಅಭಿವೃದ್ಧಿಯ ಸಮಯ ಮತ್ತು ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ

play16:49

ಮಾಡಲು ಇಲ್ಲಿ ಒತ್ತು ನೀಡಲಾಗಿದೆ ಮತ್ತು

play16:51

ಸಾಧ್ಯವಾದಷ್ಟು ಬೇಗ ಬದಲಾವಣೆಗಳಿಗೆ ಅವಕಾಶ

play16:53

ಕಲ್ಪಿಸುತ್ತದೆ.

play16:54

ಇಲ್ಲಿ ಕೇವಲ ಶಾರ್ಟ್ ಟರ್ಮ್ ಪ್ಲಾನ್(short-term

play16:55

plan)ಗಳನ್ನು ಮಾತ್ರ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಇನ್ನೊಂದು ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ

play16:58

ಕಸ್ಟಮೈಸೇಶನ್(customization) ಯೋಜನೆಗಳಾಗಿರುವ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ

play16:59

ಕೋಡ್‌(code)ನ ಭಾರೀ ಮರುಬಳಕೆಯಾಗಿದೆ.

play17:00

RAD ಮಾಡಲ್(model) ಇನ್‌ಕ್ರಿಮೆಂಟಲ್ ಡೆವಲಪ್‌ಮೆಂಟ್(incremental

play17:02

development) ವಿಧಾನವನ್ನು ಸಹ ಪಾಲಿಸುತ್ತದೆ,

play17:04

ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಕೇವಲ ಒಂದು ಇನ್‌ಕ್ರಿಮೆಂಟ್(increment)

play17:06

ಅನ್ನು ಯೋಜಿಸಲಾಗಿದೆ ಮತ್ತು ಒಂದು ಇಟರೇಷನ್(iteration)

play17:08

ಮೇಲೆ ಅದನ್ನು ಪೂರ್ಣಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ.

play17:10

ಮತ್ತು ಇಟರೇಷನ್(iteration) ಯನ್ನು ಇಲ್ಲಿ ಟೈಮ್

play17:12

ಬಾಕ್ಸ್(time box) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.

play17:14

ಪ್ರತಿ ಇಟರೇಷನ್(iteration) ಅಥವಾ ಇನ್‌ಕ್ರಿಮೆಂಟ್(increment)

play17:15

ಅಪ್ಲಿಕೇಶನ್‌(application)ನ ಫಂಕ್ಷನಾಲಿಟಿ(functionality)

play17:16

ಅನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಹೆಚ್ಚಿಸುತ್ತದೆ.

play17:18

ಇನ್ಕ್ರೀಮೆಂಟಲ್ ಮತ್ತು ಎವೊಲ್ಯೂಷನರಿ ಮಾಡಲ್(incremental

play17:19

and the evolutionary model) ಗಿಂತ ಭಿನ್ನವಾಗಿ, ರಾಪಿಡ್(rapid) ಅಭಿವೃದ್ಧಿ

play17:22

ಮಾಡಲ್(model)ನಲ್ಲಿ ಗಮನವು ಯಾವುದನ್ನಾದರೂ ವೇಗವಾಗಿ

play17:24

ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದು.

play17:25

ಆದ್ದರಿಂದ, ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪಡೆಯಲು ಗ್ರಾಹಕರ ಸೈಟ್‌ನಲ್ಲಿ

play17:26

ತ್ವರಿತ ಮತ್ತು ಡರ್ಟಿ ಪ್ರೊಟೋಟೈಪ್(prototype)ನ್ನು

play17:27

ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ನಿಯೋಜಿಸಲಾಗಿದೆ

play17:28

ಮತ್ತು ಗ್ರಾಹಕರು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡುವಂತೆ, ಈ ಪ್ರೊಟೋಟೈಪ್(prototype)

play17:29

ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯ ಆಧಾರದ ಮೇಲೆ ಪರಿಷ್ಕರಿಸಲಾಗುತ್ತದೆ.

play17:31

ಆದ್ದರಿಂದ, ಇದು RAD ಅಭಿವೃದ್ಧಿಯಿಂದ ಪ್ರತಿಪಾದಿಸಲ್ಪಟ್ಟ

play17:32

ವಿಭಿನ್ನ ಶೈಲಿಯಾಗಿದೆ.

play17:33

ಕ್ಷಿಪ್ರ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ, ಪ್ರೊಟೋಟೈಪ್(prototype)ನ್ನು

play17:34

ನಿಜವಾದ ಸಾಫ್ಟ್‌ವೇರ್‌ಗೆ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ.

play17:35

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

play17:36

ಎಸೆಯುವ ಸಾಫ್ಟ್‌ವೇರ್(software) ಎಂದು ನಮಗೆ ತಿಳಿದಿದೆ.

play17:38

ಮತ್ತು ಸಹಜವಾಗಿ, ಇನ್ಕ್ರೀಮೆಂಟಲ್ ಮತ್ತು ಎವೊಲ್ಯೂಷನರಿ

play17:39

ಮಾಡಲ್(incremental and the evolutionary model), ಪ್ರತಿ ಏರಿಕೆಯು

play17:44

ಪ್ರೊಟೋಟೈಪ್(prototype) ಆಗಿರಲಿಲ್ಲ, ಆದರೆ

play17:47

ಕೆಲವು ಲೈಫ್ ಸೈಕಲ್(lifecycle)ನ ಪ್ರಕಾರ ಸರಿಯಾಗಿ ಯೋಜಿಸಲಾದ

play17:53

ವಾಟರ್ಫಾಲ್(waterfall) ಮಾಡಲ್(model) ಆಗಿರಬಹುದು.

play17:56

ವೇಗವಾದ ಅಭಿವೃದ್ಧಿಗೆ ಅನುಕೂಲವಾಗುವಂತೆ

play17:59

RAD ಯ ಒತ್ತು ನೀಡುವುದರಿಂದ, ಇದು ವಿಶೇಷ ಸಾಧನಗಳನ್ನು

play18:01

ಬಳಸಿಕೊಂಡು ಪ್ರೊಟೋಟೈಪ್(prototype) ಅನ್ನು ರಚಿಸುತ್ತದೆ

play18:02

ಮತ್ತು ಅಭಿವೃದ್ಧಿಯ ದೃಶ್ಯ ಶೈಲಿ, ಡ್ರ್ಯಾಗ್(drag)

play18:03

ಮತ್ತು ಡ್ರಾಪ್(drop) ಶೈಲಿ, ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ

play18:04

ಕಂಪೋನೆಂಟ್(component)ಗಳ ಬಳಕೆ ಮತ್ತು ಸ್ಟ್ಯಾಂಡರ್ಡ್(standard)

play18:05

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

play18:10

ಸ್ಟ್ಯಾಂಡರ್ಡ್(standard) API ಗಳನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ

play18:14

ಏಕೆಂದರೆ ಅದು ಮರುಬಳಕೆಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.

play18:21

RAD ಮಾದರಿಯು ಒಂದು ಅಥವಾ ಎರಡು ಗ್ರಾಹಕರಿಗೆ

play18:28

ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ ಸಾಫ್ಟ್ವೇರ್(software)ಗೆ

play18:30

ಸೂಕ್ತವಾಗಿದೆ.

play18:32

ಮತ್ತು ಇಲ್ಲಿ, ವಿನ್ಯಾಸವು ತುಂಬಾ ರಚನೆಯಾಗಿಲ್ಲದ

play18:38

ಕಾರಣ, ಕೋಡ್(code) ಗುಣಮಟ್ಟವು ತುಂಬಾ ಉತ್ತಮವಾಗಿಲ್ಲ.

play18:44

ಪ್ರಾಜೆಕ್ಟ್(project)ನ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಮತ್ತು

play18:47

ರಿಲಿಎಬಿಲಿಟಿ(performance and reliability) ಪ್ರೀಮಿಯಂ(premium)

play18:52

ಮಟ್ಟದಲ್ಲಿಲ್ಲ ಮತ್ತು ತುಂಬಾ ಚಿಕ್ಕ ಸಾಫ್ಟ್ವೇರ್(software)ಗೆ

play18:59

ಸಹ ಸೂಕ್ತವಲ್ಲ.

play19:02

ಸಾಫ್ಟ್ವೇರ್(software) ಹಲವಾರು ಸ್ವತಂತ್ರ ಮಾಡ್ಯೂಲ್ಗಳಾಗಿ

play19:08

ವಿಭಜಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

play19:10

ಮತ್ತು, ನಾವು ನಿಜವಾಗಿಯೂ ಕೆಲಸ ಮಾಡಲು RAD ಮಾಡಲ್(model)

play19:18

ಅನ್ನು ಬಯಸಿದರೆ, ನಾವು ಅನೇಕ ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ

play19:22

ಕಂಪೋನೆಂಟ್(component)ಗಳನ್ನು ಹೊಂದಿರಬೇಕು.

play19:24

ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ಸಾಫ್ಟ್‌ವೇರ್(software)

play19:25

ಲಭ್ಯವಿಲ್ಲದ ಹೊಸ ಉತ್ಪನ್ನಕ್ಕಾಗಿ, RAD ಮಾಡಲ್(model) ರನ್(run)

play19:28

ಆಗುವುದಿಲ್ಲ.

play19:29

ನಮಗೆ ಹೆಚ್ಚಿನ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಮತ್ತು ರಿಲಿಎಬಿಲಿಟಿ(performance

play19:30

and reliability) ಅಗತ್ಯವಿದ್ದರೆ, RAD ಮಾಡಲ್(model) ಸೂಕ್ತವಲ್ಲ.

play19:32

ಸಾಫ್ಟ್‌ವೇರ್(software) ಸಮಂಜಸವಾಗಿ ದೊಡ್ಡದಾಗಿದ್ದರೆ

play19:34

ಮತ್ತು ಹಲವಾರು ಮಾಡ್ಯೂಲ್‌(module)ಗಳಾಗಿ ಮಾಡ್ಯುಲೈಸ್(modulise) ಮಾಡಬಹುದಾದಾಗ

play19:38

RAD ಮಾಡಲ್(model) ಉಪಯುಕ್ತವಾಗಿರುತ್ತದೆ.

play19:46

RAD ಮಾಡಲ್(model) ಯೊಂದಿಗೆ ಪ್ರೊಟೋಟೈಪ್(prototype)

play19:50

ಅನ್ನು ಹೋಲಿಸುವುದು ಸುಲಭ.

play19:53

ಪ್ರೊಟೋಟೈಪ್(prototype) ಮಾಡಲ್(model) ನಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ

play19:56

ಪ್ರೊಟೋಟೈಪ್(prototype) ಥ್ರೋಅವೇ(throwaway) ಪ್ರೊಟೋಟೈಪ್(prototype)

play19:59

ಆಗಿದೆ.

play20:00

ಪ್ರೊಟೋಟೈಪ್(prototype) ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು

play20:03

ಮುಖ್ಯ ಕಾರಣವೆಂದರೆ ಗ್ರಾಹಕರ ಸಲಹೆಗಳನ್ನು

play20:07

ಮತ್ತು ಪರಿಹಾರದ ಒಳನೋಟವನ್ನು ಪಡೆಯುವುದು.

play20:11

ಪ್ರೊಟೋಟೈಪ್(prototype) ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವ

play20:14

ಮೂಲಕ ಡೆವಲಪರ್‌(developer)ಗಳು ಪರ್ಯಾಯಗಳ ನಡುವೆ ಆಯ್ಕೆ

play20:19

ಮಾಡಬಹುದು.

play20:20

ಪರ್ಯಾಯಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಪ್ರೊಟೋಟೈಪ್(prototype)

play20:24

ಅನ್ನು ಬಳಸಿದ ನಂತರ, ಕ್ಲೈಂಟ್ ಪ್ರತಿಕ್ರಿಯೆ

play20:29

ಅನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ನಂತರ ಪ್ರೊಟೋಟೈಪ್(prototype)

play20:34

ಅನ್ನು ಎಸೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಹೊಸ ಸಂಪೂರ್ಣ

play20:39

ಯೋಜಿತ ಅಭಿವೃದ್ಧಿ ಪುನರಾವರ್ತನೆಯ ವಾಟರ್ಫಾಲ್(waterfall)

play20:43

ಮಾಡಲ್(model) ನಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

play20:45

ಇದಕ್ಕೆ ವ್ಯತಿರಿಕ್ತವಾಗಿ, RAD ಮಾಡಲ್(model) ನಲ್ಲಿ

play20:48

ಪ್ರೊಟೋಟೈಪ್(prototype) ಅನ್ನು ಸ್ವತಃ ವಿತರಿಸಬಹುದಾದ

play20:50

ಸಾಫ್ಟ್‌ವೇರ್(software) ಆಗಿ ಮಾರ್ಪಡಿಸಲಾಗಿದೆ.

play20:51

ಸಹಜವಾಗಿ, ಇದು ವೇಗವಾದ ಅಭಿವೃದ್ಧಿಯ RAD ಯ ಅವಶ್ಯಕತೆ

play20:55

ಅಥವಾ ಉದ್ದೇಶದೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ,

play20:58

ಆದರೆ ಕ್ವಾಲಿಟಿ ಮತ್ತು ರಿಲಿಯಬಿಲಿಟಿ(quality

play21:01

and reliability) ಪ್ರಶ್ನೆಯಾಗುತ್ತದೆ.

play21:02

ಆದರೆ ಇಟರೇಟಿವ್ ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(Iterative waterfall model)

play21:03

ಯೊಂದಿಗೆ RAD ಹೇಗೆ ಹೋಲಿಸುತ್ತದೆ?

play21:04

ಇಟರೇಟಿವ್ ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(Iterative waterfall model),

play21:06

ಆರಂಭದಲ್ಲಿ ಎಲ್ಲಾ ಅಗತ್ಯತೆಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲಾಗುತ್ತದೆ

play21:08

ಮತ್ತು ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ಒಟ್ಟಿಗೆ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತದೆ,

play21:11

ಆದರೆ RAD ಮಾಡಲ್(model) ನಲ್ಲಿ ಇವುಗಳನ್ನು ಹೆಚ್ಚೆಚ್ಚು

play21:16

ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ.

play21:17

ಆದ್ದರಿಂದ, ಇದು ಇನ್ಕ್ರೀಮೆಂಟಲ್ ಡೆವಲಪ್ಮೆಂಟ್ ಮಾಡಲ್

play21:22

(incremental development model) ಯೊಂದಿಗೆ ಹೋಲಿಕೆಯನ್ನು ಹೊಂದಿದೆ

play21:28

ಮತ್ತು ಪ್ರತಿ ಇಟರೇಟಿವ್(iterative)ನ ಮೇಲೆ ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು

play21:33

ಪಡೆಯಲಾಗುತ್ತದೆ.

play21:34

ಆದ್ದರಿಂದ RAD ಮಾಡಲ್(model) ನಲ್ಲಿ, ಕ್ಲೈಂಟ್(client)

play21:38

ಇಂಟರ್ಆಕ್ಷನ್(interaction)ಗಳು ಅಥವಾ ಗ್ರಾಹಕರ ಇಂಟರ್ಆಕ್ಷನ್(interaction)ಗಳು

play21:41

ಇಟರೇಟಿವ್ ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(iterative waterfall model)ಗೆ

play21:45

ಹೋಲಿಸಿದರೆ ಹೆಚ್ಚು.

play21:48

ಗ್ರಾಹಕರ ಪ್ರತಿಕ್ರಿಯೆಯ ಆಧಾರದ ಮೇಲೆ ಅಗತ್ಯ

play21:53

ಬದಲಾವಣೆಗಳಿಗೆ ಅವಕಾಶ ಕಲ್ಪಿಸುವುದು ಸುಲಭ.

play21:57

ಆದರೆ ನಂತರ, RAD ಮಾಡಲ್(model)ಗೆ ಹೋಲಿಸಿದರೆ, ಇಟರೇಟಿವ್

play22:01

ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(Iterative waterfall model) ಸಾಮಾನ್ಯವಾಗಿ

play22:02

ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಡಿಸೈನ್(design), ಹೆಚ್ಚಿನ ರಿಲಿಎಬಿಲಿಟಿ(reliability)

play22:04

ಮತ್ತು ಉತ್ತಮ ದಾಖಲಾತಿಗಳ ಉತ್ಪಾದನೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ.

play22:06

ಎವೊಲ್ಯೂಷನರಿ ಮಾಡಲ್(evolutionary model) ಯೊಂದಿಗೆ RAD ಮಾಡಲ್(model)

play22:08

ಹೇಗೆ ಹೋಲಿಸುತ್ತದೆ?

play22:09

RAD ಮತ್ತು ಎವೊಲ್ಯೂಷನರಿ(evolutionary) ಏರಿಕೆಗಳೆರಡರಲ್ಲೂ

play22:11

ಅಭಿವೃದ್ಧಿಯು ಹಲವಾರು ಏರಿಕೆಗಳಲ್ಲಿ ಸಂಭವಿಸುತ್ತದೆ.

play22:14

RAD ನಲ್ಲಿ ಹೆಚ್ಚಳವು ತ್ವರಿತ ಮತ್ತು ಡರ್ಟಿ(dirty)

play22:17

ಪ್ರೊಟೋಟೈಪ್(prototype) ಆಗಿದೆ.

play22:18

ಮತ್ತೊಂದೆಡೆ, ಎವೊಲ್ಯೂಷನರಿ(evolutionary) ಮಾಡಲ್(model) ನಲ್ಲಿ ಪ್ರತಿ

play22:21

ಹೆಚ್ಚಳವನ್ನು ಇಟರೇಟಿವ್ ವಾಟರ್ಫಾಲ್ ಮಾಡಲ್(Iterative

play22:24

waterfall model) ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ.

play22:27

ಮತ್ತು ನಾವು ಇನ್ಕ್ರಿಮೆಂಟ್(increment)ನ ಸೈಜ್(size) ಅನ್ನು ನೋಡಿದರೆ,

play22:30

RAD ಹೆಚ್ಚಳವು ಚಿಕ್ಕದಾಗಿದೆ ಮತ್ತು ಟೈಮ್ ಬಾಕ್ಸ್(time

play22:31

box) ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ ಮತ್ತು ಮತ್ತೊಂದೆಡೆ,

play22:32

ಎವೊಲ್ಯೂಷನರಿ ಮಾಡಲ್(evolutionary model) ನಲ್ಲಿ ಪ್ರತಿ ಇನ್ಕ್ರಿಮೆಂಟ್(increment)

play22:33

ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಇಟರೇಟಿವ್(iterative)

play22:34

ನಲ್ಲಿ ಹೆಚ್ಚಿನ ಕಾರ್ಯವನ್ನು ಪೂರ್ಣಗೊಳಿಸಲಾಗುತ್ತದೆ.

play22:35

ಈಗ, ಮತ್ತೊಂದು ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಪ್ರಕ್ರಿಯೆ

play22:36

ಆದ ಯುನಿಫೈಡ್(unified) ಪ್ರಕ್ರಿಯೆ ಅನ್ನು ನೋಡೋಣ.

play22:37

ಯುನಿಫೈಡ್(Unified) ಪ್ರಕ್ರಿಯೆಯನ್ನು ಜಾಕೋಬ್ಸನ್, ಬೂಚ್

play22:38

ಮತ್ತು ರುಂಬಾಗ್ (Jacobson, Booch and Rumbaugh)ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ್ದಾರೆ.

play22:39

ಆಬ್ಜೆಕ್ಟ್ ಓರಿಎಂಟೆಡ್ ಸಾಫ್ಟ್‌ವೇರ್(object-oriented

play22:40

software) ಅಭಿವೃದ್ಧಿಗಾಗಿ ಇದನ್ನು ವ್ಯಾಪಕವಾಗಿ

play22:43

ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಇದು ಹೆಚ್ಚುತ್ತಿರುವ

play22:47

ಮತ್ತು ಇಟರೇಟಿವ್(iterative) ಆಗಿದೆ.

play22:51

ಆದ್ದರಿಂದ, ಇನ್ಕ್ರಿಮೆಂಟಲ್(incremental) ಮತ್ತು ಇಟರೇಟಿವ್(iterative)

play22:55

ಪದದಿಂದ ಇಲ್ಲಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಮೊದಲೇ ಗುರುತಿಸಬೇಕಾಗಿತ್ತು.

play23:00

ತದನಂತರ, ಹಲವಾರು ಇಟರೇಟಿವ್(iterative) ಅಭಿವೃದ್ಧಿಯ ಮೇಲೆ

play23:06

ಸಾಫ್ಟ್‌ವೇರ್(software) ಅನ್ನು ಕ್ಲೈಂಟ್-ಸೈಡ್‌ನಲ್ಲಿ

play23:09

ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕ್ಲೈಂಟ್ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು

play23:13

ಪಡೆಯಲಾಗುತ್ತದೆ.

play23:14

ರೇಷನಲ್ ಕಾರ್ಪೊರೇಷನ್(rational corporation) ವಿನ್ಯಾಸಗೊಳಿಸಿದ

play23:18

ರೇಷನಲ್ ಕಾರ್ಪೊರೇಷನ್(rational corporation) ಪ್ರಕ್ರಿಯೆಯನ್ನು

play23:23

ಯುನಿಫೈಡ್(Unified) ಪ್ರೋಸಸ್(process) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ

play23:27

ಮತ್ತು ರೇಷನಲ್ ಕಾರ್ಪೊರೇಷನ್(rational corporation) ಅನ್ನು 2003 ರಲ್ಲಿ

play23:34

IBM ಸ್ವಾಧೀನಪಡಿಸಿಕೊಂಡಿತು.

play23:37

ಯುನಿಫೈಡ್(unified) ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಇಲ್ಲಿ ಅಭಿವೃದ್ಧಿಯು

play23:41

4 ಹಂತಗಳಲ್ಲಿ ಸಂಭವಿಸುತ್ತದೆ: ಇನ್ಸೆಪ್ಷನ್ , ಎಲ್ಯಾಬೋರೇಷನ್,

play23:46

ಕನ್ಸ್ಟ್ರಕ್ಷನ್ ಮತ್ತು ಟ್ರಾನ್ಸಿಷನ್(Inception,

play23:49

Elaboration, Construction and Transition).

play23:53

ಈ ಪ್ರತಿಯೊಂದು ಹಂತಗಳಲ್ಲಿ, ಅನೇಕ ಏರಿಕೆಗಳನ್ನು

play23:57

ಒಳಗೊಂಡಿರುತ್ತದೆ.

play23:58

ಇನ್ಸೆಪ್ಷನ್(inception) ಫೇಸ್(phase) ಅನೇಕ ಏರಿಕೆಗಳು

play24:02

ಅಥವಾ ಇಟೆರೇಷನ್(iteration)ಗಳ ಮೇಲೆ ಸಂಭವಿಸುತ್ತದೆ.

play24:06

ವಿವರಣೆಯಲ್ಲಿಯೂ ಅನೇಕ ಇಟೆರೇಷನ್(iteration)ಗಳು

play24:08

ಇರಬಹುದು; ನಿರ್ಮಾಣದಲ್ಲಿ ಹಲವಾರು ಇಟೆರೇಷನ್(iteration)ಗಳು

play24:12

ಇವೆ ಮತ್ತು ಅಂತಿಮವಾಗಿ, ಇಟೆರೇಷನ್(iteration).

play24:15

ಎಲ್ಲಾ ಫೇಸ್(phase)ಗಳು ಏನನ್ನು ಸೂಚಿಸುತ್ತವೆ

play24:19

ಎಂಬುದನ್ನು ಈಗ ನಾವು ನೋಡುತ್ತೇವೆ.

play24:23

ಪ್ರಾರಂಭದ ಹಂತದಲ್ಲಿ, ಗ್ರಾಹಕರೊಂದಿಗೆ ಕಮ್ಯುನಿಕೇಷನ್(communication)

play24:26

ಅನ್ನು ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಎಲ್ಲಾ ಫೀಚರ್(feature)ಗಳನ್ನು

play24:31

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

play24:33

ಪ್ರಕ್ರಿಯೆಯ ಬಗ್ಗೆ ಯೋಜಿಸಲಾಗುತ್ತದೆ.

play24:36

ಎಲೆಬೊರೇಷನ್(elaboration) ಸಮಯದಲ್ಲಿ, ಗುರುತಿಸಲಾದ

play24:39

ಫೀಚರ್ ಗಳನ್ನು ಮಾಡಲ್(model) ಆಗಿ ಮಾಡಲಾಗುತ್ತದೆ.

play24:43

ಮತ್ತು ಅಂತಿಮವಾಗಿ, ನಿರ್ಮಾಣ ಹಂತದಲ್ಲಿ

play24:47

ಸಾಫ್ಟ್‌ವೇರ್(software) ಅನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆ

play24:50

ಮತ್ತು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ.

play24:51

ಮತ್ತು ಟ್ರಾನ್ಸಿಷನ್(Transition) ಸಮಯದಲ್ಲಿ, ಸಾಫ್ಟ್‌ವೇರ್(software)

play24:55

ಅನ್ನು ಕ್ಲೈಂಟ್(client) ಬದಿಯಲ್ಲಿ ನಿಯೋಜಿಸಲಾಗಿದೆ.

play24:58

ಈ ಹಂತದಲ್ಲಿ ಇದು ಸರಳವಾಗಿ ಕಾಣಿಸಬಹುದು ಆದರೆ

play25:04

ಇವೆಲ್ಲವೂ ಅಷ್ಟು ಸರಳವಲ್ಲ.

play25:07

ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಹೆಚ್ಚು ಸರಳವಾದ ಮಾಡಲ್(model)

play25:10

ನಿಖರವಾಗಿ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಾವು ನೋಡುತ್ತೇವೆ.

play25:15

ಈಗ, ಪ್ರತಿ ಹಂತದ ಔಟ್‌ಪುಟ್ ಏನೆಂದು ನೋಡೋಣ?

play25:20

ಪ್ರಾರಂಭದ ಹಂತದಲ್ಲಿ, ಆರಂಭಿಕ ಬಳಕೆಯ ಮಾಡಲ್(model)

play25:25

ಫೀಚರ್(feature)ಗಳು, ವ್ಯವಹಾರ ಕೇಸ್(case) , ರಿಸ್ಕ್ ಲಿಸ್ಟ್(risk

play25:29

list) , ಪ್ರಾಜೆಕ್ಟ್ ಪ್ಲಾನ್(project plan) , ಯಾವುದೇ ಪ್ರೊಟೋಟೈಪ್(prototype)

play25:34

ಇತ್ಯಾದಿಗಳು ಔಟ್‌ಪುಟ್ ಆಗಿ ಬರುತ್ತವೆ.

play25:38

ಎಲಬೋರೇಷನ್ ಹಂತದಲ್ಲಿ, ವಿಶ್ಲೇಷಣಾ ಮಾಡಲ್(madal),

play25:42

ಪ್ರಾಥಮಿಕ ಮಾಡಲ್(madal), ಹಸ್ತಚಾಲಿತ ಬಳಕೆಯ

play25:45

ಪ್ರಕರಣ ಮಾಡಲ್(madal) ಇತ್ಯಾದಿಗಳು ಔಟ್‌ಪುಟ್(output)

play25:49

ಆಗಿ ಬರುತ್ತವೆ.

play25:51

ನಿರ್ಮಾಣ ಹಂತ, ಸಾಫ್ಟ್‌ವೇರ್(software) ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ,

play25:55

ಪರೀಕ್ಷಾ ಯೋಜನೆಯನ್ನು ಮಾಡಲಾಗಿದೆ, ಬಳಕೆದಾರರ

play25:59

ಯೂಸರ್ ಮ್ಯಾನುಯಲ್(user manual) ಮತ್ತು ಅನುಸ್ಥಾಪನಾ

play26:03

ಕೈಪಿಡಿಯನ್ನು ಬರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಅಂತಿಮವಾಗಿ,

play26:07

ಇವುಗಳನ್ನು ಗ್ರಾಹಕರ ಸೈಟ್‌(site)ನಲ್ಲಿ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ.

play26:10

ನಿರ್ಮಾಣ ಹಂತದಲ್ಲಿ ಬೀಟಾ ಟೆಸ್ಟ್ ರಿಪೋರ್ಟ್(test

play26:15

report)ಗಳು ಮತ್ತು ಬಳಕೆದಾರರ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು

play26:18

ಸಹ ಪಡೆಯಲಾಗುತ್ತದೆ.

play26:20

ಆದರೆ ನಾವು ಇದನ್ನು ದೃಶ್ಯೀಕರಿಸಲು ಬಯಸಿದರೆ

play26:25

ಅದು ರೇಷನಲ್ ಯುನಿಫೈಡ್(rational unified) ಪ್ರಕ್ರಿಯೆಯ ಹೆಚ್ಚು

play26:30

ವಾಸ್ತವಿಕ ಚಿತ್ರವನ್ನು ತೋರಿಸುತ್ತದೆ.

play26:33

ಹಾರಿಜಾಂಟಲ್ ಆಕ್ಸಿಸ್(horizontal axis), ಲೈಫ್ ಸೈಕಲ್(lifecycle)

play26:37

ಅನ್ನೋದು ಅಂಶಗಳನ್ನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು

play26:41

ವರ್ಟಿಕಲ್ ಆಕ್ಸಿಸ್(vertical axis) ಅನ್ನೋದು ಕೋರ್(core)

play26:45

ಪ್ರಕ್ರಿಯೆಯ ಫ್ಲೋ(flow) ಅನ್ನು ತೋರಿಸುತ್ತದೆ.

play26:49

ಗ್ರಾಫಿಕಲ್(graphical) ಪ್ರಾತಿನಿಧ್ಯದಿಂದ ನಾವು ನಾಲ್ಕು ಹಂತಗಳನ್ನು

play26:53

ಇಲ್ಲಿ ಗುರುತಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರತಿಯೊಂದೂ

play26:57

ಹಲವಾರು ಇಟರೇಷನ್(iteration) ಗಳಲ್ಲಿ ಸಂಭವಿಸುತ್ತದೆ

play27:01

ಎಂದು ನೋಡಬಹುದು ಮತ್ತು ಅವು ಎಲ್ಯಾಬೋರೇಷನ್(elaboration)

play27:05

ಮತ್ತು ಕನ್ಸ್ಟ್ರಕ್ಷನ್(construction) ಹಂತದಲ್ಲಿ ಮುಂದುವರಿಯುತ್ತವೆ.

play27:09

ಅನಾಲಿಸಿಸ್(analysis) ಮತ್ತು ಡಿಸೈನ್(design), ಆವು ಎಲ್ಯಾಬೋರೇಷನ್(elaboration)

play27:13

ಮತ್ತು ಕನ್ಸ್ಟ್ರಕ್ಷನ್(construction)ನ ಸಮಯದಲ್ಲಿ ಪೀಕ್(peak)ಗೆ

play27:17

ಏರುತ್ತವೆ ಮತ್ತು ನಿಧಾನವಾಗಿ ಕಡಿಮೆಯಾಗುತ್ತವೆ

play27:20

. ಕನ್ಸ್ಟ್ರಕ್ಷನ್(construction) ಹಂತದಲ್ಲಿ ಇಂಪ್ಲೇಮೆಂಟೇಶನ್

play27:23

(implementation) ಪೀಕ್(peak)ಗೆ ಏರುತ್ತದೆ ಮತ್ತು ಕುಗ್ಗುತ್ತದೆ;

play27:28

ಆದರೆ ನಂತರ, ಎಲ್ಯಾಬೋರೇಷನ್(elaboration) ಹಂತದಲ್ಲಿ ಕೆಲವು ನಿರ್ಮಾಣಗಳಿವೆ

play27:33

ಮತ್ತು ಪರೀಕ್ಷೆಯು ಉದ್ದಕ್ಕೂ ಇರುವುದನ್ನು

play27:37

ನಾವು ನೋಡಬಹುದು ಮತ್ತು ಟ್ರಾನ್ಸಿಷನ್(transition)

play27:40

ಕಡೆಗೆ ನಿಯೋಜನೆಯು ಪೀಕ್(peak)ಗೆ ಏರುತ್ತದೆ.

play27:44

ನಾವು ಈ ಉಪನ್ಯಾಸದ ಸಮಯವನ್ನು ಸಮೀಪಿಸುತ್ತಿದ್ದೇವೆ.

play27:48

ನಾವು ಇಲ್ಲಿಗೆ ನಿಲ್ಲಿಸುತ್ತೇವೆ ಮತ್ತು ಮುಂದಿನ ಉಪನ್ಯಾಸದಲ್ಲಿ

play27:54

ಈ ಹಂತದಿಂದ ಮುಂದುವರಿಯುತ್ತೇವೆ.

Rate This

5.0 / 5 (0 votes)

Related Tags
Software DevelopmentIncremental ModelEvolutionary ModelProject ManagementAgile MethodsRapid PrototypingUser FeedbackIteration CycleQuality AssuranceDevelopment Strategies