Modelos Cathedral e Bazaar – Resumão para gabaritar!
Faaaaaala seus lindos!!! Tudo bem com vocês?
Nesse artigo estudaremos um pouco dos modelos Cathedral e Bazaar, mencionado no edital do Conselho Regional de Medicina do Estado de Minas Gerais – CRM/MG, no conteúdo a ser cobrado pela banca Quadrix para o cargo de Analista de Sistemas. Como é um tema sobre o qual habitualmente não falamos, vale a pena um bate papo, já que, pode ser mencionado em outros editais.
Quando falamos sobre os modelos Catedral e o Bazar (em inglês: The Cathedral and the Bazaar), sabemos que é um tema muito mais relacionado à engenharia de software, mas vem sempre junto com os assuntos relacionados à gestão de projetos. Então, vamos abrir o coração e não estressar com esse detalhe!
Para ser direto, o modelo Catedral de desenvolvimento, se refere a softwares fechados, cujo domínio está nas mãos de pequenos grupos – centralizado, enquanto o Bazaar se refere ao desenvolvimento aberto e descentralizado.
Assim, na visão catedral de programação, o código fonte está restrito a um grupo pequeno de pessoas, e por isso os testes são demorados, já que poucas pessoas estão realizando os testes, e por consequência, os intervalos entre as liberações são maiores, até que o código esteja estável e confiável. Já na visão bazar, os erros se tornam triviais muito rapidamente quando expostos para centenas co-desenvolvedores, a cada liberação.
Resumindo: no modelo Catedral, o código fonte está restrito a um grupo de desenvolvedores exclusivo, enquanto no modelo Bazaar, o código é desenvolvido de forma totalmente aberta e pública, utilizando a Internet.
Digamos que o modelo Bazaar é considerado como o manifesto do movimento Open source, já que foram resultados de um ensaio de Eric S. Raymond, baseado em suas observações do processo de desenvolvimento do Linux.
A premissa adotada é que se o código fonte está disponível para teste e avaliação pública, então os erros serão descobertos rapidamente, ou seja, “Dado um número de olhos suficiente, todos os erros são triviais”.
O modelo da Catedral é também o modelo de desenvolvimento típico para software proprietário, apesar de que, no ensaio original, apenas se tratava a respeito de software livre. Assim, usa-se muito os dois termos juntos – “a Catedral e o Bazar” com a intenção de contrastar o desenvolvimento proprietário com o desenvolvimento de código aberto.
Vamos entender as boas práticas a respeito do modelo:
- Todo bom trabalho de software começa colocando o dedo na ferida de um programador.
Aqui, podemos trazer o provérbio “A necessidade é a mãe da invenção” para explicar a lição.
- Os programadores bons sabem o que escrever. Os grandes sabem o que reescrever (e reusar).
- Planeje jogar algo fora; você irá, de qualquer maneira.
- Se você tem a atitude certa, problemas interessantes irão encontrá-lo.
- Quando você perde interesse em um programa, sua última obrigação a fazer com ele é entregá-lo a um sucessor competente.
- Tratar seus usuários como co-desenvolvedores é seu caminho mais fácil para uma melhora do código e depuração eficaz.
- Libere cedo. Libere frequentemente. E ouça seus fregueses.
- Dada uma base grande o suficiente de beta-testers e co-desenvolvedores, praticamente todo problema será caracterizado rapidamente e a solução será óbvia para alguém.
- Estrutura de dados inteligentes e código burro trabalham muito melhor que ao contrário.
- Se você tratar seus beta testers como seu recurso mais valioso, eles irão responder tornando-se seu mais valioso recurso.
- A melhor coisa depois de ter boas ideias é reconhecer boas ideias dos seus usuários. Às vezes, a última é melhor.
- Frequentemente, as soluções mais impressionantes e inovadoras surgem ao se perceber que o seu conceito do problema estava errado.
- A perfeição, em projetar, é alcançada não quando não há mais nada a adicionar, mas quando não há nada para jogar fora.
- Qualquer ferramenta deve ser útil da maneira esperada, mas uma ferramenta verdadeiramente boa leva ela própria a usos que você nunca esperou.
- Quando escrevendo um software gateway de qualquer tipo, faça tudo para perturbar o conjunto de dados o menos possível, e nunca jogue fora informação a não ser que o destinatário force você a isto!
- Quando sua linguagem não está perto de um Turing completo, açúcar sintático pode ser seu amigo.
- Um sistema de segurança é tão seguro quanto seu segredo.
- Para resolver um problema interessante, comece achando um problema que é interessante para você.
- Contanto que o coordenador do desenvolvimento tenha uma mídia pelo menos tão boa quanto a Internet, e saiba como liderar sem coerção, muitas cabeças são inevitavelmente melhores que uma.
Bem tranquilo esse tema, certo?
Vamos ver como as bancas cobraram isso nos últimos anos:
Acerca das relações estabelecidas entre os modelos de ciclo de
vida de software, os modelos de gestão e seus exemplos, julgue
os itens de 62 a 71.
Nas abordagens de desenvolvimento bazaar e catedral e na sua relação com modelos de ciclo de vida de software, observa-se que em um desenvolvimento na abordagem bazaar, a arquitetura é emergente, o que não ocorre com um desenvolvimento na abordagem catedral; o conceito de liberação de código cedo e frequente, presente na abordagem catedral, afina-se com os métodos da eXtreme Programming e em ambos modelos, o desenvolvimento de software é colaborativo, aberto e embasado em prototipação.
Resposta ERRADA! A liberação cedo e frequente tem relação com o modelo Bazar! Ainda, o modelo Bazaar é caracterizado por um processo de desenvolvimento mais descentralizado e colaborativo, enquanto o modelo Catedral é caracterizado por um processo de desenvolvimento mais centralizado e hierárquico, conduzido por um grupo central de desenvolvedores e as contribuições externas são limitadas. Assim, ambos os modelos podem ser colaborativos em diferentes graus, dependendo da forma como são implementados e gerenciados.
IADES – 2014 – TRE-PA – Analista Judiciário – Análise de Sistemas
Na área de engenharia de software, há dois métodos de desenvolvimento de sistemas, chamados Catedral e Bazar. Essa descrição foi inicialmente lançada como um debate e crítica aos métodos de desenvolvimento de softwares livres e hoje é utilizada para descrever modelos de gestão de desenvolvimento em sentido amplo. Assinale a alternativa correta quanto aos dois métodos de desenvolvimento de software.
A) No modelo Bazar, as novas versões do software são disponibilizadas somente depois de exaustivos testes e correções de problemas.
B) O modelo Catedral surgiu com o desenvolvimento do Linux que contava com a ajuda de voluntários anônimos, na sua maioria estudantes universitários.
C) O modelo Bazar é utilizado em softwares livres onde a forma de trabalho descentralizada e o esforço de voluntários são as principais características.
D) Os modelos Catedral e Bazar se assemelham pela forma aberta e pública de disponibilização dos códigos-fonte, que podem ser baixados a qualquer instante via internet.
E) O modelo Bazar é voltado para o desenvolvimento de softwares proprietários e pagos enquanto o modelo Catedral é usado nos softwares abertos e gratuitos.
Gabarito: letra C. Nosso resumão traz todo o conteúdo para acertar essa questão sem dificuldades!!
CESPE – 2010 – SERPRO – Analista Desenvolvimento de Sistemas
Acerca de modelos e abordagens à gestão de empreendimentos de desenvolvimento de software, julgue o item abaixo.
O modelo de gestão bazar, comparado ao modelo catedral, apresenta melhores condições para apoiar o desenvolvimento de software colaborativo, especialmente se este tiver código aberto e for aderente à abordagem de software livre. Tal modelo, comparado ao modelo catedral, apresenta ainda menor previsibilidade acerca da arquitetura do software que emerge da interação entre as pessoas.
Alternativa ERRADA! Lembra da premissa: “Dado um número de olhos suficiente, todos os erros são triviais”. Assim, podemos considerar que há uma maior previsibilidade do software que emerge da interação entre as pessoas, ou seja, espera-se que os erros sejam encontrados facilmente.
Baseando-se na premissa de que se o código fonte estiver disponível para teste e experimentação pública, então os eventuais erros serão descobertos mais rapidamente, foram desenvolvidos modelos de desenvolvimento de software e gestão de projetos, sobre os quais é correto afirmar:
- A) As publicações de diretrizes e normas do PMI, que inclui o PMBoK, são preparadas através de um processo voluntário de desenvolvimento de normas de consenso. Esse processo reúne voluntários e/ou busca os pontos de vista de pessoas interessadas nos tópicos cobertos por esta publicação.
- B) A Wikipedia é um projeto que implementa o modelo Catedral, no qual o código é desenvolvido de forma totalmente aberta e pública, utilizando a Internet.
- C) O modelo Bazar, no qual o código fonte está disponível para cadasoftware release, mas o código desenvolvido entre dois releases é restrito a um grupo de desenvolvedores exclusivo, foi aplicado nos projetos Emacs, GCC e do sistema operacional Linux.
- D) SoftwareLivre ou Open Source, desenvolvido em modelo colaborativo, tem grande aceitação, movimenta a economia e gera inovação, mas é proibido em instituições governamentais, pois pode colocar em risco a segurança das informações de governo.
- E) Dois exemplos de uso do modelo Catedral são o navegador Mozilla Firefox, originado do Netscape que pertencia à empresa AOL, e o conjunto de ferramentas OpenOffice, que resultou da abertura do código do StarOffice pela Sun Microsystems.
Gabarito Letra A.
Vale a pena comentar que o PMBOK é um Guia desenvolvido e revisado por colaboradores de todo o mundo! O nosso grande amigo, Professor Fernando Escobar, participou da revisão do PMBOK 7ª Edição!
Os erros das outras alternativas são facilmente identificados: B) A wikipedia implementa modelo Bazaar, considerando o nível de colaboração entre os envolvidos. C) No modelo Bazaar o código não é restrito. D) Software Livre não é proibido em instituições governamentais. E) Código aberto tem maior relação com desenvolvimento Bazaar, por exemplo o StarOffice.
Aahh, antes que eu me esqueça!! Temos um curso completo de Gerenciamento Ágil de Projetos, incluindo tudo sobre Scrum e XP, que foi mencionado aqui em uma questão, além de outros conceitos importantes!
Um grande abraço!!
Professor Darlan Venturelli
@professordarlanventurelli
Clique nos links abaixo:
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
Clique no link abaixo e inscreva-se gratuitamente:
Participe da conversa