ágil para o desenvolvedor solo
<p>como alguém implementaria os conceitos de processo agile como desenvolvedor solo? o agile parece útil para desenvolver aplicativos em um ritmo mais rápido, mas também parece muito orientado para a equipe ...</p>
<ul> <li>fazendo desenvolvimento orientado a teste</li> <li>desenvolvendo em pequenos sprints</li> <li>por ter muito contato com o cliente</li> </ul><p>lembro-me de ler uma tese sobre o cowboy development, que é essencialmente ágil para desenvolvedores solo, mas não me lembro onde a encontrei.</p>
<p>pensando em agile as opções são mais abrangentes mas não há regras fixas vai do bom senso e do planejamento do projeto.</p>
<p>1) não cancelaria a sprint porque os outros funcionarios iriam ficar parados.</p>
<p>2)pode sim se o po autorizar.</p>
<p>3)não se deve colocar atividades alheias ao produto na sprint. deve só evidenciar a ausência de tal desenvolvedor por motivos de ele ser necessário em outro projeto.</p>
<p>4)só o po pode dizer se é um impedimento, as vezes a ausência de um membro nem faz falta.</p>
<p>5)tem que ser avisado imediatamente ao po para ele poder analisar e tomar ações estratégicas.</p>
<p>6)não há uma melhor prática, vai muito do bom senso mesmo. e é lógico transparência avisar todos do time scrum.</p> <p>não acho que eles sejam mutuamente exclusivos, mas, nos casos em que são, você deve observar o que seus clientes desejam/precisam.</p><p>qualquer interface pode ser simplificada movendo funcionalidades complexas para outro local. eu acho que esse é o principal compromisso. para facilitar o uso para o usuário médio, você precisa torná-lo mais complicado para o usuário avançado. eles precisam fazer mais alguns cliques para obter suas coisas.</p><p>mas é claro que muitas vezes o software pode ser facilitado tanto para usuários avançados quanto para usuários casuais, sem sacrificar a usabilidade de nenhum deles. uma coisa importante é criar recursos ortogonais que possam ser combinados facilmente. muitas vezes, o software é complicado porque há muitos recursos sobrepostos. em vez disso, ao criar alguns recursos distintos que podem ser facilmente combinados, o software pode ser muito mais flexível e simples.</p><p>descobrir isso criando uma matriz de objeto/ação. liste o número de objetos diferentes no seu aplicativo ao longo de um eixo e as ações que você pode executar neles em outro eixo. a matriz não deve ser muito escassa.</p> <p>este <a href="http://windowsteamblog.com/windows\_phone/b/wpdev/archive/2010/03/18/windows-phone-7-series-ui-design-amp-interaction-guide.aspx">postagem no blog</a> vincula ao <a href="http://msdn.microsoft.com/en-us/library/hh202915%28v=vs.92%29.aspx">guia de design e interação de interface do usuário do windows phone 7 series</a> , o que provavelmente é do seu interesse.</p><p>se você estiver criando um aplicativo nativo, provavelmente desejará fazê-lo de acordo com as orientações da interface do usuário do dispositivo. uma exceção pode ser se você estiver criando um aplicativo que forneça uma interface para um site (como os aplicativos twitter e facebook para iphone e android) - aqui, convém projetá-lo para parecer com seu site para fornecer familiaridade aos usuários.</p><p>a decisão de seguir ou não seguir as orientações da interface do usuário é sua. embora seja geralmente uma boa ideia apresentar aos usuários uma interface familiar de algum tipo - outro aplicativo (web ou desktop) ou a interface do telefone.</p> olá! como vai?
as metodologias ativas podem sim, serem aplicadas nas séries iniciais. aliás, é ótimo que os alunos comecem a ser proativos e a desenvolverem o hábito de analisar a tomar decisões. e parabéns a você, se é professor de séries iniciais e vai fazer isso. <p>olá carlos!</p>
<p>é sempre uma boa prática separarmos as classes do nosso sistema pois se fazemos tudo em somente uma acabamos pendendo para o paradigma estrutural e não para o orientado a objetos.</p>
<p>isso também facilita na manutenção do código.</p>
<p>espero que tenha ajudado! :d</p>
<p>bons estudos! ^^</p> para isso, vamos entender cada um dos conceitos.



