Etiqueta: usuarios

  • Sin Usuarios

    Without users (User Proxies)

    Without Users (User Proxies)

    Ideally, when we pretend to develop a software, we need to talk with one or more real users who are part of the customer team. But, the reality has the bad habit of punching Dilbert and us right in the nose and continuously we found our selves in one of two situations:

    1. We have as primary contacts, people who pretend to guess how a final user wants the software behaves when only the real user actually knows it, and yet we have limited or no access at all to them.
    2. The product is so innovating that we actually don’t have a real user in advance.

    Unfortunately, very often is difficult to get the users that we need. For example, we could be developing a product with user all over the country, but we can’t bring one (or more) of them with us, to write requirements or user stories. Or maybe we could be writing software that will be used inside our company, but somebody says that we can’t talk directly with the users.

    When we can’t get as many users as we’d like us to represent the different perspectives to the product, we have to resort to people or intermediary resources, also known as user proxies, who maybe are not users, but we need to include them in the project in order to represent the users and so deal with the two mentioned situations.

    Warning

    What I going say in rest of this post can be controversial and is subject to my personal experience but is also based on publications (that I always put at the end). This time I will focus on what characterizes each type of user proxy.

    The user proxies selection can be critical to achieving the success of a project. The experience, motivations and possible agenda of a proxy must be considered. A user proxy involved in sales will have a completely different perspective from a domain expert’s. It’s important to be aware of these differences, that is why I’ll try to provide a synthesis of what characterizes some of them.

    Proxies:

    Final users supervisors

    When we try to create internal use applications is common that middle management to be reluctant about to give full access to final users for a variety of reasons, so is very likely that you as a requirements engineer, business analyst, product owner, etc., end up dealing with supervisors and managers of the users on what you’re interested in.

    We must be very careful when we dealing with those proxies, especially in public institutions that are very bureaucratic, because this they tend to fall in bad practices that try to minimize, dissimulate or hide during their process and operations.

    On other occasions, the users’ supervisors intercede and want to represent the role of a user because they think they know more than the real users. But usually, the managers or supervisors have different usage pattern. You should be skilled enough to “turn around” that proxy and reach the final users as much as you can without offending the supervisor. In the section, What to do without users (or almost)? you can read what to do in those cases.

    Development managers, development supervisors, development directors, development leaders and similar

    This type of proxy is one the worst options unless you are writing software specifically for this type of user. Even when the intentions of this type of user sometimes are good, it’s likely this type of leader has his/her own interests and prioritize in a different way the requirements or user stories than a final user would.

    This happens because this role tends to accelerate the introduction of new technologies, or in the worst case scenario, when there is too much technical debt or a disorganized operation, s/he will try to reduce her/his workload at the slightest opportunity.

    Finally, the development managers usually don’t have experience as final users of the solution that is being built and they aren’t domain experts of interest. If a development supervisor es a real final user then you can consider him an appropriate domain expert, otherwise I advise you to avoid using her/him as a proxy if possible.

    People involved in sales

    The danger of use people involved in sales as proxies is that they usually tend to want to close a sale quickly and no matter what, which leads to a distorted vision about how a product should be built.

    If the person in sales, lost the last sale due the lack of a specific characteristic, you can be sure that those people in sales instantly will include as a high priority requirement that characteristic or functionality. Another common situation is people in sales, according to the potential sale earning or commission tends to promise too much even with a small knowledge about other domains, with short-term benefit vision.

    A company that places too much emphasis on lost sales or short-term profits may lose track of its vision and long-term strategies.

    However, the people in sales can be a great conduct to reach final users and we should use them in that way. Ask to them introduce you to customers, join them in sales visits, in sales shows and promotion events, learn about how the products or services of your organization are exhibited and then talk to the users.

    Domain experts

    The domain experts are those who give us what we call experts’ domain and can be very important due to the knowledge that they have in the field of our product. Of course, some domains are more complex than others.

     

    The domain experts can be great resources, but their usefulness is very dependent on whether they are current users or former users of the type of solution that we are creating. Knowing this we must be aware that this kind of proxies can make us create products aimed to their domain level, and if we are not careful we could end creating a too much complex software for the real users level.

    Marketing groups

    People or groups focused on marketing tend to focus more on the market or in niches themselves, rather than on individual users, so the result is that they concentrate more on quantities of functionalities than on the quality of them.

    But do not dismiss our marketing friends, in many cases, they can provide us with valuable high-level information that can help us to establish relative priorities, but we shouldn’t expect a detailed vision for our requirements or user stories.

    Former users

    A former user can be a great proxy if their experience is recent. However, as with other proxies, we must be careful and consider that the objectives and incentives of our proxy are aligned with those of the current final user.

    Customers

    Customers are the ones who make the purchasing decision; they aren’t necessarily final users of the product. It’s important to consider the wishes of your customers because they, not your users, are the ones who sign the check to buy the solution unless of course, the final users and the clients are the same people.

    The features of a product like this should be enough so that the end users do not shout too loudly; but they must also be those that attract the customer who makes the purchasing decision.

    Trainers and technical support

    Trainers and technical support personnel may seem like logical options to use as user proxies. They spend their days talking to real users, so they must surely know what the users themselves want, right? Well, unfortunately, if you use a trainer as your user proxy, you will end up with a system, that is, easy to train.

    Similarly, if you use someone from technical support, you will end up with a system that is very compatible and easy for supporting. For example, someone from technical support can assign a low priority to advanced features that he anticipates will increase support work.

    While ease of training and compatibility are good objectives, it’s most likely that they aren’t what a true final user would prioritize.

    System analysts and business analysts

    Many business analysts and systems analysts make good user proxies because they have a foot in the world of technology and the other one in the processes and operation domain. An analyst who can balance this background and who strives to talk to real users is often an excellent proxy user.

    A problem that some analysts present is that they prefer to think about a detected problem instead of research about it to solve it. Another problem that I’ve encountered occasionally is they tend to spend too much time on project’s upfront tasks.

    What to do without users (or almost)?

    When access to users is limited

    When the team needs it to work with a proxy, it’s important to be very quick and establish with the sponsors, the proxy and management with sufficient authority, the fact that it’s necessary to establish a small “advanced post” group formed by real users, in order to evaluate any initiative, theory or assumption, and achieve validated knowledge as soon as possible.

    Be efficient and transparent by scheduling constant meetings of maximum established duration and at a constant pace to facilitate meetings and minimize external obstacles, making it clear from the beginning that the objective is to identify, write and prioritize user stories or requirements.

    If there are really no users available

    When a user is not really available and must use a user proxy, a valuable technique is using more than one user proxy. This helps to reduce the likelihood of building a system that only satisfies one person’s needs. When you use more than one user proxy, make sure use different types of proxy. For example, combine a domain expert with someone from marketing instead of using two domain experts.

    If you are developing software that competes with other commercial products, you can use the competitive products as a source of some user stories or requirements. What features of the products of the competition are mentioned in the reviews? What features are discussed in the online newsgroups? Are the features discussed because they are too complex to use or because they are very useful?

     

    Another technique that you can use when you’re working with a user proxy instead of real users, is releasing the product as soon as possible. Even whether you call it preliminary version, beta, early, etc., try to put it in the hand of the users as soon as possible and identify inconsistencies between the user proxy thoughts and the actual real users, so you also get validated knowledge. Even better, once the software is in the hand of one or more of the first users, you now have a communications path to these real users and can use that to talk with them about upcoming features.

    Can you do it your self?

    When you can’t find or access to a real user, don’t fall into the trap of thinking you know the users’ mind and you don’t need or you can ignore a user proxy. Even if each type of user proxy has some kind of inconvenience that makes her/him less desirable than a real user, most developers have even more deficiencies to pretend to be a real user.

    In general, developers don’t have marketing knowledge that allows them to understand the features’ relative value, they don’t have the same amount of contact with the customer as the salespeople, they are not domain experts, etc.

    Do you know another type of user? Do you have a different opinion about the proxies presented here?

    *Sorry about my English, I’m not natural speaker :p. Don’t be grumpy and help me to improve 😀

    Other links of interest:

    Agile’s Origins and Values
    The Agile Team Approach

    If you want to know more, these are some recommended books:

    Any help is welcome to help us keeping this effort alive! PayPal Account BTC (Bech32): bc1qx6f8nczr5ram6d57svlnsfmk5mhu6lsr9q7mxw BTC: 1DDcWbphm1bKMvWruotNKLSM8ypVaHg5Nv ETH: 0x58D137fb142D946bCD815f0ded0fa3b3fE5AB3BF

    No Comment
  • Sin Usuarios

    Sin Usuarios (Proxies de Usuario)

    El ideal y la realidad

    Idealmente, cuando se pretende desarrollar un software, debemos conversar con uno o más usuarios reales que forman parte del equipo de un cliente. Pero, la realidad tiene la mala costumbre de golpearnos a nostros y a Dilbert justo en la nariz y continuamente nos podemos encontrar en una de dos situaciones:

    1. Tenemos como contactos primarios a personas que pretenden adivinar cómo un usuario final quiere que se comporte el software, cuando solo un usuario real lo sabe, y aun así tenemos acceso limitado a ellos o ningún acceso a ellos.
    2. El producto es muy innovador y no tenemos un usuario real existente de antemano.

    Desafortunadamente, a menudo es difícil obtener los usuarios que necesitamos. Por ejemplo, podríamos estar desarrollando un producto con usuarios en todo el país, pero no podemos traer uno (o más) de ellos con nosotros para escribir requerimientos o historias de usuario (user stories). O podríamos escribir software que se utilizará dentro de nuestra empresa, pero alguien nos dice que no podemos hablar con los usuarios.

    Cuando no podemos obtener tantos usuarios como desearíamos para representar las diferentes perspectivas del producto, tenemos que recurrir a personas o recursos intermediarios, también conocidos como proxies de los usuarios o user proxies, que pueden no ser usuarios, pero que debemos incluir en el proyecto para ayudar a representar a los usuarios y así lidiar con las dos situaciones mencionadas.

    Advertencia

    Lo que diré a continuación en el resto de esta entrada puede ser polémico y está sujeto a mi experiencia personal pero también en base a publicaciones (que siempre pongo al final). En esta ocasión me enfocaré en aquello que caracteriza a cada tipo de proxy de usuario.

    La selección de proxies de usuario puede ser crítica para lograr el éxito de un proyecto. La experiencia, motivos y posible agenda de los proxies de usuario debe considerarse. Un proxy de usuario involucrado en ventas tendrá una perspectiva completamente diferente a la de un experto de dominio. Es importante estar al tanto de estas diferencias, por lo que trataré de proporcionar una síntesis de lo que caracteriza a algunos.

    Proxies:

    Supervisores de usuarios finales

    Cuando se intentan crear aplicaciones de uso interno es común que los mandos medios se muestren reacios a dar un acceso completo a los usuarios finales por una variedad de razones, por lo que es muy probable que usted como ingeniero de requerimientos, analista de negocios, product owner, etc., termine lidiando con supervisores o gerentes de los usuarios de su interés.

    Hay que tener mucho cuidado cuando debemos tratar con estos proxies sobre todo en instituciones públicas muy burocratizadas, porque estas tienden a caer en malas prácticas que intentan minimizar, disimular u ocultar durante sus procesos y operación.

    En otras ocasiones los supervisores de usuario interceden y quieren representar el rol de usuario porque creen que saben más que los usuarios reales.  Pero usualmente los gerentes o supervisores tienen patrones de uso diferentes a los usuarios. Usted deberá ser lo suficientemente hábil para “dar la vuelta” a este proxy y llegar tanto como sea posible a los usuarios finales sin ofender al supervisor. En la sección ¿Que hacer sin usuarios (o casi)? puede ver que hacer casos así.

    Gerentes de desarrollo, supervisor de desarrollo, directores de desarrollo, líderes de desarrollo y similares

    Este tipo de proxy es uno de las peores opciones, a menos que usted esté escribiendo software específicamente para este tipo de usuario. Incluso cuando las intenciones de este tipo de proxy a veces sean buenas, lo más probable es que este tipo de líder tenga sus propios intereses y priorice de manera diferente, los requerimientos o historias de usuario, a como lo haría un usuario final.

    Esto sucede porque este rol tiende a querer acelerar la introducción de nuevas tecnologías, o en el peor de los casos, cuando se tiene mucha deuda técnica o una operación desorganizada, tratará de disminuir su carga de trabajo a la menor oportunidad.

    Finalmente, los encargados de desarrollo no suelen tener experiencia como usuarios finales de la solución que se está construyendo y no son expertos del dominio de interés. Si un encargado de desarrollo es realmente un usuario final entonces considérelo un experto de dominio apropiado, de lo contrario le aconsejo evitar en lo posible usarlo como proxy.

    Involucrados en ventas

    El peligro de utilizar a personas involucradas en ventas como proxies, está en que estas usualmente tienden a querer cerrar una venta rápido y a como dé lugar, lo cual lleva a una visión distorsionada acerca de cómo un producto debe ser construido.

    Si la persona en ventas, perdió la última venta por la carencia de una característica específica tenga por seguro que esa personas de ventas incluirá instantáneamente como requerimiento de alta prioridad a esa característica o funcionalidad. Otra situación común es que las persona en ventas, de acuerdo a la utilidad y comisión potencial de una venta específica, tienden a prometer demasiado incluso con poco conocimiento de otros dominios, con una visión de beneficio a corto plazo.

    Una compañía que pone demasiado énfasis en ventas perdidas o por beneficios a corto plazo puede perder la pista de su visión y estrategias de largo plazo.

    Sin embargo, las personas en ventas, pueden ser un gran conducto para llegar a usuarios finales y hay que usarlos de esa manera. Pídales que lo presenten con los clientes, acompáñelos a visitas de venta, a los shows y ferias de promoción, aprenda acerca de cómo se exhiben los productos o servicios de su organización y entonces hable con los usuarios.

    Expertos de dominio

    Los expertos de dominio, son aquellos que nos dan lo que llamamos la opinión de expertos, y pueden ser sumamente importantes debido al conocimiento que poseen en el área de nuestra aplicación. Desde luego algunos dominios son más complejos que otros.

     

    Los expertos de dominio pueden ser grandes recursos, pero su utilidad es muy dependiente de si son usuarios actuales o antiguos usuarios del tipo de solución que estamos creando. Sabiendo esto hay que estar conscientes que este tipo de proxies nos pueden hacer crear aplicaciones dirigidas a su nivel de dominio, y si no se tiene cuidado podríamos caer en crear un software demasiado complejo para el nivel de nuestros usuarios reales.

    Grupos de mercadeos (marketing)

    Las personas o grupos enfocadas al mercadeo tienden a concentrarse más en el mercado o en nichos en si, más que en usuarios individuales, por lo que el resultado es que se concentran más en cantidades de funcionalidades que en la calidad de las mismas.

    Pero no descartemos a nuestros amigos de marketing, en muchos casos nos pueden proveer de valiosa información de alto nivel que nos puede ayudar sobre todo a establecer prioridades relativas, pero no esperemos una visión detallada para nuestros requerimientos o historias de usuario.

    Antiguos usuarios

    Un antiguo usuario puede ser un gran proxy si su experiencia es reciente. Sin embargo, como sucede con otros proxies, hay que tener cuidado y considerar que los objetivos e incentivos de nuestro proxy se alineen con los del usuario final.

    Clientes

    Los clientes son los que toman la decisión de compra; ellos no son necesariamente usuarios finales del software. Es importante considerar los deseos de sus clientes porque ellos, no sus usuarios, son los que firman el cheque para comprar la solución, a menos que por supuesto, los usuarios finales y los clientes sean las mismas personas.

    Las características de un producto como este deben ser suficientes para que los usuarios finales no griten demasiado fuerte; pero también deben ser aquellas que atraen al cliente que toma la decisión de compra.

    Capacitadores y soporte técnico

    Los capacitadores y el personal de soporte técnico pueden parecer opciones lógicas para utilizar como proxies de usuario. Pasan sus días hablando con verdaderos usuarios, por lo que seguramente deben saber lo que quieren los usuarios mismos ¿correcto?. Bueno, desafortunadamente si usa un capacitador como su proxy de usuario, terminará con un sistema, eso es sí, fácil de capacitar.

    Del mismo modo, si utiliza a alguien de soporte técnico, terminará con un sistema que es muy compatible y fácil de soportar. Por ejemplo, alguien de soporte técnico puede dar baja prioridad a las funciones avanzadas que él anticipa que aumentarán el trabajo de  soporte.

    Si bien la facilidad de capacitación y la compatibilidad son buenos objetivos, lo más probable es que no sean lo que un usuario final verdadero priorizaría.

    Analistas de sistemas y analistas de negocio

    Muchos analistas de negocios y sistemas hacen buenos proxies de usuario porque tienen un pie en el mundo de la tecnología y un pie en el dominio de los procesos y la operación. Un analista que puede equilibrar estos antecedentes y que se esfuerza en hablar con los usuarios reales suele ser un excelente usuario proxy.

    Un problema que presenta algunos analistas es que prefieren pensar en un problema detectado en lugar de investigarlo para solucionarlo. Otro problema que he encontrado ocasionalmente es que tienden a pasar demasiado tiempo en las actividades de antemano de un proyecto.

    ¿Que hacer sin usuarios (o casi)?

    Si el acceso a los usuarios es limitado

    Cuando es necesario que el equipo trabaje con un proxy es importante ser muy rápido y establecer con los patrocinadores, el proxy y gerencia con suficiente autoridad, el hecho de que se requiere establecer un grupo pequeño “de avanzada” formado por usuarios reales, con el fin de evaluar cualquier iniciativas, teorías o suposiciones, y lograr conocimiento validado los más pronto posible.

    Sea eficiente y transparente programando reuniones constantes de duración máxima establecida y a ritmo constante para facilitar las reuniones y minimizar los obstáculos externos, dejando muy claro desde el inicio que el objetivo es identificar, escribir y priorizar historias de usuario y requerimientos.

    Si realmente no hay usuarios disponibles

    Cuando realmente no hay un usuario disponible y debe recurrir a un proxy de usuario, una técnica valiosa es usar más de un proxy de usuario. Esto ayuda a reducir la probabilidad de construir un sistema que satisfaga solamente las necesidades de una persona. Cuando use más de un proxy de usuario, asegúrese de usar diferentes tipos de proxy. Por ejemplo, combine un experto de dominio con alguien de marketing en lugar de usar dos expertos de dominio.

    Si está desarrollando un software que compita con otros productos comerciales, puede usar los productos de la competencia como fuente de algunas historias de usuario o requerimientos. ¿Qué características de los productos de la competencia se mencionan en las reseñas? ¿Qué características se discuten en los grupos de noticias en línea? ¿Se discuten las características porque son demasiado complejas de usar o porque son muy útiles?

     

    Otra técnica que puede usar cuando trabaja con un proxy de usuario en lugar de usuarios reales, es lanzar el producto lo antes posible. Incluso si la versión se llama preliminar, beta, temprana, etc., trate de ponerla en manos de los usuarios lo más pronto posible e identificar inconsistencias entre lo pensando por su proxy de usuario y sus usuarios reales, así también obtendrá conocimiento validado. Incluso mejor, una vez que el software está en manos de uno o más de los primeros usuarios, usted ahora tiene una ruta de comunicación para esos usuarios reales y puede usar eso para hablar con ellos sobre las próximas funciones.

    ¿Puede hacerlo usted mismo?

    Cuando no puede encontrar o acceder a un usuario real, evite caer en la trampa de pensar que conoce las mentes de sus usuarios y no necesita o puede ignorar a un proxy de usuario. Si bien cada tipo de proxy de usuario tiene algún tipo de inconveniente que lo hace menos deseable que un usuario real, la mayoría de los desarrolladores presentan aún más deficiencias para pretender ser un usuario real.

    En general, los desarrolladores no tienen conocimiento de marketing que les permita comprender el valor relativo de las características, no tienen la misma cantidad de contacto con el cliente que los vendedores, no son expertos en el dominio, etc.

    ¿Conoce otro tipo de usuario?¿Tiene una opinión diferente de los proxies que se presentaron aquí?

    Otros enlaces de interés:

    El Origen Y Los Valores De Agile
    El Enfoque del Equipo Agile
    Planeación, Cono de Incertidumbre y Estimaciones en IT

    Si quire saber más estos son algunos libros recomendables:

    No Comment