YouTube2Text

Lecture 08: Life Cycle Models - IV — Transcript

by NPTEL IIT Kharagpur · 2,673 words · 424 segments · language en · Watch on YouTube

Full transcript

  1. 0:01[Music]
  2. 0:16welcome to this lecture over the last
  3. 0:20few lectures we had looked at few
  4. 0:24important software development lifecycle
  5. 0:27models we had started looking at the
  6. 0:31classical model which is very intuitive
  7. 0:35the classical waterfall model and the
  8. 0:39derivatives of this model namely the
  9. 0:43iterative waterfall model looked at the
  10. 0:47v-model prototyping model and so on and
  11. 0:51over the years few more models came up
  12. 0:55as the shortcomings of the waterfall
  13. 0:58model were noticed these were the rad
  14. 1:03model the incremental model incremental
  15. 1:07with iteration and the evolutionary
  16. 1:09model in the last lecture looked at the
  17. 1:13incremental model today we will first
  18. 1:17look at the evolutionary model and then
  19. 1:20we look at the agile development model
  20. 1:27this is in fact an evolutionary model
  21. 1:30with iteration remember in the last
  22. 1:35class we had said that the term
  23. 1:38iteration is used when existing
  24. 1:42functionality which was delivered
  25. 1:45developed and delivered is iterated and
  26. 1:51refined based on customer feedback now
  27. 1:59let's look at the evolutionary model
  28. 2:00with iteration one of the main problem
  29. 2:07that we had said about the waterfall
  30. 2:09based model is that the requirement is
  31. 2:13defined and frozen at the start of the
  32. 2:16project but then look at here about the
  33. 2:22practical situation cappers jones
  34. 2:26researched an eight hundred eight
  35. 2:28thousand projects and he found that
  36. 2:32forty percent of the requirements were
  37. 2:35arrived when the development had already
  38. 2:38begun if we had frozen the requirements
  39. 2:43the start then this forty percent
  40. 2:47changes will be very difficult to
  41. 2:50incorporate because in reality this is
  42. 2:53the average figure forty percent it can
  43. 2:56even be more for some projects and
  44. 3:01therefore there is need for a model
  45. 3:04which can effectively handle requirement
  46. 3:10changes requirements change due to
  47. 3:13various reasons maybe the business
  48. 3:17changes very rapidly once they have
  49. 3:21defined a business procedure may be
  50. 3:22after a month the business procedure
  51. 3:25changes or maybe the technology changes
  52. 3:28or maybe they might have not understood
  53. 3:35what is required and told something else
  54. 3:38maybe they had forgotten to tell
  55. 3:40something and so on so the requirements
  56. 3:44changed due to various reasons and we
  57. 3:48need a model which can effectively
  58. 3:51handle requirement changes one way that
  59. 3:59has been considered very promising is
  60. 4:01that each time do only small part of the
  61. 4:05system those are riskier likely to
  62. 4:09change the customer is not sure about it
  63. 4:16plan a little for this small work design
  64. 4:20a little code a little and once the
  65. 4:27small part is completed give it to the
  66. 4:30customer for his evaluation and feedback
  67. 4:39here the customer is encouraged to
  68. 4:42participate the end user the tester
  69. 4:48integrator Technical Writer all are
  70. 4:51involved in the development let's see
  71. 4:58what very distinguished person in this
  72. 5:04area dumb glib what he has to say on the
  73. 5:08evolutionary model is he says that a
  74. 5:12complex system will be most successful
  75. 5:15if implemented in small steps retreat to
  76. 5:21a previous successful step on failure if
  77. 5:24some functionality is totally not
  78. 5:27required then at least you can go back
  79. 5:30to the previous version which is
  80. 5:33acceptable and then develop from there
  81. 5:38opportunity to receive feedback from the
  82. 5:41real world before throwing in all
  83. 5:43resources and you can correct possible
  84. 5:46errors so according to thumb Glinda the
  85. 5:52evolutionary model which he captures
  86. 5:55here in this video lines is a very
  87. 5:58promising model to handle changes to the
  88. 6:02requirement due to various reasons let's
  89. 6:06see what Craig lahrman has to say about
  90. 6:09evolutionary model with iteration even
  91. 6:12listener e iterative development implies
  92. 6:14that the requirements plan estimates and
  93. 6:18solutions evolve or refined over the
  94. 6:21course of iteration rather than fully
  95. 6:24defined and frozen in a major operand
  96. 6:27specification before the development
  97. 6:31ITER Asians begin Eva listen Airy
  98. 6:35methods are consistent with a pattern of
  99. 6:37unpredictable discovery and change in
  100. 6:40new product development craig Lerman
  101. 6:44says that when a problem when a project
  102. 6:49starts it is very difficult to visualize
  103. 6:51all that is require
  104. 6:53only when you start doing then you can
  105. 6:59know that what is wrong what is really
  106. 7:01required and so on so is very critical
  107. 7:04about the waterfall model where the
  108. 7:09requirements are fully defined and
  109. 7:11frozen before the development starts and
  110. 7:15therefore evolution aary model is the
  111. 7:18way to go and true to his words most of
  112. 7:24the development models that are being
  113. 7:25used now which have become popular
  114. 7:29he was the evolutionary model in some
  115. 7:33form let's look at the evolutionary
  116. 7:37model here the core modules of the
  117. 7:40software is first developed and this is
  118. 7:47refined into increasing levels of
  119. 7:50capabilities which are called as
  120. 7:52iterations in nice iteration new
  121. 7:56functionalities will be added and also
  122. 7:59the existing functionalities can change
  123. 8:01based on the user feedback and its
  124. 8:06development each iteration is developed
  125. 8:11through a mini waterfall model at the
  126. 8:15end of a iteration some code is
  127. 8:22delivered to the customer invariably at
  128. 8:29the end of development
  129. 8:30maybe the existing functionalities might
  130. 8:33have changed it is possible that no new
  131. 8:37functionalities might have got added but
  132. 8:39only the existing functionalities have
  133. 8:40got refined or it may so happen that
  134. 8:44existing functionalities have got
  135. 8:46changed a little bit and new
  136. 8:48functionalities have been added so these
  137. 8:51are an increment and therefore it has
  138. 8:57some incremental development but then
  139. 9:00the question is that how is the
  140. 9:03incremental development
  141. 9:05and the evolutionary development differ
  142. 9:09because as you can see that in both
  143. 9:12these models incremental and
  144. 9:14evolutionary there are small increments
  145. 9:20over which the system is developed and
  146. 9:21these increments are deployed at the
  147. 9:24customer site and feedback obtained but
  148. 9:28let me mention here that in the purely
  149. 9:33incremental model as you might have
  150. 9:36remember from our last discussion that
  151. 9:40all those requirements are identified
  152. 9:44and these are planned into small
  153. 9:47increments each increment is developed
  154. 9:50deployed feedback obtained and changes
  155. 9:53can happen but in an incremental model
  156. 9:57all the requirements are gathered to
  157. 10:00start with where as in evolutionary
  158. 10:03model it is not the case here after an
  159. 10:07overall understanding of the system we
  160. 10:10do not really capture all the
  161. 10:12requirements but then start with some of
  162. 10:15the core or riskier modules
  163. 10:21at the end of each iteration a tested
  164. 10:25integrated executable system is
  165. 10:28developed deployed at the customer site
  166. 10:33the length of the each iteration is
  167. 10:35typically fixed something like a
  168. 10:39two-week to one month or maybe 1.5 month
  169. 10:492 to 6 weeks and the development
  170. 10:52precedes over many iterations for
  171. 10:54example a system may get developed over
  172. 10:5610 to 15 iterations as you can see the
  173. 11:00evolutionary model the requirements are
  174. 11:03not frozen but here the customer is
  175. 11:10encouraged to participate give feedback
  176. 11:12based on which the further developments
  177. 11:15occur and the customer feedback is taken
  178. 11:17into account and functionalities get
  179. 11:19modified so here the requirements are
  180. 11:25modified in a iteration some of the
  181. 11:28existing functionalities as well as new
  182. 11:31functionalities are delivered here
  183. 11:37successive versions are developed and
  184. 11:39deployed at the cost customer site each
  185. 11:42version is capable of performing some
  186. 11:46useful work which the customer can use
  187. 11:48and give feedback and a new release can
  188. 11:54include a new functionalities and also
  189. 11:57existing functionalities may get
  190. 12:00modified and refined
  191. 12:06we can diagrammatically represent it
  192. 12:08like this that initially rough
  193. 12:13requirements just understand what the
  194. 12:15system needs to do and then there are
  195. 12:18iterations the iterations are shown here
  196. 12:21in each iteration is a mini waterfall
  197. 12:24where need to specify a small part
  198. 12:28develop validate and deploy at the
  199. 12:32customer site to start with the initial
  200. 12:35version the feedback is obtained
  201. 12:37there are several intermediate versions
  202. 12:40and then the final version is deployed
  203. 12:43at the customer site even listener a
  204. 12:49model has the advantage that the
  205. 12:50customer can use the system and give
  206. 12:58feedback and therefore the evolutionary
  207. 13:04model is best suited to find the user
  208. 13:08requirements the exact user requirements
  209. 13:10and once it is delivered to the customer
  210. 13:13the customer to meet the customer
  211. 13:18requirements also since these are each
  212. 13:22time tested each increment is tested and
  213. 13:27deployed at customer site therefore
  214. 13:30multiple test activities integration
  215. 13:33activities occur and therefore it is
  216. 13:39less likely to contain bugs because
  217. 13:42these are tested thoroughly
  218. 13:46and since each time the developers focus
  219. 13:50each time on a small part it helps in
  220. 13:53managing complexity man it's better
  221. 13:56manners changing requirements customer
  222. 14:00feedbacks are obtained and incorporated
  223. 14:07the customer gets worsen quickly they
  224. 14:11get trained on using the software if
  225. 14:16there are bugs these are fixed quickly
  226. 14:22in the next iteration but then there are
  227. 14:26some problems with the evolutionary
  228. 14:28model let us be aware about the problems
  229. 14:31of evolutionary model you had seen that
  230. 14:33it is lot of advantages but then here
  231. 14:38the process is unpredictable that is
  232. 14:40each time we develop a increment deploy
  233. 14:43and get the customer feedback now what
  234. 14:46if the customer just keeps changing the
  235. 14:51requirements asks keeps on asking for
  236. 14:54modifications and so on therefore the
  237. 14:59process is unpredictable don't know when
  238. 15:04it will finish because the customer may
  239. 15:08keep on changing the requirements and
  240. 15:10also if we have a long term plan then it
  241. 15:18becomes easier to deploy manpower
  242. 15:20recruit them schedule work monitor and
  243. 15:24so on here all these are problematic
  244. 15:32the system is poorly structured because
  245. 15:35there is no overall design made it's
  246. 15:39only small parts that are designed and
  247. 15:41integrated since the code is changed
  248. 15:48continually the code structure degrades
  249. 15:53and the system may not even converge to
  250. 15:57a final version if each time the
  251. 16:01customer keeps anton asking for changes
  252. 16:05now let us look at the spiral model the
  253. 16:13main feature of the spiral model is risk
  254. 16:16handling just look at the spiral here
  255. 16:19diagram the model follows spiral we'll
  256. 16:23see that it was proposed by Boehm here
  257. 16:28each loop of the spiral is called as a
  258. 16:31phase and the system gets developed over
  259. 16:39many phases there is no fixed number of
  260. 16:43edges as the system develops more and
  261. 16:51more phases are created there can be
  262. 16:53many loops on this spiral until the
  263. 16:57final delivery takes place but over each
  264. 17:00phase that is each loop of the spiral
  265. 17:03one feature is identified and is
  266. 17:09developed
  267. 17:14if you can see there are four quadrants
  268. 17:16here on the spiral model the first
  269. 17:19quadrant what needs to be done in that
  270. 17:24phase is identified and then if there
  271. 17:28are any uncertainties technical
  272. 17:32uncertainties are the user requirements
  273. 17:35are not clear a prototype is developed
  274. 17:38to resolve the risk and then the next
  275. 17:44iteration is developed given to the
  276. 17:47customer for his evaluation and then
  277. 17:50another feature is taken up so over each
  278. 17:56iteration one or more features are taken
  279. 17:59up the risk is resolved and then the
  280. 18:07next development occurs and customer
  281. 18:09feedback as can be seen here this model
  282. 18:15is ideally suited for very risky
  283. 18:18projects where the technology is not
  284. 18:22known it's possibly the first time that
  285. 18:25this kind of software is being developed
  286. 18:27the technology is not certain and so on
  287. 18:30so each time some features the most
  288. 18:34riskiest feature is identified risk is
  289. 18:38resolved it is developed and given for
  290. 18:43customer feedback and the next set of
  291. 18:46features are taken on
  292. 18:52here the risk is any adverse of
  293. 18:55circumstance that might happen hamper
  294. 18:57the successful completion of the project
  295. 18:59it can be technical issues are not clear
  296. 19:04it can be that the customer is not able
  297. 19:08to clearly specify what is required and
  298. 19:12here the prototype is developed to
  299. 19:16overcome the risk if the risk is that
  300. 19:24requirements are inappropriate prototype
  301. 19:26is developed given to the customer so
  302. 19:28that he can more clearly say what is
  303. 19:32required the third quadrant is developed
  304. 19:37and valid it and the fourth quadrant is
  305. 19:42give the developed solution to the
  306. 19:45customer for feedback and plan for the
  307. 19:47next iteration we can see that with each
  308. 19:51iteration around the spiral more and
  309. 19:54more complete versions of the software
  310. 19:56get built the spiral model is also
  311. 20:02called as a meta model because a single
  312. 20:06loop of the spiral is a waterfall model
  313. 20:09there are iterations and therefore it
  314. 20:13incorporates evolutionary and
  315. 20:15incremental models it uses prototyping
  316. 20:20the stepwise approach of the waterfall
  317. 20:23model is retained and therefore this
  318. 20:27model can be degenerated or can be used
  319. 20:32as any other model but then need to
  320. 20:36remember that the spiral model is
  321. 20:38suitable for very risky projects and
  322. 20:40large projects now let us look at the
  323. 20:44agile models
  324. 20:49if we look at the meaning of agile in
  325. 20:52dictionary agile means easily moved very
  326. 20:58fast nimble active software process
  327. 21:02etcetera these are some of the terms
  328. 21:04that are given as explanation for agile
  329. 21:07model in dictionary but then agile means
  330. 21:10very fast so the development in agile
  331. 21:15model should occur very fast in much
  332. 21:18less time then it occurs in other
  333. 21:22development models but then how is it
  334. 21:25developed very fast how his agility
  335. 21:27achieved agility is achieved because
  336. 21:33here it gives lot of flexibility to
  337. 21:37change the process that is if some
  338. 21:40project requires some work to be done
  339. 21:45some specific activity it will be done
  340. 21:47if it is not required for another
  341. 21:49project it will can be easily skipped
  342. 21:52because the model is very flexible
  343. 21:56unlike the waterfall model where there
  344. 21:59are predefined activities and steps and
  345. 22:03so on here we can fit the process to the
  346. 22:07project but more important is we can
  347. 22:10avoid things that waste time that is to
  348. 22:14get it done very fast we need to avoid
  349. 22:17whatever is a wastage of time what are
  350. 22:23the West's of time maybe if we are
  351. 22:26preparing very elaborate documents were
  352. 22:28mentioning that in the iterative
  353. 22:31waterfall model 50% of the development
  354. 22:34effort and time goes in preparing
  355. 22:38documents here we will see that it does
  356. 22:42away in preparing these elaborate
  357. 22:44documents and saves lot of time
  358. 22:50it was proposed in mid 90s mainly to
  359. 22:53overcome the shortcomings of the
  360. 22:55waterfall model one important
  361. 22:59characteristic is to handle change
  362. 23:01requests we had seen that the
  363. 23:06evolutionary model is a good way to
  364. 23:09handle change requests and the agile
  365. 23:11models do incorporate evolutionary
  366. 23:14development evolutionary and incremental
  367. 23:16development here the requirements are
  368. 23:20decomposed into small incremental parts
  369. 23:22and development precedes incrementally
  370. 23:26there are a few things which are
  371. 23:29important here instead of producing
  372. 23:33laborat documents following process
  373. 23:37rigorously here the individuals and they
  374. 23:41interact with each other rather than
  375. 23:43passing on a document to each other they
  376. 23:45explain to each other through
  377. 23:46interaction in a waterfall model the
  378. 23:50progress of the development is measured
  379. 23:53in terms of the documents produced is
  380. 23:55the requirement document complete is the
  381. 23:57design document complete is the detailed
  382. 24:02design complete is the code
  383. 24:04documentation complete test
  384. 24:07documentation complete but here the
  385. 24:11progress is measured in terms of the
  386. 24:13working software that has got developed
  387. 24:16how many iterations have been completed
  388. 24:18and each iteration some working software
  389. 24:21is deployed at the customer site here
  390. 24:24the customer is encouraged to
  391. 24:26participate in development this
  392. 24:29encouraged to collaborate in the
  393. 24:31development rather than just signing a
  394. 24:34contract at the start of the project and
  395. 24:36here it is assumed that changes will
  396. 24:41occur the requirements will change and
  397. 24:44how to handle those rather than making a
  398. 24:48long-term plan and following that plan
  399. 24:50here changes are welcome
  400. 24:56and how to handle those changes those
  401. 24:59are important issues here the agile
  402. 25:05methodologies is an umbrella term there
  403. 25:09are many processes development processes
  404. 25:14which have come up like extreme
  405. 25:17programming or XP scrum crystal dsdm
  406. 25:22lean etcetera each of them have the
  407. 25:29features of the agile model but then but
  408. 25:33then they differ in some ways each one
  409. 25:36has its own focus new things that are
  410. 25:46introduced in each of them as you will
  411. 25:48see new terms new activities and so on
  412. 25:53but then they all have the features of
  413. 25:58the agile methodologies which we just so
  414. 26:02discussed in the last slide development
  415. 26:07over increments interaction with the
  416. 26:11customer less documentation interaction
  417. 26:16among the developers testing in
  418. 26:21integrating and testing or each
  419. 26:23iteration deploying getting customer
  420. 26:25feedback and so on
  421. 26:30for this lecture just come to the end
  422. 26:35and in the next lecture we will discuss
  423. 26:38more details about the agile development
  424. 26:40model thank you

About this transcript

This page contains the full transcript of Lecture 08: Life Cycle Models - IV by NPTEL IIT Kharagpur, generated from the public captions YouTube serves with the video. The transcript has 2,673 words across 424 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.