


<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OsMeusApontamentos &#187; software</title>
	<atom:link href="http://blog.osmeusapontamentos.com/index.php/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.osmeusapontamentos.com</link>
	<description></description>
	<lastBuildDate>Wed, 01 Feb 2012 14:20:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Twitter quê?</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2008/11/30/twitter-que/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2008/11/30/twitter-que/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 19:00:22 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[pensar]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=965</guid>
		<description><![CDATA[Depois da dificuldade em perceber efectivamente o que os utilizadores pretendem, um dos principais motivos que leva a longo prazo que os projectos de software falhem tem a ver com o controlo de qualidade na vertente detecção e correcção de erros. Embora já tenham sido identificadas boas práticas nesta área, que conseguem, de facto, reduzir [...]]]></description>
			<content:encoded><![CDATA[<p>Depois da dificuldade em perceber efectivamente o que os utilizadores pretendem, um dos principais motivos que leva a longo prazo que os projectos de software falhem tem a ver com o controlo de qualidade na vertente detecção e correcção de erros.</p>
<p>Embora já tenham sido identificadas boas práticas nesta área, que conseguem, de facto, reduzir o número de erros com que um software é lançado para o mercado, continua-se a ouvir por vezes que a culpa de determinado erro é o facto de o utilizador ter feito algo que não devia (como se existisse sequer esse conceito).</p>
<p>Independentemente da gravidade dos erros que possam aparecer, a verdade é que, por variadíssimas razões, muitas vezes o utilizador final tem uma utilização do software que não tem muito a ver com aquilo para o qual o software foi desenvolvido, explorando cenários possíveis, mas que provavelmente não foram sequer considerados como plausíveis pela equipa de desenvolvimento.</p>
<p>Vem esta posta a propósito do comentário que o <a href="http://twitter.com/taf">Tiago</a> fez sobre algum tipo de utilização do <a href="http://www.twitter.com">twitter</a>:</p>
<blockquote><p>&#8220;A mim não me dá jeito nenhum seguir blogs no Twitter! Para isso existe o RSS. Blogs no Twitter é redundante, é uma moda passageira&#8221;</p></blockquote>
<p>Da forma que percebi o que o Tiago disse, ele está a referir-se à publicação no twitter de uma notificação que um determinado blog (normalmente o da mesma pessoa) tem um novo post.</p>
<p>Achei interessante essa opinião (diferente da minha) principalmente porque serviu de pretexto para pensar sobre estas questões da visibilidade online, ou seja o que queremos mostrar de nós online e como utilizar as ferramentas disponíveis para o atingir.</p>
<p>Para mim, todas estas ferramentas servem para mitigar uma questão muito objectiva que é o facto de oito horas do meu dia serem passadas quase exclusivamente sentado a olhar para um computador.<br />
Com esta ocupação é evidente que o tempo disponível para contactar com pessoas directa e fisicamente é diminuto o que leva a, entre outras coisas, que seja muito difícil surgirem contextos / pretextos para o desenvolvimento de conversas.</p>
<p>O twitter, como eu vejo a sua utilização, é uma ferramenta que, por ser tão leve e &#8220;limitada&#8221; (cada entrada só pode ter no máximo 140 caracteres) presta-se a servir como divulgador de contextos, nomeadamente o meu contexto. E com isso refiro a tudo aquilo que me rodeia física e virtualmente.<br />
Serve essencialmente como porta de entrada para o que faço na esfera profissional e, esporadicamente, na esfera pessoal.</p>
<p>E o que me rodeia é numa grande percentagem virtual, nomeadamente sites que visito, software que exploro, blog em que escrevo.<br />
Daí que me pareça que o twitter seja um sitio ideal para, entre outras coisas, divulgar as novas entradas no meu blog, ou no delicious já que isso é uma parte fundamental daquilo que sou e que quero divulgar.<br />
Sem dúvida que é redundante em relação ao acompanhamento individual de cada um destes sites, mas, a redundância nem sempre é má.<br />
Até porque, neste caso concreto, sei que tenho <a href="http://twitter.com/vitorsilva">pessoas que me acompanham no twitter</a> que provavelmente não me acompanham via <a href="feed://http//blog.osmeusapontamentos.com/?feed=rss2">feed rss do blog</a>.</p>
<p>Mas claro, quando falamos de coisas/objectos virtuais dificilmente se consegue dizer com certeza absoluta qual a sua utilização correcta.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2008/11/30/twitter-que/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Auto-Avaliação</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2008/05/19/auto-avaliacao/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2008/05/19/auto-avaliacao/#comments</comments>
		<pubDate>Mon, 19 May 2008 20:27:36 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[pensar]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=547</guid>
		<description><![CDATA[Mais algumas notas sobre como encaro a minha profissão e alguns pontos que acho importante verificar periodicamente Responsabilidade Tendo em conta que um programador / equipa de desenvolvimento não tem normalmente capacidade para influenciar decisivamente o preço, o dead-line e o tamanho da equipa que faz parte Só lhe pode ser pedido o máximo de [...]]]></description>
			<content:encoded><![CDATA[<p>Mais algumas notas sobre como encaro a minha profissão e alguns pontos que acho importante verificar periodicamente</p>
<p>Responsabilidade</p>
<ul>
<li>Tendo em conta que um programador / equipa de desenvolvimento não tem normalmente capacidade para influenciar decisivamente o preço, o dead-line e o tamanho da equipa que faz parte</li>
<li>Só lhe pode ser pedido o máximo de qualidade no que faz</li>
<li>É da responsabilidade do programador / equipa de desenvolvimento conseguir demonstrar essa qualidade.</li>
</ul>
<p>Avaliação continua</p>
<ul>
<li>De que forma aquilo que faço hoje me vai garantir trabalho (aqui ou noutra empresa) amanhã?</li>
<li>De que forma aquilo que faço na empresa em que estou concorre para o seu sucesso?</li>
<li>Aquilo que faço na empresa é suficiente para garantir a minha visibilidade externa?</li>
<li>O caminho que a empresa quer seguir é um caminho que me interessa?</li>
<li>Qual o caminho da empresa / unidade de negocios em que estou envolvido?</li>
</ul>
<p>Quais os caminhos de crescimento</p>
<ul>
<li>Tenho possibilidade de melhorar as minhas capacidades técnicas?</li>
<li>Tenho possibilidade de melhorar os meus conhecimentos numa área funcional?</li>
<li>Tenho possibilidade de fazer parte de projectos que sejam visto como inovadores pelos meus pares?</li>
<li>Tenho perspectiva de carreira? Hierarquia / abrangência de funções?</li>
</ul>
<p>Como me enquadro na empresa</p>
<ul>
<li>De que forma aquilo que faço na empresa em que estou concorre para o seu sucesso?</li>
<li>Como é que a empresa avalia os seus colaboradores?</li>
<li>Quais são os indicadores que usa para minorar a subjectividade de uma avaliação qualitativa?</li>
<li>O que é que tenho que fazer para atingir os padrões minimos exigidos?</li>
<li>O que é que tenho que fazer para ultrapassar esses padrões?</li>
</ul>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2008/05/19/auto-avaliacao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conversão de aplicações</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2008/05/17/conversao-de-aplicacoes/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2008/05/17/conversao-de-aplicacoes/#comments</comments>
		<pubDate>Sat, 17 May 2008 17:53:51 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[pensar]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=545</guid>
		<description><![CDATA[Pediram-me, há umas semanas, para dar uma opinião em relação a um projecto de conversão de uma aplicação já existente. A ideia é pegar numa aplicação, desenvolvida em Visual Fox Pro, já com um curriculo interessante no que diz respeito a funcionalidades e número de instalações existentes e criar algum mecanismo que lhe permita passar [...]]]></description>
			<content:encoded><![CDATA[<p>Pediram-me, há umas semanas, para dar uma opinião em relação a um projecto de conversão de uma aplicação já existente.<br />
A ideia é pegar numa aplicação, desenvolvida em Visual Fox Pro, já com um curriculo interessante no que diz respeito a funcionalidades e número de instalações existentes e criar algum mecanismo que lhe permita passar a utilizar o Sql Server como repositorio de dados.<br />
Posto de uma maneira muito simplista diriamos que queremos criar uma aplicação ou fazer as alterações necessárias na aplicação existente de forma a manter todas as funcionalidades de forma a que através de uma opção global possamos indicar gravar os nossos dados. Como disse antes, simples.</p>
<p>As motivações para esta decisão foram as seguintes:</p>
<ul>
<li>técnica &#8211; já que o Visual Fox Pro tem uma limitação em relação ao tamanho das tabelas que &#8220;só&#8243; podem ter no máximo 2GB;</li>
<li>comercial &#8211; já que o nome SQL Server é muito mais interessante que Visual Fox Pro na mente das pessoas que têm que decidir a compra de este ou aquele produto.</li>
</ul>
<p>Considerando aquilo que se quer propor ao utilizador final, que ignora naturalmente as diferenças entre plataformas tecnológicas, este é um projecto paradoxal já que queremos vender como um produto novo, um produto que tem que ser exactamente igual ao que já existia no sentido que tem exactamente as mesmas funcionalidades.</p>
<p>Por outro lado a aplicação em questão que por inerência à tecnologia já é bastante performante foi ainda sendo refinada de forma a melhorar essa performance inicial, isto leva a que seja admissivel considerar que uma mudança tão substancial de plataforma tecnológica, leve a um decréscimo, mais ou menos pronunciado dessa performance. Ou seja poderá dar-se o caso do utilizador passar da versão actual para a nova versão que faz exactamente o mesmo mas mais devagar.</p>
<p>Outro ponto importante a ter em conta diz respeito à base inicial de trabalho no que diz respeito ao código e ao próprio ambiente e processo de desenvolvimento.<br />
O Visual Fox Pro é um produto bastante diferente das linguagens/plataformas da moda (.net e java), já que faz parte do mesmo ramo que o dBase e seus descendentes sendo por isso uma linguagem muito data-centric onde não faz sentido a visão que tradicionalmente nos é vendida das diferentes camadas (dados/lógica/apresentação). (Nota pessoal: não deixa de ser curioso que se trata de uma visão bem mais próxima do Progress do que de .Net)<br />
Este paradigma data-centric permitiu opções de desenvolvimento que não são transparentes num ambiente de desenvolvimento em que temos muito claro onde estão os dados (no servidor de base de dados) e onde está o user interface (no pc do cliente).<br />
Um exemplo muito concreto tem a ver com o preenchimento de grids. Enquanto que no Visual Fox Pro todo o processo de ir buscar os dados de uma tabela com um milhão de registo, fazer scroll up ou down, ou ir para o primeiro ou ultimo registo é bastante transparente e performante, no mundo .Net e afins este processo é mais tortuoso já que temos que aceder à base de dados, carregar tudo o que queremos e despejar no grid e assim arriscamo-nos a carregar um milhão de registos quando na verdade só queriamos meia dúzia com todo o custo de performace associado ou então a ter que implementar estratégias de paging que sendo possiveis e exequiveis representam mais linhas de código e fatalmente maior probabilidade de erros.<br />
Claro que podemos simplesmente questionar qual o interesse efectivo de um grid com um milhão de registos mas isso implica conseguir mudar a forma como os programadores inicialmente desenvolveram a aplicação e os utilizadores que estão habituados a um determinado interface.</p>
<p>Finalmente sendo uma aplicação já com alguns anos e sem nenhuns testes formais desenvolvidos, e aqui estou a pensar em testes unitários, a probabilidade de cairmos em situações em que por mexer num pedaço de código estamos a afectar outro pedaço de código de que não temos noção é muito grande.</p>
<p>Claro que todas estas notas são simples alertas para questões que outras pessoas já sentiram e não são por si só justificativas da opção de seguir com o projecto ou de abandoná-lo.<br />
Para chegarmos a essa conclusão temos que antes conseguir responder a outras questões:</p>
<ul>
<li>o problema técnico que leva a esta decisão não consegue ser resolvido de outra forma?</li>
<li>qual o cenário previsivel de vendas desta nova versão? ou seja em quantas vendas prevemos diluir este custo em que estamos a incorrer?</li>
<li>é aceitável algum nivel de degradação de performance? se sim que quantificação objectiva podemos definir?</li>
<li>qual o âmbito real do projecto? todos os dados têm que ser guardados ou em SQL Server ou em Visual Fox Pro ou podemos ter as duas tecnologias ao mesmo tempo, por outras palavras podemos ter produtos intermédios totalmente funcionais?</li>
<li>qual a duração previsivel de vida deste produto? até onde temos que considerar questões de manutenção futura e por isso até onde devemos considerar importante o desenvolvimento de mecanismos que nos permitam melhorar no futuro o tipo e rapidez de resposta nestas manutenções?</li>
</ul>
<p>Só depois destas resposta terem sido dadas e na certeza de que certamente que nenhuma delas é uma resposta absoluta e definitiva (grow software vs build software) é que podemos chegar a uma conclusão mais confortável já que assente em alguns pressupostos.</p>
<p> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2008/05/17/conversao-de-aplicacoes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mythical Man-Month</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2008/03/19/the-mythical-man-month/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2008/03/19/the-mythical-man-month/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 23:31:19 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[Frederick P. Brooks]]></category>
		<category><![CDATA[ler]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=533</guid>
		<description><![CDATA[Pode parecer estranho mas acabei de ler um livro sobre tecnologia, melhor sobre desenvolvimento de software, que foi escrito há 33 anos. Para além da eventual afinidade que poderia ter por ler um livro que tem exactamente a minha idade, a verdade é que o que me levou a ler o &#8216;The Mythical Man-Month&#8217; foi [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0px 10px 10px 0px" src="http://blog.osmeusapontamentos.com/img/125px-Mythical_man-month_(book_cover).jpg" alt="" align="left" /><br />
Pode parecer estranho mas acabei de ler um livro sobre tecnologia, melhor sobre desenvolvimento de software, que foi escrito há 33 anos.<br />
Para além da eventual afinidade que poderia ter por ler um livro que tem exactamente a minha idade, a verdade é que o que me levou a ler o &#8216;The Mythical Man-Month&#8217; foi o reconhecimento que muitas pessoas ainda hoje revelam sobre o livro.<br />
&#8216;The Mythical Man-Month&#8217; é um conjunto de artigos escritos como resultado do desenvolvimento do sistema OS/360 e do reconhecimento do que correu menos bem ou mesmo mal e tentativa de explicação desses erros.<br />
E a verdade é que, com muita pena minha, consegui rever uma grande parte da minha vida profissional aí reflectida&#8230; é triste saber que estou a repetir erros que foram identificados há 33 anos&#8230;<br />
<span id="more-533"></span><br />
Mas este livro serve-me também de enquadramento mental a alguns aspectos da minha profissão. Seja numa perspectiva histórica, onde podemos ver alguns fundamentos de metodologias modernas como extremme programming, seja na vertente da comunicação do projecto ou, na prática do pair-programming</p>
<blockquote><p>&#8220;Notice in particular the differences between a team of two programmers conventionaly organized and the surgeon-copilot team. First, in the conventional team the partners divide the work, and each is responsible for design and implementation of part of the work. In the surgical team, the surgeon and copilot are each cognizant of all the design and all of the code.&#8221;</p></blockquote>
<p>seja na definição do âmbito da nossa profissão, da matéria com a qual trabalhamos e do que nos leva a gosta de trabalhar nela.</p>
<blockquote><p>&#8220;capitulo 2 &#8211; The Mythical Man Month pag. 15<br />
The programmer builds from pure thought-stuff: concepts and very flexible representation thereof. Because the medium is tractable, we expect few difficulties in implementation; hence our pervasive optimism. Because our ideas are faulty, we have bugs; hence our optimism is unjustified.&#8221;</p></blockquote>
<p>É dificil sintetizar todo o livro numa palavra, mas sendo um livro mais ou menos de gestão de projectos, é também um livro de gestão de relações humanas e de constatação que o desenvolvimento de software mais do que um fim (o produto final) é um processo &#8211; &#8220;grow, not build, software&#8221;.<br />
Apesar de estarmos cada vez mais acima nas camadas de abstracção que nos levam do hardware (porque todo o software ainda corre num hardware) até ao domínio de negócio que queremos &#8220;softwarizar&#8221; continua a ser verdade que:</p>
<blockquote><p>“The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is so difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other sofware systems. No other part of the work so cripples the resulting system if done wrong. No other part is so more difficult to rectify later.<br />
Therefore the most important function that software builders do for their clients is ther iteractive extraction and refinement of the product requirements. For the truth is, the clients do not know what they want. They usually do not know what questions must be answered, and they almost never have thought of the problem in the detail that must be specified. Even the simple answer &#8211; “Make the new software system work like our old manual information-processing system” &#8211; is in fact too simple. Clients never want exactly that. Complex software systems are, moreover, things that act, that move, that work. The dynamics of that action are hard to imagine. So in planning any software activity, it is necessary to allow for an extensive iteraction between the client and the designer as part of the system definition.<br />
I would go a step further and assert that it is really impossible for clients, event those working with software engineers, to specifiy completely, precisely, and correctly the exact requirements of a modern software product before having built and tried some versions of the product they are specifying.”</p></blockquote>
<p>Torna-se por isso para mim cada vez mais claro que um projecto de desenvolvimento de software é um projecto onde não se consegue especificar concretamente o que vai ser feito e logo quanto tempo vai demorar a fazer e portanto quanto é que deve custar.</p>
<blockquote><p>&#8220;The programmer delivers satisfaction of a user need rather than any tangible product&#8221; (pag.241)</p></blockquote>
<p>E com uma definição tão abstracta para algo que no fim vai ser muito concreto (n linhas de código) percebemos que um projecto que tem que assentar na confiança entre todos os participantes do projecto.<br />
Note-se no entanto que esta confiança não tem a ver com a ideia de fé ou crença mas sim de confiança porque todos os dados disponiveis apontam para que as soluções optadas são as mais apropriadas. Certamente que haverá erros durante o processo mas estando todos os envolvidos no projecto a par das decisões e dos objectivos, esses erros não terão mais relevância do que a necessária para evitar que se repitam.</p>
<p>Para além da ideia de desenvolvimento incremental e da ideia clara que &#8220;the clients do not know what they want&#8221;, outro ponto importante que é referido tem a ver com o papel do gestor de projecto e a sua relação com as pessoas que está a coordenar.<br />
Como acontece provavelmente em relação a todas as profissões, também no desenvolvimento de software, a definição de prazos e datas é uma espécie de luta entre quem define o tempo que as tarefas demoram (programador) e quem quer gerir os deadlines (gestor de projecto) como se o facto de se querer algo mais rápido fosse sinónimo de ser possivel ter algo mais rápido&#8230;</p>
<blockquote><p>&#8220;The project manager has to keep his fingers off the estimated dates, and put the emphasis on getting accurate, unbiased estimates rather than palatable optimistic estimates of self-protective conservative ones.&#8221;</p></blockquote>
<p>Ou seja, em vez de números e datas à partida irrealistas mas com potencial &#8220;psicológico&#8221; para o nivel hierarquicamente superior e/ou clientes, é preferivel batalhar para ter datas fiáveis e por isso cada vez mais confiáveis.</p>
<p>Todos estes pontos parecem às vezes banalidades e/ou generalidades com que todos podemos concordar, mas como disse no inicio não é pelo facto de eu os conhecer que não sofri até agora na pele o efeito de cada um desses pontos&#8230;</p>
<hr />
outros artigos relacionados:</p>
<ul>
<li><a href="http://blog.osmeusapontamentos.com/?p=505"> notas leitura: The Mythical Man-Month 1</a></li>
<li><a href="http://blog.osmeusapontamentos.com/?p=528"> notas leitura: The Mythical Man-Month 2</a></li>
<li><a href="notas leitura: The Mythical Man-Month 3"> notas leitura: The Mythical Man-Month 3</a></li>
</ul>
<hr />Nome: <a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1205191694&amp;sr=1-1">The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) <img src="http://blog.osmeusapontamentos.com/img/amazon_icon.gif" alt="" /></a><br />
Autor: <a href="http://en.wikipedia.org/wiki/Fred_Brooks">Frederick P. Brooks <img src="http://blog.osmeusapontamentos.com/img/wikipedia_icon.gif" alt="" /></a><br />
Editora: <a href="http://www.informit.com/imprint/index.aspx?st=61085">Addison-Wesley Professional</a>; 2 edition (August 12, 1995)<br />
ISBN-13: 978-0201835953</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2008/03/19/the-mythical-man-month/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>notas leitura: The Mythical Man-Month 3</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2008/03/11/notas-leitura-the-mythical-man-month-3/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2008/03/11/notas-leitura-the-mythical-man-month-3/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 08:09:41 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[Frederick P. Brooks]]></category>
		<category><![CDATA[ler]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=529</guid>
		<description><![CDATA[capítulo 14 &#8211; hatching a catastrophe pag. 154 &#8220;When one hears of disastrous schedule slippage in a project, he imagines that a series of major calamities must have befallen it. Usually, however, the disaster is due to termites, not tornadoes; and the schedule has slipped imperceptibly but inexorably.&#8221; &#8220;Concrete milestones, on the other hand, are [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0px 10px 10px 0px" src="http://blog.osmeusapontamentos.com/img/125px-Mythical_man-month_(book_cover).jpg" alt="" align="left" />capítulo 14 &#8211; hatching a catastrophe<br />
pag. 154<br />
&#8220;When one hears of disastrous schedule slippage in a project, he imagines that a series of major calamities must have befallen it. Usually, however, the disaster is due to termites, not tornadoes; and the schedule has slipped imperceptibly but inexorably.&#8221;<br />
&#8220;Concrete milestones, on the other hand, are 100-percent events. (&#8230;) source coding 100 percent complete, keypunched, entered into disk library, debugged version passes all test cases. These concrete milestones demark the vague phases of planning, coding, debugging&#8221;</p>
<p>pag. 156<br />
&#8220;But every boss needs two kinds of information, exceptions to plan that require action and a status picture for education. For that purpose he needs to know the status of all his teams. Getting a true picture of that status is hard.&#8221;</p>
<p>pag.158<br />
&#8220;The project manager has to keep his fingers off the estimated dates, and put the emphasis on getting accurate, unbiased estimates rather than palatable optimistic estimates of self-protective conservative ones.&#8221;</p>
<p>capítulo 15 &#8211; the other face<br />
pag. 165<br />
&#8220;Different levels of documentation are required for the casual user of a program, for the user who must depend upon a program, and for the user who must adapt a program for changes in circumstance or purpose.&#8221;</p>
<p>&#8220;To believe a program. The description of how it is used must be supplemented with some description of how one knows it is running. This means test cases.&#8221;<br />
pag. 166<br />
&#8220;1. Mailine cases that test the program&#8217;s chief functions for commonly encountered data.<br />
2. Barely legitimate cases that probe the edge of the input data domain, ensuring that largest possible values, smallest possible values, and all kinds of valid exceptions work.<br />
3. Barely illegitimate cases that probe the domain boundary from the other side, ensuring that invalid inputs raise proper diagnostic messages.&#8221;</p>
<p>capitulo 16 &#8211; No Silver Bullet &#8211; Essence and Accident in Software Engineering<br />
pag. 199<br />
&#8220;The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is so difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other sofware systems. No other part of the work so cripples the resulting system if done wrong. No other part is so more difficult to rectify later.<br />
Therefore the most important function that software builders do for their clients is ther iteractive extraction and refinement of the product requirements. For the truth is, the clients do not know what they want. They usually do not know what questions must be answered, and the almos never have thought of the problem in the detail that must be specified. Even the simple answer &#8211; &#8220;Make the new software system work like our old manual information-processing system&#8221; &#8211; is in fact too simple. Clients never want exactly that. Complex software systems are, moreover, things that act, that move, that work. The dynamics of that action are hard to imagine. So in planning any software activity, it is necessary to allow for an extensive iteraction between the client and the designer as part of the system definition.<br />
I would go a step further and assert that it is really impossible for clients, event those working with software engineers, to specifiy completely, precisely, and correctly the exact requirements of a modern software product before having built and tried some versions of the product they are specifying.&#8221;</p>
<p>pag.200<br />
&#8220;Incremental development &#8211; grow, not build, software&#8221;</p>
<p>pag.241<br />
&#8220;The programmer delivers satisfaction of a user need rather than any tangible product&#8221;</p>
<hr />Nome: <a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1205191694&amp;sr=1-1">The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) <img src="http://blog.osmeusapontamentos.com/img/amazon_icon.gif" alt="" /></a><br />
Autor: <a href="http://en.wikipedia.org/wiki/Fred_Brooks">Frederick P. Brooks <img src="http://blog.osmeusapontamentos.com/img/wikipedia_icon.gif" alt="" /></a><br />
Editora: <a href="http://www.informit.com/imprint/index.aspx?st=61085">Addison-Wesley Professional</a>; 2 edition (August 12, 1995)<br />
ISBN-13: 978-0201835953</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2008/03/11/notas-leitura-the-mythical-man-month-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

