Requisitos não funcionais: escalabilidade

Postado por Adam Alami, PhD Fellow, IT University of Copenhagen (traduzido do inglês)

INTRODUÇÃO


Os requisitos não funcionais estão amplamente representados na literatura. Não faltam definições e exemplos de requisitos não funcionais. O Instituto Internacional de Análise de Negócios (IIBA) define requisitos não funcionais da seguinte maneira:

Os requisitos não funcionais capturam condições que não estão diretamente relacionadas ao comportamento ou funcionalidade da solução, mas descrevem as condições ambientais sob as quais a solução deve permanecer eficaz ou as qualidades que o sistema deve possuir. Eles também são conhecidos como atributos (indicadores) de qualidade ou requisitos adicionais. Isso pode incluir requisitos relacionados à largura de banda, velocidade, segurança, disponibilidade, arquitetura de informações e apresentação da interface do usuário.

As palavras-chave nesta definição "não estão diretamente relacionadas ao comportamento ou funcionalidade da solução". Estas são “condições” ou “qualidades”.

Condições : são restrições externas ou internas. Restrições internas são as políticas e a auto-regulação da organização, enquanto restrições externas são regras do governo, padrões do setor e outros parâmetros que determinam o ambiente de negócios.

Qualidades : são requisitos de negócios que definem comportamentos não sistêmicos e não estão relacionados ao processo, mas são requisitos para a qualidade da solução.

Exemplos:

i) Condições
a. Branding
b. Privacidade de dados
s Compatibilidade com PCI;

ii) Qualidades
a. Disponibilidade
b. Performance.

Até o analista de negócios mais experiente faz muitos esforços para identificar requisitos não funcionais. A principal razão para tais dificuldades é que os requisitos não funcionais não são fáceis de identificar e não há processo predeterminado para sua identificação. Para definir esses requisitos, você precisa ser criativo e pensar amplamente, indo além de certos limites!

POR QUE REQUISITOS NÃO FUNCIONAIS NECESSÁRIOS


De acordo com todos os tipos de requisitos, a omissão de um ou outro requisito pode potencialmente comprometer a integridade e a integridade da decisão. Requisitos funcionais e não funcionais estão intimamente interconectados por vários relacionamentos.

Normalmente, o foco está no aspecto funcional dos requisitos, e a importância dos requisitos não funcionais é frequentemente subestimada.

Por que os requisitos não funcionais são subestimados?

1. O foco está nos requisitos funcionais, pois eles fornecem retornos tangíveis. Os requisitos não funcionais contribuem para a infraestrutura e não para o comportamento do sistema. A infraestrutura de negócios, que é intangível, parece insignificante.

2. A equipe de entrega da decisão é recompensada e medida em termos de funções, processos e comportamento do sistema. Os usuários corporativos veem os requisitos não funcionais como "requisitos de TI" e consideram "necessidades" como necessidades de negócios, não como tecnologia. A tecnologia fornece serviços e negócios gerencia necessidades. Durante esse processo, a TI às vezes esquece que eles têm apenas uma função "consultiva".

Cada solução alcança eficiência a partir de uma lista exaustiva de requisitos, coletados no início e durante o processo de implementação. Os requisitos podem ser divididos em duas grandes categorias: substantiva e fundamental. Os requisitos essenciais decorrem de sua analogia com os "requisitos funcionais" e parecem estar diretamente relacionados à solução. No entanto, os chamados requisitos fundamentais podem não estar diretamente relacionados à solução, mas são fundamentais para criar um ambiente sustentável no qual os requisitos funcionais essenciais sejam mantidos. Portanto, esses “requisitos não funcionais” constituem a estrutura e a infraestrutura que dão suporte às soluções do sistema.

O QUE É ESCALABILIDADE?


Escalabilidade é a capacidade de um sistema ou processo de lidar com um volume maior de operações sem restrições ou gargalos estruturais. Cada modelo de negócios é de suma importância para gerar um negócio, o que leva a um aumento no volume de transações e um aumento subsequente nas atividades operacionais. As operações de dimensionamento para lidar com a expansão da atividade comercial são inerentes e integradas ao design do sistema. A escalabilidade pode ser dividida em duas categorias: física e intangível.