**portabilidade** é a característica de que o sistema possui de poder se adaptar a qualquer plataforma, como exemplo, podemos citar um site web que possui visualizações adaptativas às telas dos *smartphones* e *desktops*, para isso, usam-se técnicas, linguagens ou *frameworks* específicos.**usabilidade** consiste na aplicação ser de fácil assimilação e simplicidade da interface, sendo de fácil entendimento para o público-alvo.

**mobilidade** tem como conceito a aplicação ser facilmente movível fisicamente ou cujas as capacidades puderem ser executadas enquanto se movimentam ou são movidos.

 a **navegabilidade** consiste no conceito de *buscar o que se deseja com a quantidade mínima de cliques possíveis*. por exemplo, um *site* possui navegabilidade se o mesmo der o retorno preterido pelo usuário sem que este execute cliques suscetíveis e infinitos.

**acessibilidade** é o conceito de que o sistema possa se adequar às possíveis deficiências do usuário, como por exemplo, alterar o contraste para que possa ser melhor visualizado por pessoas com a visão limitada.



portanto, pode-se dizer que a principal falha no referido sistema é oriunda da falta de **usabilidade**. <p>não existem "regras", apenas "diretrizes".</p><p>com isso, quero dizer que, em teoria, não há nada que o impeça de projetar qualquer interface que você queira, no entanto, existem vários fatores que podem impedir que você atinja seu objetivo.</p><ol> <li> <p>navegadores funcionam de uma certa maneira. o html pode apenas sugerir um layout para a página; portanto, embora você tenha um ótimo design que funcione no papel, ele poderá falhar em alguns navegadores com algumas resoluções de tela.</p> </li> <li> <p>os usuários esperam que certos elementos estejam em determinados locais. isso nem sempre é uma expectativa consciente, mas criada a partir da exposição a outros aplicativos, etc. se o seu design for muito diferente, eles podem não "entender" e achar seu aplicativo difícil, se não impossível, de usar.</p> </li> </ol> <p>complementando o que disse o thiago, a questão dos custos vai estar atrelada ao contrato.</p>
<p>geralmente, como o próprio thiago disse, vai ser pago por sprint com algum tipo de multa por cancelamento ou aviso prévio.</p>
<p>se contratado por sprint, vai ser um contrato por tempo determinado, renovável a cada sprint.</p>
<p>o que vejo mais no mercado são contratos onde o cliente em conjunto com o po faz uma declaração de visão do projeto como um todo e estima-se o escopo, não fixa-se o escopo. com base nisso se inicia o trabalho. também estima-se um período mínimo de trabalho, assim após aquele período pode ou não acontecer a renovação.</p>
<p>ainda, outro tipo de contrato quem tem se tornado usual é o de tempo e material. paga-se exatamente pelo tempo trabalhado - inclusive podendo ser encerrada uma sprint que possa ser a final caso aquela sprint tenha perdido sentido versus o objetivo da sprint - entrega antecipada, por exemplo.</p>
<p>temos no curso de aquisições em projetos muitos exemplos de tipos de contratos.</p>
<p>também estamos neste exato momento trabalhando em um curso de práticas ágeis e de agile avançado. vale a pena seguir acompanhando nossos lançamentos.</p>
<p>um abraço,</p>
<p>fa</p> <p>oi joão, tudo bem ?</p>
<p>acho que tem algo que pode assumir, por exemplo, tudo que for um singleton, você pode deixar no escopo de aplicação, acho que dessa forma seu pensamento pode ficar mais claro.</p> a inovação geralmente se refere à mudança de processos ou à criação de processos, produtos e idéias mais eficazes.para as empresas, isso pode significar implementar novas ideias, criar produtos dinâmicos ou melhorar seus serviços existentes. a inovação pode ser um catalisador para o crescimento e sucesso do seu negócio e ajudá-lo a se adaptar e crescer no mercado.ser inovador não significa apenas inventar. inovação pode significar mudar seu modelo de negócios e adaptar-se às mudanças em seu ambiente para oferecer melhores produtos ou serviços. a inovação bem-sucedida deve fazer parte da sua estratégia de negócios, onde você cria uma cultura de inovação e lidera o pensamento inovador e a solução criativa de problemas. a inovação pode aumentar a probabilidade de sucesso do seu negócio.