Custo do projeto com base no custo da programação

8

Qual é a sua metodologia quando você precisa determinar o custo do design da interface do usuário se conhece o custo (horas de trabalho) da programação em algum projeto?

Digamos que a programação da lógica em algum projeto custe X dólares. Existe alguma porcentagem geral (como 30% dos custos de programação) que pode ajudar a determinar o custo do design?

A área de interesse é o desenvolvimento de telefones celulares (principalmente ferramentas de negócios e jogos em 2D, e não em 3D). Aqui há menos trabalho de design comparado com um design de web ou um design de jogo para PC.

deviDave
fonte
1
você quer dizer design de interface do usuário, design de arquitetura de software?
AK_ 02/02/12
1
Se sua pergunta é sobre design de interface do usuário, remova a marca de design e aplique a marca da interface do usuário (e deixe claro no texto da pergunta que você está se referindo à interface do usuário). Se você está se referindo ao projeto arquitetônico, perfeito!
yannis
Sim, design de interface do usuário. Alterei a tag de acordo.
DeviDave
Uma coisa que provavelmente vale para os dois ... Você precisará triplicar suas estimativas.
Nicole

Respostas:

7

Não existe essa porcentagem. Da mesma forma, não há uma porcentagem de tempo em que você trabalha com segurança, por exemplo. Um aplicativo deve ser seguro e exigirá que metade de sua equipe trabalhe nele. Como outro aplicativo não tem problemas de segurança, o impacto no seu cronograma será mínimo.

O tempo necessário para fazer o design visual depende dos requisitos . Não se trata do tipo de software (você citou ferramentas de negócios, aplicativos da web e jogos).

  • Se meu cliente não se importa com o design visual de um site, passarei algumas horas criando algo básico e usarei os dois meses restantes de trabalho para outros aspectos mais importantes.

  • Se meu cliente se interessar pela interação do usuário, passarei algumas semanas criando cuidadosamente os diferentes aspectos do design de interação, aprimorando o aspecto visual etc., enquanto me preocupo menos com os aspectos que não são importantes para esse cliente neste projeto.

Nos dois casos, ainda é um aplicativo da web.

Em geral, você tem duas maneiras de agrupar tarefas ao criar um aplicativo.

  • O primeiro é sequencial: são os estados que você precisa fazer para obter sucesso em seu projeto . Você começa reunindo requisitos funcionais e não funcionais, trabalha na especificação, arquitetura e design do aplicativo, cria testes, escreve o código real, implanta e mantém o aplicativo.

    Aqui, dependendo do nível de seriedade e da escala do projeto, você tem porcentagens semelhantes de projeto para projeto . Para um pequeno aplicativo caseiro, você sempre terá de 0% a 5% para os requisitos. Para um aplicativo corporativo de larga escala que exige controle de qualidade exemplar, o tempo em que você realmente escreverá o código será de 15% a 20%.

  • O segundo é paralelo: são as coisas que você deve fazer , uma vez que elas são quase independentes do ponto de vista do gerenciamento de projetos e das coisas que você pode fazer ou pular. Inclui segurança, design visual, portabilidade, desempenho, etc.

    Aqui, as porcentagens são irrelevantes . É mais uma questão de prioridades, não a escala do aplicativo e o nível de controle de qualidade necessário. Um aplicativo de negócios pode ter uma excelente experiência do usuário, porque as partes interessadas sabem que o projeto falhará de outra forma ou que o UX é uma vantagem competitiva. Outro aplicativo de negócios pode não ter quase nenhum design, porque não há nada a inovar em termos de design.

Arseni Mourzenko
fonte
Ótimos pontos. Você praticamente pré-escreveu minha resposta. Uma coisa a acrescentar ... É difícil imaginar que você possa conhecer o tamanho da programação com maior precisão do que o design.
MathAttack #
3

O problema aqui é que não há uma definição amplamente aceita do que é design no desenvolvimento de software. Por exemplo, para muitas pessoas, a linha entre design e codificação não pode ser definida de maneira nítida, e alguns veem design e codificação como sendo a mesma coisa:

http://www.developerdotstar.com/mag/articles/reeves_design_main.html

Desse ponto de vista, o custo do projeto é o custo da programação. Outras pessoas pensam que "desenhar alguns diagramas UML" ou "criar algum layout da GUI" é o design - especialmente quando essa tarefa é atribuída a alguns não programadores. Se for esse o caso, pergunte a esses "designers" sobre o esforço deles, e você encontrará facilmente o custo do projeto.

Portanto, primeiro deixe claro como você define o design em sua equipe e se essa tarefa é realizada em sua equipe de alguma forma "separadamente da codificação". Se você não conseguir separar claramente a tarefa de design, não tente separar na forma de custos, isso não fará muito sentido.

EDIT: a partir do seu comentário, você deixou claro que se referia ao design da interface do usuário (apesar de se esquecer de alterar o título enganoso da sua pergunta). No entanto, é necessário definir onde você define a linha entre "design da interface do usuário" e "codificação". O design da interface do usuário é para você "desenhar alguns formulários com lápis e papel"? É o design do comportamento exato da sua interface do usuário da perspectiva de um usuário? É o design de seu funcionamento interno de seus formulários, por exemplo, quando você cria seu aplicativo como uma arquitetura MVP? Com base nisso (e com base nos requisitos do seu aplicativo, é claro), você pode chegar a conclusões diferentes sobre qual pode ser a porcentagem do design da interface do usuário no seu caso.

Doc Brown
fonte
1

Eu acho que você está fazendo isso ao contrário. Se você sabe magicamente o custo exato de programação (não vejo como isso é possível), provavelmente não precisará da fase de design, e provavelmente o problema que está tentando resolver é muito simples.

Se você quer dizer como estimar o design da interface do usuário, esse é um território diferente. Dependendo do campo, às vezes a interface do usuário é abordada como uma adição tardia, onde você pode obter uma estimativa trivial como x% do tempo do projeto. Os campos que você mencionou aqui, no entanto, são 100% voltados para o usuário, então eu começaria com um design de interface do usuário juntamente com o próprio esforço de programação. Mesmo assim, é difícil quantificá-lo genericamente como uma porcentagem do tempo total de desenvolvimento - precisamos de mais contexto. Afinal, houve muitos jogos que tiveram excelente IA, etc., mas afasta uma tonelada de pessoas porque eles têm um design gráfico / de interface ruim. FWIW, as pessoas até criticam o Skyrim de grande sucesso porque errou o design da interface do usuário para PC (os controles são mais ajustados ao controlador do que ao kb / mouse).

Subu Sankara Subramanian
fonte