1. Escalabilidade física


Refere-se aos parâmetros críticos para garantir que uma organização esteja equipada com ferramentas (possivelmente opcionais) para lidar com um número crescente de operações. Isso implica estabilidade física. Isso indica a presença de fatores necessários do ponto de vista dos componentes físicos do processo para garantir a estabilidade (ou seja, armazenamento de dados, largura de banda da rede, hardware etc.).

O que significa ser sustentável? Ele atende aos requisitos atuais sem comprometer a capacidade de suportar necessidades futuras. Por exemplo, se as características de uma solução de rede suportam as necessidades atuais, elas também devem ser capazes de suportar necessidades futuras nos próximos três a cinco anos. Em geral, a sustentabilidade é determinada e avaliada usando previsões de três a cinco anos.

Por que é necessário determinar a necessidade de sustentabilidade ao desenvolver um modelo / solução de negócios? Um modelo de negócios sustentável baseia-se em seu design e estrutura, mais adequados para obter uma solução por meio de sistemas, processos e infraestrutura estáveis ​​e confiáveis. A estabilidade física visa atingir duas características principais: estabilidade e confiabilidade dos negócios e soluções tecnológicas.

Estabilidade : permite que o negócio permaneça estável, resistente a influências externas. A infraestrutura de TI é resiliente e garante suporte para operações de negócios pelo período antecipado no futuro.

Confiabilidade : se o negócio cresce constantemente por cinco anos, enquanto a infraestrutura permanece estável. A confiabilidade permite que as empresas se concentrem em suas principais competências em uma infraestrutura sustentável.

2. Escalabilidade intangível


Isso se refere à capacidade inerente de suportar crescimento não-físico. O crescimento dos negócios é fundamental para manter a participação no mercado e a competitividade. O crescimento pode ser interno e externo, com base em fatores e estratégias aceitos. Abaixo estão alguns exemplos:

* Novos produtos a serem hospedados na mesma plataforma / solução
* Marcas adicionais (para organizações multimarcas)
* Processos de negócios adicionais

Qual é a diferença entre físico e intangível? Embora ambos possam parecer semelhantes, eles não são idênticos. A solução pode ser fisicamente sustentável, mas pode não suportar crescimento intangível. Por exemplo, se o volume de operações aumentar, a solução deverá ser fisicamente estável. Se uma empresa introduzir novos produtos, ela será classificada como crescimento intangível e a solução deverá ter funções e processos escalonáveis ​​(não físicos) para suportar esse crescimento.

Por que precisamos definir requisitos de escalabilidade intangível? A necessidade de definir requisitos para escalabilidade intangível está se tornando necessária, pois é um pré-requisito que suporta o crescimento. Os requisitos para escalabilidade, de fato, são um reflexo do desejo de crescimento da organização e da necessidade de uma solução para apoiar o crescimento com mudanças mínimas e interrupção nas atividades diárias.

COMO DETERMINAR OS REQUISITOS DE ESCALABILIDADE?


Não há explicação simples ou metodologia simples para determinar os requisitos de escalabilidade. É extremamente subjetivo e relativamente difícil determinar as condições e os recursos necessários para tomar uma decisão sustentável. Essa é uma das razões pelas quais isso é chamado de "análise". Abaixo está uma abordagem que sempre funcionou para o autor. No entanto, isso não é adequado para todas essas situações.

Escalabilidade física:

1. Identifique os componentes físicos da solução que você deseja dimensionar.
2. Defina funções que podem tornar um componente específico escalável.
3. Defina parâmetros para funções de medição.
4. Defina os valores de cada parâmetro definido acima. Estes são requisitos não funcionais (definição de parâmetro).

As respostas a essas perguntas precisam ser formuladas do ponto de vista dos negócios, e não do ponto de vista da TI.

Um exemplo:

