de dificil manutenabilidade principalmente por falta de documentacao. Em resumo, davam mais trabalho do que propor a solucao para determinado problema.Depois deste evento desenvolvedores e pesquisadores desenvolveram metodologias para o desenvolvimento de software com o objetivo de acertar os problemas que fundamentaram a crise d software, os quais ficou conhecido como MANIFESTO AGIL.O desenvolvimento agil tem o objetivo de reger a engenharia de software propondo metodologias que procedam para a melhor qualidade de software.Assim nasce as metodologias, que voce ja deve ter conhecido lendo algo sobre engenharia de software, para gerencia de projetos como de software, ou conhecidos como metodologias ageis: XP Programming; Scrum; MPS-BR; etc.Geralmente a gerencia e voltada ao profissional com tal conhecimento para manter e gerir projetos de softwares.PROGRAMACAO ORIENTADA A OBJETO (POO)O desenvolvimento de software, na decada de 70, era realizado por meio de linguagem estruturada. Ate hoje ensinam isso na faculdade, principalmente nas primeiras aulas de programacao com a linguagem C.Essa maneira de programar acaba deixando o codigo um pouco confuso, o que dificulta sua manutenabilidade,. Criar novas versoes do mesmo produto torna-se uma das maiores dificuldades forcando a reescrever todo o codigo. A reutilizacao de codigo e outro problema que encontramos, tornando a repeticao um excesso.A POO, vem com a ideia de propor um padrao de desenvolvimento. As linguagens de programacao posteriores passaram a adotar a interpretacao dessas mudancas como a linguagem C que se reinventou passando a ser C++, orientada a objeto.Para mais detalhes sobre POOAtualmente existem diversas linguagens de programacao. Saber se determinada linguagem e ou nao apropriada para determinado projeto, seus pontos fracos e fortes para aplicacao da solucao e um diferencial. Contudo, existem linguagens voltadas ao desenvolvimento desktop e outras diretamente para o desenvolvimento web.MODEL, VIEW, CONTROL (MVC)Trata-se de um design pattern, o qual separa a representacao da informacao com a interacao do usuario, e foi apresentado em 1979. Os componentes trabalham de forma separada contudo interligados.Esse modelo tem sido aplicado por volta de 2005, em frameworks voltados para o desenvolvimento de aplicacoes web como o ColdBox, PureMVC, Toika, ASP.NET MVC, JSF e CakePHP, Backbone, entre outros.Atualmente nao se programa para web sem utilizarmos algum framework para determinada linguagem. Alem de implementarem a POO o modelo MVC torna a disposicao das pastas mais elegante e compreensivel, facil de trabalhar de forma organizada.CONTENT MANAGEMENT SYSTEM (CMS)Temos ainda no mercado os chamados gestores de conteudo e em sua maioria possuem licenca Tecnologias livres podem ser uma solucao viavel para empresas que nao queiram gastar valores com licenciamento da ferramenta para desenvolvimento.Algumas referencias citam o objetivo de um gestor de conteudo como um aplicativo que permite criar, editar, gerenciar e publicar conteudo na internet de forma organizada. Contudo, o CMS nao se trata de um framework por nao se aplicar a conceitos especificos para solucao de determinado problema, mas, assemelha quanto a usabilidade, viabilizacao e administracao.Esta ferramenta oferece as condicoes necessarias para a criacao, edicao e publicacao de conteudos prontamente disponiveis.Os CMS sao viaveis a empresas que nao queiram ter demanda com o desenvolvimento de softwares e atualizacoes de softwares. Devido a sua facilidade de