-
Notifications
You must be signed in to change notification settings - Fork 0
/
alergia.html
513 lines (452 loc) · 44.6 KB
/
alergia.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta name="robots" content="index,follow" />
<meta name="description" content=".NET developer comments" />
<meta name="keywords" content=".net" />
<meta name="GENERATOR" content="Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)" />
<link rel="alternate" type="application/rss+xml" title="Site Home (RSS 2.0)" href="http://blogs.msdn.com/rss.aspx" />
<link rel="alternate" type="application/rss+xml" title="Rido's Comments (RSS 2.0)" href="/members/rido/comments/rss.aspx" />
<link rel="alternate" type="application/rss+xml" title="Rido's Activities (RSS 2.0)" href="/members/rido/activities/rss.aspx" />
<link rel="alternate" type="application/rss+xml" title="Activities of People Rido Follows (RSS 2.0)" href="/members/rido/activities/followersrss.aspx" />
<link rel="alternate" type="application/rss+xml" title="Rido's Groups Activities (RSS 2.0)" href="/members/rido/activities/groupsrss.aspx" />
<link rel="alternate" type="application/rss+xml" title="Just Coding (RSS 2.0)" href="http://blogs.msdn.com/b/rido/rss.aspx" />
<link rel="alternate" type="application/atom+xml" title="Just Coding (Atom 1.0)" href="http://blogs.msdn.com/b/rido/atom.aspx" />
<link rel="alternate" type="application/rss+xml" title="Just Coding - All Comments (RSS 2.0)" href="http://blogs.msdn.com/b/rido/rsscomments.aspx" />
<link href="http://i1.blogs.msdn.com/rrcontent/61bc8166e7274fed20d6d74549d02cc3-43a55534b1b0537a704760acd84ac7bb-RequestReducedStyle.css" rel="Stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="shortcut icon" type="image/ico" href="/themes/MSDN/favicon.ico" />
<!--
Third party scripts and code linked to or referenced from this website are licensed to you by the parties that own such code, not by Microsoft. See ASP.NET Ajax CDN Terms of Use – http://www.asp.net/ajaxlibrary/CDN.ashx.
-->
<link href="http://i1.blogs.msdn.com/rrcontent/58d6b0397035ade357cae82775a65e21-90042b2bd1cb470622e3616d45f3fc4a-RequestReducedStyle.css" rel="Stylesheet" type="text/css" /><script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.2.min.js" type="text/javascript" language="javascript"></script>
<link type="text/css" rel="stylesheet" href="/themes/MSDN/css/DynamicStyle.aspx?PreviewKey=0" media="screen,print" />
<link type="text/css" rel="stylesheet" href="/themes/groups/MSDN/css/DynamicStyle.aspx?WeblogID=3113&AppType=Weblog&PreviewKey=0" media="screen,print" />
<link type="text/css" rel="stylesheet" href="/themes/blogs/MSDN/css/DynamicStyle.aspx?WeblogID=3113&PreviewKey=0" media="screen,print" />
<!--[if lte IE 6]>
<link type="text/css" rel="stylesheet" href="/themes/MSDN/css/ie6.css" media="screen,print" />
<![endif]-->
<meta name="msvalidate.01" content="B717AD6FC29D3A844832AF011B5F9E4C" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://blogs.msdn.com/b/rido/rsd.ashx" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" title="WLWManifest" href="http://blogs.msdn.com/b/rido/wlwmanifest.ashx" />
<!--
Third party scripts and code linked to or referenced from this website are licensed to you by the parties that own such code, not by Microsoft. See ASP.NET Ajax CDN Terms of Use – http://www.asp.net/ajaxlibrary/CDN.ashx.
-->
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.2.min.js" type="text/javascript" language="javascript"></script>
<title>
MSDN Blogs
</title></head>
<body spellcheck="true">
<form name="aspnetForm" method="post" action="/b/rido/p/alergia-al-project.aspx" id="aspnetForm">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTM5OTAxNDYyNWRkZ7cBDXUkuMT2lERkELMDHNJVNLo=" />
</div>
<script src="http://i1.blogs.msdn.com/rrcontent/7c528ee6ea7c6c2fdae32adda0a988f7-554695c2caca73aec42309392da631a1-RequestReducedScript.js" type="text/javascript" ></script>
<div>
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="6C495D8F" />
</div>
<div class="header-fragments-header"></div>
<div class="header-fragments"><div class="header-fragment-outer top-bar fiji-header-fragment-outer fiji-top-bar"><div class="header-fragment-inner top-bar fiji-header-fragment-inner fiji-top-bar"><div class="header-fragment welcome-message" id="header-fragment-1590056828">
<!-- always render -->
</div><div class="header-fragment login-logout" id="header-fragment-1590056829">
<div class="navigation-list-header"></div>
<ul class="navigation-list">
<li class="navigation-item">
<span id="ctl00_header_fragment_1590056829__a7fc9d_ctl00_ctl02_ctl05_WLIDLoginButton1" class="internal-link live-id-button"><a href="https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=12&ct=1457827667&rver=6.0.5286.0&wp=MBI&wreply=http:%2F%2Fblogs.msdn.com%2Fb%2Frido%2Fp%2Falergia-al-project.aspx&lc=1033&id=271611">Sign in</a></span>
</li>
</ul>
<div class="navigation-list-footer"></div>
</div><div class="header-fragment user-welcome-without-login" id="header-fragment-1590056830">
<!-- always render -->
</div></div></div><div class="header-fragment blog-banner" id="header-fragment-1590056831">
<div class="site-banner blog-banner">
<h1 class="blog-banner-name"><a href="/b/rido/">Just Coding (by rido)</a></h1>
<div class="blog-banner-description">starting from scratch</div>
</div>
</div></div>
<div class="header-fragments-footer"></div>
<div class="content-fragment-page alergia-al-project" id="ctl00_content_ctl00_page"><div class="layout">
<div class="layout-header"></div>
<div class="layout-content content-left-sidebar-right" id="ctl00_content_ctl00_layout">
<div class="layout-region right-sidebar" id="ctl00_content_ctl00_right-sidebar">
<div class="layout-region-inner right-sidebar"><div class="content-fragment search-form no-wrapper with-header" id="fragment-56087">
<div class="content-fragment-inner fiji-content-fragment-inner"><div class="content-fragment-top fiji-content-fragment-top"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div><div class="content-fragment-header"><div>Search Form</div></div>
<div class="content-fragment-content">
<div class="field-list-header">
</div>
<fieldset class="field-list">
<ul class="field-list">
<li class="field-item search">
<div id="search-allblogs-container">
<span class="field-item-input">
<input id="SearchTextBox_AllBlogs" name="SearchTextBox_AllBlogs" type="text" class="searchField"
maxlength="64" size="45" autocomplete="off" />
<input id="SearchButton_AllBlogs" name="SearchButton_AllBlogs" type="button" class="search-button" />
</span>
</div>
<div id="search-thisblog-container">
<span class="field-item-input">
<input id="SearchTextBox_ThisBlog" name="SearchTextBox_ThisBlog" type="text" class="searchField"
maxlength="64" size="45" autocomplete="off" />
<input id="SearchButton_ThisBlog" name="SearchButton_ThisBlog" type="button" class="search-button" />
</span>
</div>
</li>
</ul>
</fieldset>
<div class="field-list-footer">
<div id="search-switch-container">
<span style="display: inline-block">
<input type="radio" name="SearchTypeRadio" value="ThisBlog" id="ThisBlog" checked="checked" /><label
for="ThisBlog" id="ThisBlogText">Search this blog</label></span>
<span style="display: inline-block">
<input type="radio" name="SearchTypeRadio" value="AllBlogs" id="AllBlogs" /><label
for="AllBlogs" id="AllBlogsText">Search all blogs</label></span>
</div>
</div>
<script type="text/javascript">
var elmSearchAll = $('#search-allblogs-container').hide();
var elmSearchThis = $('#search-thisblog-container');
// try to get the blog id, if we fail, then we aren't on a blog and just use the regular search approach
(3113 === -1) && $('#search-switch-container').hide();
$(document).ready(function() {
$('#ThisBlog').click(function () {
var self = $(this);
if (self.is(':checked')) {
elmSearchAll.hide();
elmSearchThis.show();
}
});
$('#AllBlogs').click(function () {
var self = $(this);
if (self.is(':checked')) {
elmSearchThis.hide();
elmSearchAll.show();
}
});
});
</script>
<script src="http://i4.services.social.microsoft.com/Search/Widgets/SearchBox.jss?boxid=SearchTextBox_AllBlogs&btnid=SearchButton_AllBlogs&brand=MSDN&refinement=109&resref=&addEnglish=&rn=&rq=&watermark=&focusOnInit=false&beta=0&iroot=&overrideWatermark=false" type="text/javascript" language="javascript"></script>
<script src="http://i4.services.social.microsoft.com/Search/Widgets/SearchBox.jss?boxid=SearchTextBox_ThisBlog&btnid=SearchButton_ThisBlog&brand=MSDN&refinement=&resref=&addEnglish=&watermark=&focusOnInit=false&beta=0&iroot=&overrideWatermark=false&rn=Just%2bCoding&rq=site:blogs.msdn.com/b/rido/" type="text/javascript" language="javascript"></script>
</div>
<div class="content-fragment-footer"></div>
<div class="content-fragment-bottom fiji-content-fragment-bottom"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div></div></div>
<div class="content-fragment tag-cloud no-wrapper with-header" id="fragment-56088">
<div class="content-fragment-inner fiji-content-fragment-inner"><div class="content-fragment-top fiji-content-fragment-top"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div><div class="content-fragment-header"><div>Tag Cloud</div></div>
<div class="content-fragment-content">
<div class="tag-list-header"></div><ul class="tag-list">
<li class="tag-item level-1"><a href="http://blogs.msdn.com/b/rido/archive/tags/Agile/" rel="tag">Agile</a></li>
<li class="tag-item level-2"><a href="http://blogs.msdn.com/b/rido/archive/tags/alm/" rel="tag">alm</a></li>
<li class="tag-item level-4"><a href="http://blogs.msdn.com/b/rido/archive/tags/builds/" rel="tag">builds</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/cod/" rel="tag">cod</a></li>
<li class="tag-item level-1"><a href="http://blogs.msdn.com/b/rido/archive/tags/Code/" rel="tag">Code</a></li>
<li class="tag-item level-3"><a href="http://blogs.msdn.com/b/rido/archive/tags/code+tools/" rel="tag">code tools</a></li>
<li class="tag-item level-1"><a href="http://blogs.msdn.com/b/rido/archive/tags/DevTools/" rel="tag">DevTools</a></li>
<li class="tag-item level-4"><a href="http://blogs.msdn.com/b/rido/archive/tags/events/" rel="tag">events</a></li>
<li class="tag-item level-2"><a href="http://blogs.msdn.com/b/rido/archive/tags/OOPSLA/" rel="tag">OOPSLA</a></li>
<li class="tag-item level-4"><a href="http://blogs.msdn.com/b/rido/archive/tags/Pages/" rel="tag">Pages</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/pdc/" rel="tag">pdc</a></li>
<li class="tag-item level-4"><a href="http://blogs.msdn.com/b/rido/archive/tags/projects/" rel="tag">projects</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/ReleaseManagement/" rel="tag">ReleaseManagement</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/rido/" rel="tag">rido</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/sharepoint/" rel="tag">sharepoint</a></li>
<li class="tag-item level-4"><a href="http://blogs.msdn.com/b/rido/archive/tags/TechEd/" rel="tag">TechEd</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/testign/" rel="tag">testign</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/testing/" rel="tag">testing</a></li>
<li class="tag-item level-3"><a href="http://blogs.msdn.com/b/rido/archive/tags/Tips/" rel="tag">Tips</a></li>
<li class="tag-item level-3"><a href="http://blogs.msdn.com/b/rido/archive/tags/TODO+List/" rel="tag">TODO List</a></li>
<li class="tag-item level-2"><a href="http://blogs.msdn.com/b/rido/archive/tags/tools/" rel="tag">tools</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/tools+sharepoint/" rel="tag">tools sharepoint</a></li>
<li class="tag-item level-2"><a href="http://blogs.msdn.com/b/rido/archive/tags/trx2html/" rel="tag">trx2html</a></li>
<li class="tag-item level-6"><a href="http://blogs.msdn.com/b/rido/archive/tags/visual+studio/" rel="tag">visual studio</a></li>
<li class="tag-item level-1"><a href="http://blogs.msdn.com/b/rido/archive/tags/Web/" rel="tag">Web</a></li>
</ul>
<div class="tag-list-footer"></div>
</div>
<div class="content-fragment-footer"></div>
<div class="content-fragment-bottom fiji-content-fragment-bottom"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div></div></div>
<div class="content-fragment temporary-rss-feed-item-list no-wrapper with-header" id="fragment-56107">
<div class="content-fragment-inner fiji-content-fragment-inner"><div class="content-fragment-top fiji-content-fragment-top"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div><div class="content-fragment-header"><div>@ridomin <a class="internal-link rss" href="http://twitter.com/statuses/user_timeline/14718852.rss"><span></span>RSS</a></div></div>
<div class="content-fragment-content">
<div id="ctl00_content_ctl00_w_56107__a7fc9d_ctl00_ctl00_ctl00_TemporaryRssFeed_ctl01_ctl00">
<div class="content-list-header"></div>
<div class="content-list-name"><a class="external-link rss" href="http://twitter.com/statuses/user_timeline/14718852.rss"><span></span>http://twitter.com/statuses/user_timeline/14718852.rss</a></div>
<ul class="content-list">
</ul>
<div class="content-list-footer"></div>
</div>
</div>
<div class="content-fragment-footer"></div>
<div class="content-fragment-bottom fiji-content-fragment-bottom"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div></div></div>
</div>
</div>
<div class="layout-region content" id="ctl00_content_ctl00_content">
<div class="layout-region-inner content"><div class="content-fragment blog-bread-crumbs no-wrapper" id="fragment-56085">
<div class="content-fragment-inner fiji-content-fragment-inner"><div class="content-fragment-top fiji-content-fragment-top"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div><div class="content-fragment-content">
<div class="breadcrumb-list-header"></div>
<div class="breadcrumb-list">
<span class="breadcrumb-item"><a class="internal-link view-home" href="/">MSDN Blogs</a></span>
<span class="separator"> > </span>
<span class="breadcrumb-item">
<a href="/b/rido/">Just Coding (by rido)</a>
</span>
<span class="separator"> > </span>
<span class="breadcrumb-item"><a href="/b/rido/p/alergia-al-project.aspx">Alergia al Project</a></span>
</div>
<div class="breadcrumb-list-footer"></div>
</div>
<div class="content-fragment-footer"></div>
<div class="content-fragment-bottom fiji-content-fragment-bottom"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div></div></div>
<div class="content-fragment html-content no-wrapper with-header" id="fragment-56086">
<div class="content-fragment-inner fiji-content-fragment-inner"><div class="content-fragment-top fiji-content-fragment-top"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div><div class="content-fragment-header"><div>Generic Content</div></div>
<div class="content-fragment-content">
<div class="user-defined-markup"><h1><span style="color:#365f91;"><span style="font-family:Cambria;">Alergia “al Project” (que no a planificar)</span></span></h1>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Sí, tengo alergia "al Project" (Microsoft Project), y no puedo evitarlo, aunque para justificar esta aversión, voy a escribir estas líneas intentando razonar esta idea. Y no sólo por justificar, sino para dejar un testimonio razonado, que espero sirva, para suavizar todos los enfrentamientos a los que me enfrento con otros profesionales que acostumbrados a los “métodos clásicos”, suelen discutir conmigo cuando tenemos que trabajar juntos en alguna propuesta.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Antes de empezar, he de decir que como consultor de desarrollo de software, la planificación de proyectos es una tarea habitual. Y aunque es cierto que a casi todos los programadores nos gusta más “estar programando”, que “estar planificando”, con los años he aprendido a valorar este tipo de habilidades, tanto que ahora hasta disfruto.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>Planificación y Ventas</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Aparece una oportunidad en algún cliente, y para poder presentar una propuesta el comercial nos pide el plan. Se monta un equipo de trabajo y se crea una planificación, habitualmente con Microsoft Project, en la que se incluye una estimación desglosada en tareas, asignadas a recursos permitiendo obtener no sólo un calendario sino hasta el coste del proyecto.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Esto es todo lo que necesita el comercial para poder presentar la propuesta, y si es posible vender el proyecto.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Actualmente todas las empresas de consultoría que conozco venden siguiendo este modelo. Y probablemente es la única forma de vender, ya que es muy difícil convencer a alguien que nos encargue un proyecto si no sabe cuánto le va a costar, o cuando podrá empezar a usarlo.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Hasta aquí todo bien, ¿dónde está el problema? ¿Por qué alergia a algo que hace todo el mundo?</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>Ventas y Ejecución</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Si ha habido suerte, y se ha conseguido vender el proyecto, llega el momento de ejecutar el plan, y aquí es dónde aparecen los problemas, los más evidentes como retrasos y sobrecostes, y otros no tan sencillos de diagnosticar a corto plazo como son: baja calidad, dificultad para evolucionar el sistema, constante mantenimiento, y otras lindezas que se seguro estás acostumbrado a ver.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><i>Aunque si tú eres de esos afortunados que eres capaz de hacer un “Project” que refleje la realidad de lo que va a pasar en los siguientes meses, y aciertas, creo que no debes seguir leyendo este texto. Y si además puedes demostrarlo, llámame para contármelo y te invito a algo.</i></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">No digo que la única causa de los problemas durante la ejecución sea el "Project”, pero sí que estoy convencido de que no es un buen comienzo para la fase de ejecución.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>Las falsas verdades son peores que mentiras</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Al entregar un Project, ya sea a un comercial, o a un cliente, le estamos dando lo que él quiere oír, es decir una previsión exacta, y sin margen de error, acerca de las principales incógnitas que se plantean en un proyecto antes de arrancar:</span></span></p>
<table style="width:590px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="200">
<p><b><span style="font-family:Calibri;">Pregunta</span></b></p>
</td>
<td valign="top" width="388">
<p><b><span style="font-family:Calibri;">Respuesta</span></b></p>
</td>
</tr>
<tr>
<td valign="top" width="200">
<p><b><span style="font-family:Calibri;">¿Porque cuesta tanto?</span></b></p>
</td>
<td valign="top" width="388">
<p><span style="font-family:Calibri;">Fíjate la cantidad de recursos que hay incluir en el equipo</span></p>
</td>
</tr>
<tr>
<td valign="top" width="200">
<p><b><span style="font-family:Calibri;">¿Por qué se tarda tanto?</span></b></p>
</td>
<td valign="top" width="388">
<p><span style="font-family:Calibri;">Fíjate todas las fases, hitos, y demás elementos incluidos en el calendario</span></p>
</td>
</tr>
<tr>
<td valign="top" width="200">
<p><b><span style="font-family:Calibri;">¿No se puede simplificar?</span></b></p>
</td>
<td valign="top" width="388">
<p><span style="font-family:Calibri;">Claro que no... mira el camino crítico</span></p>
</td>
</tr>
<tr>
<td valign="top" width="200">
<p><b><span style="font-family:Calibri;">¿Y si incluimos más gente acabamos antes?</span></b></p>
</td>
<td valign="top" width="388">
<p><span style="font-family:Calibri;">Imposible, se han paralelizado todas las tareas basándose en un riguroso análisis de dependencias</span></p>
</td>
</tr>
<tr>
<td valign="top" width="200">
<p><b><span style="font-family:Calibri;">¿Cómo se puede abaratar?</span></b></p>
</td>
<td valign="top" width="388">
<p><span style="font-family:Calibri;">Es imprescindible un equipo con recursos altamente cualificados (El Arquitecto, El programador, El Experto en seguridad, …)</span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Todas las respuestas se basan en el exceso de información que se puede extraer de un plan de proyecto. Pero esta información no es “la verdad”, sino lo que nos gustaría que ocurriese, pero que sabemos a ciencia cierta que no lo podemos asegurar.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Otras consecuencias interesantes que se desprenden de la información presentada en el Project son:</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><span style="text-decoration:underline;">Precisión milimétrica</span>. Ya que se suele hablar en horas, parece que somos capaces de acotar un margen de error en horas, aunque el proyecto sea de muchos meses. Es decir, estamos transmitiendo una falsa sensación de control con un margen de error por debajo del 0.1%</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><span style="text-decoration:underline;">Equipos Inmutables</span>. Como ya hemos definido el equipo al completo, es imposible pensar que hace falta más o menos gente, incluso aunque no conozcamos el equipo para el que está hecho el plan.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><span style="text-decoration:underline;">Alcance Completo (y cerrado)</span>. En el Project se da por hecho que todos los requisitos son completos y no van a cambiar. (Y si cambian se hará una petición de cambio, y se actualizará el Plan de Proyecto)</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><span style="text-decoration:underline;">Calidad Insuperable.</span> Todos los entregables que se entreguen al final de proyecto, se habrán realizado con la máxima calidad, sin considerar que parámetros debemos fijar para poder certificar que la calidad entregada es equivalente a la calidad presupuestada.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Con todo esto, cada vez que entregamos un “Project”, estamos entregando una falsa sensación de control del proyecto. </span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>El plan de proyecto no es un .mpp</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Para “rellenar” un plan de proyecto con Microsoft Project, es necesario indicar las tareas, con sus dependencias, sus fechas de arranque y de fin, y duración basada en la asignación a los diferentes recursos del proyecto.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Con esta información, es posible calcular el coste, el camino crítico, y otros parámetros de la jerga relacionado con la Gestión de Proyectos. </span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Curiosamente, y a pesar de que la teoría del PMI sí que introduce el concepto de “Probabilidad en la estimación”, en el “Project” no hay forma de indicar el margen de error asociado a cada dato que introducimos.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Por lo que esta información no es la realidad, sino una estimación, y una estimación, por definición, es sólo una estimación, y nunca debe ser tratada como algo que no es.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>El plan está para cambiarlo</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Las cosas no sólo pueden empezar mal, a veces continúan peor. Cuando tengas la mala suerte de toparte con un Jefe de Proyecto adicto a PMI, verás como el esfuerzo asociado a actualizar durante el avance del proyecto, toda la documentación generada durante la preventa, excede las capacidades de cualquier ser humano.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Los proyectos, cambian, cambiamos nosotros, lo que sabemos de una determinada tecnología, nuestra forma de entender el problema, y sobre todo el conocimiento de las personas encargadas de gestionar y usar el sistema. Y todo esto afecta a la estimación inicial (normalmente para bien).</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">¿Te imaginas que pasaría si cada vez que el esfuerzo necesario para completar una tarea es diferente al estimado, tuvieses que justificarlo actualizando todo el material de preventa?</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>El plan y la arquitectura</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">En el mejor de los casos, el “Project” estará acompañado de uno o varios documentos, en lo que se describa el alcance en términos de requisitos funcionales, u otros aspectos de la <span style="text-decoration:underline;">arquitectura y el diseño</span>. Pero sólo eso: acompañado, ya que no hay forma de asociar la información de estos documentos a las tareas descritas en “el Project”. Cuando en la mayoría de los casos estos datos son más importantes para entender el plan de proyecto que el propio “Project”.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">¿Pero cómo podemos entender el plan si las herramientas de las que disponemos no nos permiten analizar conjuntamente la arquitectura y las tareas necesarias para llevarla a cabo?</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>El plan es la arquitectura</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">En la disciplina de arquitectura de software, hay un concepto básico que es el nivel de abstracción que se emplea para analizar un problema. Así, a la hora de describir la arquitectura conceptual nos basta conocer cómo se conectarán las diferentes piezas, sin prestar atención a los detalles de esta comunicación. Igualmente al describir los detalles técnicos relacionados con la seguridad no será necesario especificar todas las posibles combinaciones de conexiones que permite la vista conceptual.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Lamentablemente en el “Project” no hay manera de obtener diferente nivel de detalle, siempre son horas, días, y recursos. Por lo que siempre acabamos incluyendo todo el nivel de detalle del que somos capaces, lo cual aumenta notablemente el margen de error.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Para poder definir un proyecto necesitamos conocer la arquitectura seleccionada, y así poder identificar diferentes áreas de trabajo. </span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>¿El Huevo o la Gallina? ¿El plan o la Arquitectura?</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">¿Si la arquitectura es necesaria para definir el plan? ¿Cómo planifico la definición de la arquitectura? </span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">La solución a esta dicotomía reside precisamente en el nivel de abstracción en el que nos movemos. Esta abstracción nos debe permitir simplificar el problema lo suficiente como para encontrar otro parecido, y a partir de ahí identificar los órdenes de magnitud en los que nos debemos mover.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Una vez que se ha seleccionado una arquitectura candidata, se pueden buscar los primeros datos (evidencias) que nos permitan esbozar el plan en términos generales y aproximados (ej.: meses os semanas), así como evidencias que nos permitan cuantificar los entregables a realizar.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">A partir de aquí, el plan y la arquitectura deben evolucionar conjuntamente, y así, a medida que la arquitectura se vaya convirtiendo en una realidad, se podrá ajustar el plan, y viceversa, según el plan nos podremos permitir más o menos cambios en la arquitectura.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>La medida correcta</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Mi principal reivindicación contra Microsoft Project, es poder variar la unidad de medida, así como el grado de precisión y margen de error.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Para poder vender un proyecto no es necesario todo el detalle que recogemos en el “Project”. Necesitamos conocer un orden de magnitud en tiempo y dinero para poder llegar a cubrir las necesidades de negocio con un coste razonable. </span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Por eso, invertir tiempo en intentar profetizar usando Project, suele ser una pérdida de tiempo, y muy valiosa, ya que se pierde una oportunidad muy valiosa (al ser la primera) de conocer de primera mano las expectativas del cliente.´</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Lo más efectivo, y razonable, consiste en focalizar la inversión durante la preventa a dos aspectos, y sólo dos:</span></span></p>
<table style="width:566px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="187">
<p><b><span style="font-family:Calibri;">Aspecto Preventa</span></b></p>
</td>
<td valign="top" width="180">
<p><b><span style="font-family:Calibri;">Responde a</span></b></p>
</td>
<td valign="top" width="200">
<p><b><span style="font-family:Calibri;">Notas</span></b></p>
</td>
</tr>
<tr>
<td valign="top" width="187">
<p><b><span style="font-family:Calibri;">Conocer las necesidades</span></b></p>
</td>
<td valign="top" width="180">
<p><span style="font-family:Calibri;">¿Qué hay que hacer?</span></p>
</td>
<td valign="top" width="200">
<p><span style="font-family:Calibri;">No confundir con los requisitos, ya que no tienen por qué se funcionales, o técnicos. Son las necesidades de negocio lo que importa</span></p>
</td>
</tr>
<tr>
<td valign="top" width="187">
<p><b><span style="font-family:Calibri;">Pruebas de concepto sobre la tecnología que puede cubrir las necesidades</span></b></p>
</td>
<td valign="top" width="180">
<p><span style="font-family:Calibri;">¿Cómo lo podemos hacer?</span></p>
</td>
<td valign="top" width="200">
<p><span style="font-family:Calibri;">Si no existe una tecnología en la que apoyarse, no es necesario invertir en preventa, sino en innovación.</span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:small;"><span style="font-family:Calibri;">La primera aproximación a estos dos aspectos se puede resolver en un espacio razonablemente corto, y permiten empezar a tener un grado de confianza en la solución, que permita dar argumentos a la fuerza comercial para decidir si es un proyecto rentable o desechable.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Si el proyecto sigue siendo viable, se debe seguir profundizando en los problemas más evidentes, así como en las arquitecturas candidatas, con el objetivo de obtener una descomposición del sistema completo en subsistemas más pequeños que permitan valorarlos en detalle de forma independiente.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Sobre cada una de estos subsistemas se debe aplicar un único criterio para medir la complejidad, y por tanto poder empezar con una verdadera estimación que permita realizar una planificación lo más realista posible.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Para presentar una propuesta, este nivel de detalle suele ser suficiente.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>El movimiento se demuestra andando</b></span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Si finalmente el proceso de venta ha finalizado exitosamente (se ha conseguido vender el proyecto), es el momento de arrancar el proyecto, para lo cual se necesita un plan.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Este plan (que no un “Project”) debe contener la siguiente información.</span></span></p>
<table style="width:783px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="208">
<p><span style="font-family:Calibri;">Elemento del Plan</span></p>
</td>
<td valign="top" width="573">
<p><span style="font-family:Calibri;">Nivel de Detalle</span></p>
</td>
</tr>
<tr>
<td valign="top" width="208">
<p><span style="font-family:Calibri;">Subsistemas</span></p>
</td>
<td valign="top" width="573">
<p><span style="font-family:Calibri;">Principales subsistemas, y arquitectura conceptual de los mismos.<br />Probabilidad de acierto, tamaño relativo y Prioridad</span></p>
</td>
</tr>
<tr>
<td valign="top" width="208">
<p><span style="font-family:Calibri;">Equipo</span></p>
</td>
<td valign="top" width="573">
<p><span style="font-family:Calibri;">Principales recursos, áreas de trabajo en función de la experiencia de cada miembro</span></p>
</td>
</tr>
<tr>
<td valign="top" width="208">
<p><span style="font-family:Calibri;">Calendario Global</span></p>
</td>
<td valign="top" width="573">
<p><span style="font-family:Calibri;">Modelo de entregas, y plazos aproximados (ej. trimestres)</span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Con esta información se debe trabajar con el cliente para buscar un modelo de trabajo que permita secuenciar en el tiempo las tareas necesarias para poder finalizar cada subsistema en los plazos previstos.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Una vez acordado el orden en él se abordaran los diferentes subsistemas, llega el momento de analizar en detalle las tareas que permitan finalizar un subsistema. </span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Lo importante en este punto consiste en analizar con detalle sólo las partes afectadas inmediatamente, y dejar los detalles de los siguientes subsistemas para más adelante, a medida que avancemos.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Una forma de plantear este análisis progresivo, consiste en definir periodos de tiempo cortos (semanas), en los cuales se pueda realizar el flujo completo: Análisis/Diseño/Implementación/Pruebas/Estabilización.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;"><b>Conclusiones (y consejos)</b></span></span></p>
<ul>
<li><span style="font-size:small;"><span style="font-family:Calibri;">El Project no funciona para planificar proyectos de Software por que no permite ver el sistema con diferentes grados de abstracción. </span></span></li>
<li><span style="font-size:small;"><span style="font-family:Calibri;">El Project no está diseñado para absorber todos los cambios que ocurren durante el desarrollo de un proyecto</span></span></li>
<li><span style="font-size:small;"><span style="font-family:Calibri;">El Project realiza estimaciones de tiempo, esfuerzo y coste a la vez sin tener en cuenta la arquitectura (cuando estas cuatro estimaciones se deben calcular por separado) sin tener en cuenta que el margen de error existente variará con el tiempo.</span></span></li>
<li><span style="font-size:small;"><span style="font-family:Calibri;">Los datos del Project se suelen malinterpretar por las personas que buscan allí sus respuesta</span></span></li>
</ul>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Por todo esto, mi consejo es que dejes de usar Project para predecir el futuro, y así puedas invertir ese tiempo en conocer las necesidades, y montar demos que permitan ganarte la confianza del cliente en poco tiempo. La mejor herramienta para gestionar este tipo de información se llama “lista” y la puedes usar desde el BloclDeNotas, Excel, Word o una servilleta. </span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Si quieres algo más avanzado puedes echar un vistazo a cualquiera de las herramientas disponibles en el mercado para la “gestión ágil (había intentado evitar esta palabra) de proyectos”. Donde encontrarás como aplicar todos estos conceptos sin necesidad del Project.</span></span></p>
<p><span style="font-family:Calibri;font-size:small;"> </span></p></div></div>
<div class="content-fragment-footer"></div>
<div class="content-fragment-bottom fiji-content-fragment-bottom"><div class="r1 fiji-r1"></div><div class="r2 fiji-r2"></div><div class="r3 fiji-r3"></div><div class="r4 fiji-r4"></div></div></div></div>
</div>
</div>
</div>
<div class="layout-footer"></div>
</div></div>
<div class="footer-fragments-header"></div>
<div class="footer-fragments"><div class="footer-fragment copyright-info" id="footer-fragment-1590056828">
<ul class="footer-fragment-links">
<li class="message copyright">© 2015 Microsoft Corporation.</li>
<li class="message termsOfService"><a href="http://msdn.microsoft.com/cc300389">Terms of Use</a> </li>
<li class="message trademarks"><a href="http://www.microsoft.com/library/toolbar/3.0/trademarks/en-us.mspx">Trademarks</a> </li>
<li class="message privacy"><a href="http://go.microsoft.com/fwlink/?LinkId=248681">Privacy & Cookies</a> </li>
<li class="message abuse">
<a id="ctl00_footer_fragment_1590056828__a7fc9d_ctl00_ctl00_ctl01_lnkAbuse" href="javascript:__doPostBack('ctl00$footer_fragment_1590056828$_a7fc9d$ctl00$ctl00$ctl01$lnkAbuse','')">Report Abuse</a>
</li>
<li class="message version">5.6.426.415</li>
</ul></div><div class="footer-fragment omniture-footer-fragment" id="footer-fragment-1590056829">
<script src="http://i1.blogs.msdn.com/rrcontent/2569210a296af7a76a1f0a41cafcfd42-db0580fd6fddeca80296d58f05aad789-RequestReducedScript.js" type="text/javascript" ></script> <noscript><a href="http://www.omniture.com" title="Web Analytics"><img
src="http://msstomsdnblogs.112.2O7.net/b/ss/msstomsdnblogs/1/H.20.2--NS/0"
height="1" width="1" border="0" alt="" /></a></noscript>
</div><div class="footer-fragment app-insights-footer-fragment" id="footer-fragment-1590056830">
<script type="text/javascript" language="javascript">
$(document).ready(function () {
window.appInsights = { queue: [], start: function (n) { function r(n, t) { n[t] = function () { var i = arguments; n.queue.push(function () { n[t].apply(n, i) }) } } var t, i; this.applicationInsightsId = n; this.accountId = null; this.appUserId = null; r(this, "logEvent"); r(this, "logPageView"); t = document.createElement("script"); t.type = "text/javascript"; t.src = "//az416426.vo.msecnd.net/scripts/ai.js"; t.async = !0; i = document.getElementsByTagName("script")[0]; i.parentNode.insertBefore(t, i) } };
window.appInsights.start("b4d65b72-ce61-486e-b07c-969cef6675f6");
window.appInsights.logPageView();
});
</script>
</div></div>
<div class="footer-fragments-footer"></div>
<script type="text/javascript">
// <![CDATA[
ctl00_content_ctl00 = new ContentFragmentPageCustomCallback('ctl00_content_ctl00',new Function('mode','parameters','callback','errorCallback','context','ctl00_content_ctl00_ctl00._doCallback(mode+\':\'+parameters,callback,context,errorCallback);'));
// ]]>
</script><script type="text/javascript">
// <![CDATA[
Telligent_Modal.Configure('\/utility\/loading.htm',['modal'],['modal-title','modal-title-2','modal-title-3','modal-title-4'],['modal-close'],['modal-content','modal-content-2'],['modal-footer','modal-footer-2','modal-footer-3'],['modal-resize'],['modal-mask'],10000,false,true,true);
// ]]>
</script><script type="text/javascript">
// <![CDATA[
window.ctl00_content_ctl00_ctl00 = new Telligent_CallbackManager('ctl00_content_ctl00_ctl00','ctl00$content$ctl00$ctl00','aspnetForm');
// ]]>
</script><script type="text/javascript">
// <![CDATA[
window.ctl00_content_ctl00_w_56107__a7fc9d_ctl00_ctl00_ctl00_TemporaryRssFeed_ctl01_ctl00 = new DelayedContent('ctl00_content_ctl00_w_56107__a7fc9d_ctl00_ctl00_ctl00_TemporaryRssFeed_ctl01_ctl00','ctl00_content_ctl00_w_56107__a7fc9d_ctl00_ctl00_ctl00_TemporaryRssFeed_ctl01_ctl00','ctl00_content_ctl00._customCallback(\'fragment-56107\',\'ctl00$content$ctl00$w_56107$_a7fc9d$ctl00$ctl00$ctl00$TemporaryRssFeed$ctl01$ctl00\',argument,null,callback,null)',false,true,null);
// ]]>
</script></form>
<script type="text/javascript">
$(window).load(function () {
$.getScript('http://widgets.membership.s-msft.com/v1/loader.js?brand=msdn&lang=en-US', function () {
});
});
</script>
<script type="text/javascript">$('div.breadcrumb-list span:last a').addClass('last');</script></body>
</html>