{"id":4336,"date":"2017-07-26T10:18:59","date_gmt":"2017-07-26T10:18:59","guid":{"rendered":"https:\/\/caroli.org\/en\/?p=4336"},"modified":"2021-11-03T08:16:53","modified_gmt":"2021-11-03T11:16:53","slug":"tothepoint-estimate-mvp-overall-product-effort","status":"publish","type":"post","link":"https:\/\/caroli.org\/en\/tothepoint-estimate-mvp-overall-product-effort\/","title":{"rendered":"[Lean Inception] how to estimate the MVP and for the overall product effort?"},"content":{"rendered":"<p><strong>Question<\/strong>: I love the <a href=\"https:\/\/martinfowler.com\/articles\/lean-inception\/\" target=\"_blank\" rel=\"noopener\">lean inception article<\/a>. But I have a very important question: my client wants to know when the MVP, and the whole product will be done. How to estimate?<\/p>\n<p><strong>Answer<\/strong>: This is the one million dollar question.<br \/>\nThere&#8217;s always someone who wants to know about the schedule. And, typically, they want to know it for the MVP and for the overall product (a contradiction as we know the overall product will change as we start getting feedback &#8212; we work with MVP, and we&#8217;ll pivot!)<\/p>\n<p>I did not add this to the Lean inception article because it brings too much confusion, even some contradiction. But I did add it to the <a href=\"https:\/\/caroli.org\/en\/book\/lean-inception-how-to-align-people-and-build-the-right-product\/\">Lean Inception book.<\/a><\/p>\n<div id=\"attachment_4734\" style=\"width: 289px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4734\" class=\"wp-image-4734 size-medium\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/feature-sequencer-sample-lt-279x300.jpg\" alt=\"feature-sequencer-sample-lt\" width=\"279\" height=\"300\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/feature-sequencer-sample-lt-279x300.jpg 279w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/feature-sequencer-sample-lt.jpg 439w\" sizes=\"(max-width: 279px) 100vw, 279px\" \/><p id=\"caption-attachment-4734\" class=\"wp-caption-text\">Feature Sequencer sample result<\/p><\/div>\n<p>I use the Features Sequencer for this &#8220;estimation&#8221; (I don&#8217;t like this word at all; I am a proponent for the\u00a0<a href=\"https:\/\/ronjeffries.com\/xprog\/articles\/the-noestimates-movement\/\" target=\"_blank\" rel=\"noopener\">NoEstimates movement<\/a>). On the book, I call this chapter: Calculating effort, time and cost.<\/p>\n<p>On a Lean Inception, when required, I will guide the team on the following activities sequence to get some input for deciding upon a date.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4731\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/sampling-300x272.jpg\" alt=\"sampling\" width=\"300\" height=\"272\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/sampling-300x272.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/sampling.jpg 846w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>To start with, I ask the team to detail two or three lines of features on the Feature Sequencer. Then, I ask for all tasks needed to fulfill the features. I will say something like: <em>Assume a feature is delivered with the desired quality, in production, with all required tests, automation, scripts, cross-functional requirements, etc.<\/em><\/p>\n<p>The team will write a bunch of tasks for each feature. Then I\u00b4ll use these detailed tasks to get the \u201cestimation\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4732\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/features-tasks-300x244.jpg\" alt=\"features-tasks\" width=\"300\" height=\"244\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/features-tasks-300x244.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/features-tasks-100x80.jpg 100w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/features-tasks.jpg 944w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>I start by grouping them by relative sizing: small, medium and large. Then, I\u00b4ll ask the team how long it takes to deliver a few of these tasks. Usually they take similar duration (they have previously been grouped by relative sizing).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4733\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/features-tasks-sizes-265x300.jpg\" alt=\"features-tasks-sizes\" width=\"265\" height=\"300\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/features-tasks-sizes-265x300.jpg 265w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/features-tasks-sizes.jpg 679w\" sizes=\"(max-width: 265px) 100vw, 265px\" \/><\/p>\n<p>Then I ask the team to pick a duration for each task group. For example, small tasks answers are: 3 hours, 3 hours, 2 hours, 4 hours, 3 hours, 5 hours, 4 hours, 4 hours, 3 hours, 5 hours, 2 hours, 3 hours, 2 hours, 4 hours; I will ask if the team is comfortable considering a small task taking about 4 hours.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4737\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/004-calculo-por-amostragem-300x200.jpg\" alt=\"004-calculo-por-amostragem\" width=\"300\" height=\"200\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/004-calculo-por-amostragem-300x200.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/004-calculo-por-amostragem.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>I do the same for each task group &#8212; small, medium, and large.<br \/>\nThen I sum the duration for all tasks, then divide by two (two lines on the feature sequencer). With this, I get a number. Let\u00b4s say 200 hours per dev for one line.<\/p>\n<p>Now consider the team capacity: the number of devs working on these tasks; if the team is fully dedicated; vacations and holidays; sick leave and absence percentage. Then I\u00b4ll do the simple calculations, and show a date.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4736\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/004-calculo-por-amostragem-2-300x200.jpg\" alt=\"004-calculo-por-amostragem (2)\" width=\"300\" height=\"200\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/004-calculo-por-amostragem-2-300x200.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2017\/07\/004-calculo-por-amostragem-2.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>For example, the team has 4 devs, working on it only 80% of capacity (vacations, holidays and another stream of work, such as bug fixes on another product)<\/p>\n<ul>\n<li>200 hours for 1 dev =&gt; 50 hours for 4 devs<\/li>\n<li>50 hours at 100% capacity =&gt; 62.5 hours at 80% capacity (50 hours * 100%\/80%)<\/li>\n<li>Each line on the feature sequencer takes 62.5 hours for our team<\/li>\n<\/ul>\n<p>I know this gives a bad feeling for some developers. It gives a number that we can convert to a date (don&#8217;t forget to add iteration 0 to it, with the work that needs to be done before starting on the functional work).<\/p>\n<p>Typically, people at the client love this activity.\u00a0 They get a date for the MVP, and they are able to extrapolate the calculation for the whole product (all lines on the Features Sequencer).<\/p>\n<p>But it is not bad for the developers. Not at all. They have something to help them out: the MVP with its high level features. The point is, the Lean Inception result, as depicted on the Features Sequencer, depicts the MVP features. But it does not detail how they will be created (the tasks were used only for sampling). Therefore the team can (and should) be creative and responsible for delivering it, respecting any given date. Rethinking how to deliver the functionalities with simpler tasks, which require less work, to achieve the minimum viable product.<\/p>\n<p>&nbsp;<\/p>\n<p>[content_block id=2985 slug=baixe-o-tothepoint]<\/p>\n<p>&nbsp;<\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Question: I love the lean inception article. But I have a very important question: my client wants to know when the MVP, and the whole product will be done. How to estimate? Answer: This is the one million dollar question. There&#8217;s always someone who wants to know about the schedule. And, typically, they want to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4735,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1925],"tags":[],"inception_activities":[],"colaboradores":[],"class_list":["post-4336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lean-inception-en"],"_links":{"self":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/4336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/comments?post=4336"}],"version-history":[{"count":0,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/4336\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media\/4735"}],"wp:attachment":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media?parent=4336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/categories?post=4336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/tags?post=4336"},{"taxonomy":"inception_activities","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/inception_activities?post=4336"},{"taxonomy":"colaboradores","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/colaboradores?post=4336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}