Situação: Sua organização é uma instituição financeira que emite cartões de crédito para os clientes. Ela está fazendo esforços para transformar sua tecnologia e sistemas.

Que perguntas devem ser feitas para começar a analisar a identificação da escalabilidade física? Para simplificar, reduzimos o escopo. A seguir estão alguns exemplos:

1. Qual é o volume atual de clientes, transações, contas etc.?
2. Quais volumes são esperados dos sistemas no primeiro dia?
3. Qual é o crescimento anual em volume (clientes, transações, etc.) esperado nos próximos três a cinco anos?

A pergunta 1 deve ser feita para determinar o estado atual.

A pergunta 2 determina o requisito imediato desde o primeiro dia de vida (operação).

A pergunta 3 é uma contribuição para determinar o requisito de escalabilidade de uma solução. Por exemplo, se uma organização prevê um aumento de 10% em novos clientes por ano e um crescimento anual de 15% nas transações, os requisitos de escalabilidade podem ser os seguintes:

1. A solução deve suportar um crescimento anual de 10% de novos clientes.
2. A solução deve suportar um crescimento anual de 15% do número anterior de transações.

No entanto, neste exemplo, eu sugeriria definir ainda mais as expectativas de que o requisito implique "suporte" (ou seja, a tecnologia não exige nenhuma alteração para lidar com o crescimento)?

Escalabilidade intangível:

Isso é crescimento dos negócios, não o desenvolvimento de tecnologia, infraestrutura ou logística. Isso varia de uma empresa para outra e depende das especificidades da área de assunto. Portanto, o conhecimento dos negócios e da indústria, desenvolvido por meio de pesquisas especializadas, é a chave para determinar os parâmetros de escalabilidade no nível de detalhe. No entanto, uma estratégia de negócios de alto nível é formulada com base nos detalhes da definição da visão da organização.

Um exemplo:

Situação: Sua organização é uma instituição financeira que emite cartões de crédito para seus clientes. Ela está fazendo esforços para transformar sua tecnologia e sistemas.

Que perguntas devem ser feitas para iniciar a análise da identificação da escalabilidade intangível? Para simplificar, reduzimos o escopo. A seguir estão alguns exemplos:

1. A organização planeja lançar novos produtos (por exemplo, pagamentos móveis, produtos como Apple Pay ou Bitcoin)?
2. Existem futuras aquisições ou fusões com entidades semelhantes?
3. Qual é a estratégia da organização (ou seja, novos canais de distribuição, acesso a novos mercados etc.)?

Essas perguntas ajudam a determinar o crescimento intangível. Por exemplo, se uma organização planeja lançar uma nova marca de produtos de cartão de crédito, os requisitos de escalabilidade são os seguintes:

1. A solução deve poder colocar duas marcas diferentes: Marca A e Marca B.
2. Ambas as marcas devem poder usar os mesmos sistemas e processos.

Esses requisitos são de alto nível e são dados apenas como exemplo. Em um cenário real, eles devem ser estudados com mais detalhes.

Não existe um método simples para determinar requisitos não funcionais. É relativamente difícil determinar as condições e funções necessárias para criar uma solução escalável.

__________________________________________________________
Postado por Adam Alami, Ph.D., Copenhagen IT University

Adam Alami é PhD na Universidade de TI de Copenhague. Adam tem uma rica experiência em tecnologia da informação. Ele começou sua carreira como desenvolvedor de software e depois passou para a análise de negócios e gerenciamento de projetos. Seus 20 anos de experiência estão associados a grandes projetos de transformação de negócios e melhoria de processos. Ele acumulou boas práticas ricas em grandes projetos no campo de transformação corporativa, integração, migração e modernização de sistemas.

Ele tem uma série de realizações acadêmicas. Ele é bacharel em engenharia de software pela Universidade de Quebec, em Montreal (UQÀM) e mestre em engenharia da computação pela Universidade de Tecnologia de Sydney (UTS).

E-mail: adamalami2016@gmail.com

Publicado em Modernanalyst.com

Source: https://habr.com/ru/post/pt415773/


All Articles