Páginas

miércoles, 19 de noviembre de 2008

Enterprise 2.0 o la web social en la empresa (Parte I)

Parte II
Parte III
Parte IV
Parte V

Hace unos meses que ando investigando sobre Enterprise 2.0 y la web social en la oficina. Aprovecho para publicar aquí algunas anotaciones que he ido recogiendo.

Enterprise 2.0 (E2.0) no es más que la utilización de las últimas tecnologías y tendencias dentro de la empresa. Si con la web 1.0 las empresas se orientaron a implantar herramientas Enterprise 1.0, ahora con la Web 2.0 las empresas deben enfocarse en las nuevas herramientas Enterprise 2.0 (que son una extensión de las herramientas Web 2.0).

Enterprise 2.0 no es únicamente un cambio tecnológico, principalmente es un cambio en las prácticas y la cultura dentro de la empresa.

Para Andrew McAfee, “padre” del término “Enterprise 2.0”: "Enterprise 2.0 is the use of emergent social software platforms within companies, or between companies and their partners or customers. Social software enables people to rendezvous, connect or collaborate through computer-mediated communication and to form online communities.“

Otras definiciones de “Enterprise 2.0” en http://www.e20portal.com/index.php/7-essential-enterprise-2.0-definitions.html

Enterprise 1.0 vs. Enterprise 2.0
JerarquizadaOrganización horizontal
Flujo de información top-downLa información fluye de arriba abajo y viceversa
BurocraciaAgilidad en la creación de contenidos
Equipos localesEquipos globales
OpacidadTransparencia



Según un informe de AIIM http://www.aiim.org/ (“Enterprise 2.0: Agile, Emergent & Integrated”) basado en una encuesta a 441 personas, éstas definen E2.0 como:

  • Aplicación de las tecnologías y pautas Web 2.0 en la empresa
  • Nueva forma de Enterprise Content Management
  • Colaboración entre empleados
  • El uso de nuevas plataformas de software social en las empresas
  • Inteligencia colectiva en la empresa
  • Nueva forma de gestión del conocimiento
  • Una nueva forma de trabajar centrada en el usuario
  • Democratización de la información

Cómo aparecer en la primera posición de Google

Había una vez una empresa que deseaba aparecer en las primeras (perdón, “en la primera”) posición de Google. Ofrecía servicios, así que deseaba que los potenciales clientes al teclear alguno de los servicios que ofrecía, su web apareciera en la primera posición. Sus servicios digamos que, para hacerlo más fácil, eran servicios relacionados con Internet. El empresario tenía claro que debía hacer para posicionar su empresa, había leído decenas de webs donde expertos en posicionamiento ofrecían ideas y decenas de libros donde se explicaba cómo conseguir que tu web aparezca la primera en Google y así multiplicar tus ventas.

El primer e importantísimo paso era definir un listado de palabras clave. Las palabras por las que batallaría por aparecer el primero, las palabras por las que pagaría en Adwords y así aparecer en los enlaces patrocinados. El empresario se reunió con su equipo de confianza y, después de una larga jornada de brainstorming, dieron con las palabras exactas, ni más ni menos que los servicios que ofrecían: usabilidad, web 2.0, programación web, accesibilidad, diseño web, estándares, e-Business, Intranets… y, cómo no, posicionamiento web. Sí, ya eran expertos en posicionamiento web, ya que todos esos servicios van unidos, ¿no? ¿O una empresa que sabe de usabilidad no sabe de posicionamiento web o de programación web? Pero bueno, esto es harina de otro costal.

El empresario se gastó unos cuantos euros en AdWords y en contratar los servicios de un SEO, que se preocupó de posicionar la web de la empresa para las búsquedas de las palabras clave definidas por su cliente. Pasaron los meses y resultó que no se consiguió el número de visitas deseadas, mejor dicho, no consiguió el ROI deseado. Más visitas que antes tenía, pero no aportaban facturación para su negocio. Al empresario le resultó extraño, aparecía en la primera página de Google al buscar “posicionamiento web”, “web 2.0” y “usabilidad”.

Un buen día, cuando nuestro amigo estaba desesperado y acababa de prescindir de los servicios del SEO, se topó con un viejo amigo que trabajaba en el departamento de márketing de una gran editorial. Nuestro amigo le explicó el porqué de su estado de ánimo. Su viejo amigo no tenía conocimientos técnicos, pero le confesó que precisamente estaba investigando el tema de salir en las primeras posiciones de Google, ya que pensaba que sería una buena estrategia de ventas para su empresa editorial. Nuestro amigo le preguntó si cuando buscó “posicionamiento web” en Google encontró la web de su empresa. Su amigo contestó: “perdona, no sé que es el posicionamiento web. Yo busqué en ‘cómo aparecer en la primera posición de google’”.

martes, 18 de noviembre de 2008

Cómo crear un aplicación web. Fase IV. Programación.

Fase I. Toma de requisitos
Fase II. Prototipos
Fase III. Diseño gráfico + Diseño software

Cuando ya tengamos las pantallas de la aplicación maquetadas en HTML y la base de datos modelada podemos pasar a codificar (programar) la aplicación.

Dividiremos la aplicación en diferentes capas (N-capas). Cada una de esas capas se comunicará con las demás y será independiente de las demás. ¿Qué son las capas? Simplemente agrupación de clases y funciones.

Mi recomendación es que nuestra aplicación tenga las siguientes capas:

  • Capa de acceso a datos: lanzará consultas a la base de datos (o el repositorio de datos sobre el que debamos atacar, ya sea base de datos, archivos de texto o archivos de cualquier tipo). Debemos crear una consulta para cada uno de los casos de uso definidos anteriormente, por ejemplo, crear usuario, añadir fotografía, modificar perfil, etc. Las consultas sobre una base de datos relacional se realizan en el lenguaje estándar SQL, es muy recomendable crear procedimientos almacenados (no son más que funciones con parámetros de entrada/salida) en la propia base de datos y minimizarlos a la mínima expresión (select, delete, update, insert).
  • Capa de negocio: Es el lugar donde se lleva a cabo el core de la programación, donde se transforma los datos obtenidos por la capa de datos en datos que podrán ser mostrados por la capa de presentación, y viceversa.
  • Capa de presentación: en el caso de las aplicaciones web, la capa de presentación es la que muestra datos en la pantalla y recoge datos introducidos en los formularios.
  • Capa de acceso a aplicaciones de terceros: si nuestra aplicación necesita acceder a datos de terceros (APIs de aplicaciones públicas, XML de datos de otra web, servicios web, etc.) es recomendable que lo centralicemos en una nueva capa. De esta forma si cambiamos de proveedor o cambiamos la forma de obtener esos datos, será totalmente transparente a las demás capas.

Mi recomendación es ir programando las capas en este orden: primero el acceso a datos y de esa forma crear una batería de pruebas para comprobar si los datos se guardan correctamente en la base de datos. Una vez está testeado, crear la capa de negocio y continuar con las pruebas, para acabar con la capa de presentación. Si hemos realizado las pruebas correctamente y, puesto que ya tenemos los prototipos maquetados en HTML, la programación de capa de presentación será muy sencilla y rápida.

Todo este proceso puede dividirse en partes independientes e ir realizando entregas al cliente y así evitar una entrega única al final del proyecto.

viernes, 14 de noviembre de 2008

Planificación en los proyectos empresariales 2.0

Estas últimas semanas he leído varias noticias que me han inquietado. Por un lado la muy cacareada petición de financiación a la comunidad de usuarios para poder seguir emitiendo de Mobuzz (aquí, aquí, aquí o aquí). Por otro lado, la noticia (rumores) que Facebook necesita otra inyección de capital (sí, incluso después de la que le proporcionó la venta del 1,6% a Microsoft por 240 millones de dólares). Y cómo no, la ristra de despidos en las empresas tecnológicas, dando que pensar que estamos en una nueva “burbuja.com”.

Cómo ya comenté en este post, tengo dudas razonables sobre los planes que tienen ciertas empresas 2.0 como Twitter o Facebook al respecto de monetizar su éxito.

Estuve hablando sobre estas inquiteudes con mi buen amigo Carlos Sánchez (Técnico de Creación de Empresas en Barcelona Activa). Charlamos sobre la importancia de tener un buen plan de negocio y estar preparado tanto para el fracaso como para el éxito cuando te inicias en un nuevo proyecto empresarial. Estar preparados por si el éxito nos sorprende y, en ese momento, saber confiar en expertos para que no asesoren en la gestión del éxito.

A partir de esa charla, y teniendo en cuenta la experiencia que atesora Carlos en el asesoriamiento a emprendedores, le propuse que escribiera un artículo sobre la planificación en los proyectos empresariales 2.0. Aquí lo tenéis:

La planificación en los proyectos empresariales 2.0

Cuando hablamos de creación de empresas, Internet y financiación, son muchos los matices que debemos tener en cuenta y, con ellos, de la mano, los peligros que acechan a cualquier proyecto empresarial en su camino hacia la viabilidad. Como en todo aquello que funciona y además tiene eco mediático, el peligro de quedarse en el titular y no entrar en la letra pequeña es muy elevado. Y es que actualmente somos testigos del éxito de las redes sociales, de la llamada Web 2.0. Nombres como Facebook, LinkedIn o Xing nos son cada vez más familiares y somos muchos los que formamos parte activa o cuanto menos testimonial. Y es que precisamente, estas redes sociales basan su éxito y su enorme potencial en su capacidad para generar usuarios, es decir, en su capacidad para acumular datos y más datos sobre millones de personas, teniendo acceso directo o indirecto a aspectos tales como la edad, la formación, los gustos musicales, sus actividades de ocio, sus viajes o la gente con la que se relacionan. En el caso de proyectos empresariales basados en Internet, en la inmensa mayoría de los casos, el cálculo del valor y el potencial de dicho proyecto residen en su capacidad para generar usuarios. Generalmente, inversores privados o entidades financieras piden previsiones sobre cuántos usuarios podrá acumular el proyecto en los primeros dos o tres años de actividad. Pero, ¿qué ocurre cuando ese proyecto, convertido ya en realidad, acumula usuarios pero no genera los ingresos necesarios para sostenerse? En mi opinión, se pone de manifiesto la falta de previsión y planificación durante el proceso de desarrollo y maduración de la idea, durante la fase de elaboración del plan de empresa.

Hace poco salió a la luz el caso de Mobbuz, una plataforma de TV on-line que pese a tener una cantidad nada despreciable de fieles seguidores, había lanzado una petición desesperada a sus usuarios: una donación para poder mantener la web; de lo contrario se verían obligados a cerrarla. ¿Cómo puede ser que una web con tal cantidad de usuarios esté condenada al cierre? En otras palabras, ¿cómo es posible que una empresa que cumple con las previsiones que auguraban su viabilidad y rentabilidad resulte no ser rentable? Muy sencillo, simplemente el referente para determinar la viabilidad era erróneo, y además las expectativas de ingreso derivadas también. Y es que el silogismo usuarios igual a publicidad igual a ingresos no siempre se cumple. Alcanzar una cifra considerable de usuarios no implica que necesariamente la publicidad y, por tanto los ingresos, lleguen solos. Parto de la base de que un buen producto tiene que aportar valor a su potencial público objetivo, el cual a cambio de dicho valor tiene que estar dispuesto a pagar por ello, de manera directa o indirecta. ¿Estaríamos dispuestos a pagar por los servicios que nos ofrece actualmente Facebook? La mayoría seguramente no. Pero, ¿y si resulta que cuando en el muro de un amigo le explico que estoy buscando piso y automáticamente me aparece a la derecha el anuncio de una agencia a través de la cual encuentro el piso que estoy buscando? Entonces pensaré que Facebook no solamente es útil para relacionarme con mis amigos sino que además me ofrece un valor añadido: me ayuda a encontrar lo que busco. El problema es que no todas las redes sociales o las plataformas o webs 2.0 son tan buenas como para poder generar no sólo una cantidad significativa de usuarios con sus respectivos datos sino de proporcionar la calidad suficiente en esos datos.

Es importante cuantificar qué cantidad de usuarios podemos alcanzar en el primer año de actividad. Pero más importante es prever qué haremos en el caso que alcancemos ese número de usuarios. Dar por hecho que los ingresos por publicidad serán suficientes para sostener el negocio es mucho suponer en la mayoría de los casos. Es necesario escenificar diferentes escenarios, buscar y contemplar ingresos alternativos, dimensionar correctamente los costes fijos de la empresa y conocer en todo momento el nivel de ingresos necesarios para cubrirlos. Si desarrollamos y pivotamos un proyecto de negocio basado en Internet sobre la única base de los usuarios, estaremos tomando un referente equívoco que, por lo tanto, nos llevará a decisiones inadecuadas. Creceremos rápidamente para poder dar respuesta al nivel de usuarios que tenemos, contratando más personal, incrementando el gasto en publicidad y marketing y en definitiva incurriendo en costes adicionales que no podrán ser asumidos por nuestros ingresos. Hasta el momento en que el nivel de costes fijos será tan elevado que nuestra capacidad para hacer frente a nuestras necesidades de tesorería será muy limitada. En ese momento nos veremos obligados a soluciones imaginativas como la de pedir donaciones a nuestros usuarios o a algunas más tradicionales, como la de cerrar la empresa.

Algunos apuntes para planificar bien el proyecto empresarial

La elaboración del plan de empresa nos ayudará a desarrollar y madurar nuestra idea de negocio y a reflexionar sobre todos aquellos aspectos de nuestro proyecto que afectan de manera significativa a su viabilidad. Además de dedicar tiempo al plan de empresa en líneas generales (definición del negocio, público objetivo, elementos diferenciadores, análisis del mercado y de la competencia, plan económico-financiero, etc.), existen algunos puntos de vital importancia en el caso de empresas basadas en Internet:

Definir correctamente el público objetivo: teniendo en cuenta que el objetivo de la empresa deber ser la viabilidad y, por tanto, la generación de ingresos, debemos ser conscientes de quiénes son realmente nuestros potenciales clientes. Obviamente, el negocio debe estar orientado hacia los usuarios, haciéndolo atractivo hacia ellos, pero a no ser que se trate de una plataforma de pago, debemos determinar claramente de dónde obtendremos los ingresos. Si nuestra web es capaz de atraer a usuarios por sus contenidos o utilidad, ¿quién podría estar interesado en darse a conocer u ofrecer sus servicios entre esos usuarios? Y, atención, porque la publicidad no es la única vía. Es importante apostar por soluciones creativas como puede ser la cooperación empresarial o el intercambio de servicios. Por ejemplo, ofrecer promociones, cupones de descuento o condiciones preferentes.

Dividir el horizonte temporal de la empresa en fases: los proyectos empresariales basados en Internet quizás son aquellos en los que resulta más evidente la necesidad de establecer una serie de fases a lo largo de los primeros meses y años de actividad. Las prioridades y las acciones a llevar a cabo van variando según va avanzando el tiempo y es importante que tengamos claras cuáles son las decisiones a tomar en cada momento. En una primera fase puede ser importante dedicar todos los esfuerzos al diseño y desarrollo de la plataforma y los usuarios están todavía en un segundo plano. En una segunda fase, puede que sea necesaria una etapa de testeo, cerrada al público en general. Una vez tengamos un flujo importante de usuarios llegará el momento de introducir el producto en la escena y, por tanto, de poner en marcha la maquinaria comercial. Es necesario quemar cada fase antes de pasar a la siguiente y ni siquiera el éxito y el cumplimiento de las previsiones antes de tiempo debería llevarnos a saltarnos fases. La improvisación en la gestión de una empresa es muy mala consejera.

Establecer objetivos realistas para cada fase: la fijación de objetivos es un elemento clave en el desarrollo de un plan de empresa. Resulta mucho más cómodo trabajar el día a día de la empresa teniendo como referencia objetivos fijados previamente. De esta manera, analizar la situación del negocio en cada momento es mucho más sencillo. Pero la fijación de objetivos sólo resulta útil si estos son realistas. No tiene sentido establecer objetivos totalmente inabarcables y tampoco objetivos fácilmente alcanzables. Es recomendable tomar como referencia otros proyectos similares, en vez de construir hipótesis sobre datos estadísticos.

Planificar los recursos estrictamente necesarios para alcanzar la siguiente fase: además de los objetivos de cada fase, debemos fijar de antemano los recursos necesarios para su consecución y para el acceso a la siguiente etapa del proyecto. Si en la primera fase debemos centrarnos en la parte tecnológica de desarrollo, deberemos construir una plantilla sobre las necesidades exclusivas de esa fase. Por ejemplo, no necesitaremos dedicar recursos ni económicos ni humanos a temas como el marketing o la gestión de usuarios. Pero sí deberemos ser conscientes de en qué momento tendremos que hacerlo.

Buscar financiación en el momento adecuado: la búsqueda de financiación tiene que ir de la mano de las distintas fases en las que se haya dividido temporalmente el proyecto. Es importante determinar claramente la inversión necesaria para cada una de las fases del proyecto, teniendo en cuenta los recursos necesarios para cada una de ellas. No tiene sentido llevar a cabo una primera ronda de financiación por la inversión total del conjunto de las fases, ya que estaremos incurriendo en unos gastos financieros innecesarios y además podemos estar quemando opciones futuras por la inmadurez inicial del proyecto. Las posibilidades de obtener condiciones más favorables aumentan cuando el proyecto está más desarrollado y los argumentos a favor de su viabilidad son más. Además, si tenemos en mente ir a buscar inversores privados, sería bueno tener en cuenta que existen inversores que además de aportar su capital, tienen experiencia y conocimientos sobre el sector en el que queremos emprender y cuyos consejos pueden ser de gran ayuda.

En definitiva, un “negocio 2.0” no difiere tanto de los negocios más tradicionales, como puede ser una librería. El hecho de que mucha gente entre a nuestra librería no asegura que ésta sea rentable, a no ser que un elevado porcentaje de los que visitan la librería, además de eso, compren libros. ¿Por qué resulta obvio que si queremos abrir una librería debemos planificar qué debemos hacer para vender los suficientes libros y que ocurrirá si no vendemos los suficientes y en cambio en un negocio basado en Internet no? Seguramente el éxito de unos pocos ha provocado expectativas sesgadas en muchos inversores, los cuales han querido encontrar su Google particular, invirtiendo dinero en proyectos sin analizar detalladamente su viabilidad y sin exigir lo suficiente a sus promotores. Pero al final lo que vale son las cuentas de la vieja y es que para que una empresa sea rentable hay que ingresar más de lo que se gasta.

jueves, 13 de noviembre de 2008

Cómo crear una aplicación web. Fase III. Diseño gráfico + Diseño software

Fase I. Toma de requisitos
Fase II. Prototipos

Llegados a este punto del proyecto, podemos empezar a trabajar en paralelo. Por un lado, los diseñadores gráficos, a partir de los prototipos creados y aceptados por el cliente, pueden crear todas y cada una de las pantallas con la línea gráfica (colores, tamaños, tipos de letra, imágenes, etc.) que finalmente tendrá la aplicación. Lo normal es que los diseñadores trabajen con programas de tratamiento gráfico como, por ejemplo, Adobe Photoshop o Freehand.

Estas maquetas se van presentando al cliente y a medida que acepta la línea gráfica de cada una de las pantallas se pueden ir maquetando en XHTML + CSS. Es importante desde este momento que la maquetación en XHTML cumpla los estándares. Para ello podemos ir chequeando nuestro código en el validador de W3C.

Paralelamente al trabajo de los diseñadores gráficos, los diseñadores de software pueden comenzar su trabajo. A partir de los requisitos y de los prototipos creados, se debe ser capaz de diseñar el software. ¿Qué significa diseñar el software?

  • Modelar la base de datos: mediante el modelo entidad – relación se crean las tablas, los campos y las relaciones entre tablas.
  • Definir los casos de uso: qué actores participan en la aplicación (por ejemplo: usuario, administrador, vendedor, generador de informes, etc.), que acciones podrán realizar (darse alta, modificar datos personales, añadir un producto al catálogo, añadir un producto a la cesta de la compra, etc.).
  • Definir los estados: cuáles son los estados en que pueden estar las diferentes entidades (un usuario puede estar registrado o sin confirmar el registro, un documento puede estar en borrador o publicado, etc.).
Por un lado ya tenemos código XHTML+CSS, por el otro únicamente tenemos definición del software “en papel” (yo suelo utilizar el Microsoft Visio ya que la mayoría de mis proyectos se acaba generando una base de datos SQL Server y código en .NET, pero un primer paso es crearlo todo con papel y lápiz).

Aunque parezca que ha pasado mucho tiempo y todavía no nos hemos puesto a programar, es tarea del responsable del proyecto hacer ver al cliente que estos pasos de definición son necesarios para conseguir un producto estable y escalable. Recuerdo lo dicho en el post anterior, estamos construyendo un edificio y en esta fase dibujamos planos y levantamos cimientos.

miércoles, 12 de noviembre de 2008

Cómo crear una aplicación web. Fase II. Prototipos

Una vez tenemos aceptados los requisitos que la aplicación deberá cumplir (ver Fase I), la persona del equipo que tome el papel de arquitecto de la información deberá crear los wireframes y/o prototipos de todas las pantallas que tendrá la aplicación. Normalmente, el wireframe se utiliza simplemente para mostrar en qué partes de las pantallas se ubicarán diferente elementos: menú, formularios, textos, listados, etc. Los prototipos se les añade funcionalidad (ya comenté una buena herramienta para construir prototipos).

El cliente deberá ir validando las diferentes secciones de la aplicación (registro de usuario, listado de imágenes, módulo de fotos, etc.). Es recomendable validar con el cliente paso a pasos, empezando por un nivel superior donde se definirán las partes comunes de toda la aplicación (menú superior, menú lateral, pie de página…).

Es muy importante hacer ver al cliente la importancia de la validación de los prototipos. A partir de su aceptación, se comenzará a programar, maquetar y construir la base de datos, por lo que los cambios a partir de ese momento suponen un mayor impacto (más tiempo = más dinero = más insatisfacción) en el desarrollo de la aplicación. Es muy común que los clientes no validen funcionalidades al 100% hasta que la aplicación está en marcha y pueden registrarse, listar resultados y, sobretodo, apretar botones. Es normal. Es nuestro trabajo lograr que lo hagan exhaustivamente en este momento y hacerles ver la importancia de esta fase el proyecto.

Éste es el momento en el que estamos trazando las líneas maestras de la aplicación. Se están dibujando los planos del edificio. Cuando el edificio esté en pie será muy, muy complicado añadir un garaje donde hay un local o un balcón donde hay una pared maestra.

lunes, 10 de noviembre de 2008

Posicionamiento en buscadores: la importancia de tener un blog

Hoy en día la visibilidad de un negocio en Internet es básica para poder llegar a los consumidores. Hoy en día, en España, ser visible en Internet es equivalente a decir ser visible en Google.

Siendo esta la situación, son muchas las empresas que deciden contratar un servicio de consultoría en posicionamiento en buscadores. En todos los proyectos de este tipo en los que he participado, una de las acciones que recomiendo de manera impetuosa es la de tener contenidos que se actualicen de forma constante en la página web del negocio y donde se expliquen temas relacionados con el negocio. Una buena opción es implementar un módulo de noticias de la compañía y del sector en alguna de las secciones de la página corporativa. Pero, para mí, la mejor opción (y la más económica) es mantener actualizado un blog de la temática de nuestro negocio. Si quieres vender bicicletas, crea un blog para cicloturistas informando de nuevos productos, competiciones, etc.

Si además lo que deseamos es centranos en mejorar el posicionamiento en Google, la mejor opción es abrir un blog en blogger (como este blog) ya que blogger es el sistema de blogs propiedad de Google.

En este blog, he podido comprobar que el robot de Google indexa una nueva versión de esta página cada vez que publico un nuevo post, lo que permite que cada vez que pulso el botón publicar, después de pocos minutos los contenidos están disponibles si realizamos una búsqueda en Google. Esto no pasa con el resto de contenidos (si queremos ver la última vez que el robot de Google rastreó una web sólo hay que abrir la versión "En caché" que aparece en los resultados de la búsqueda en Google.

Además, los contenidos publicados están bien considerados por Google. Por ejemplo, la primera entrada de este blog se titula "Política y Youtube", términos bastante populares en Internet. Si probamos a buscar la cadena de texto "Política y Youtube" comprobamos que greenties.com aparece en la segunda posición (prueba realizada en el momento de escribir este post).

Recomendación:
  • Crear un blog en Blogger.com
  • Integrarlo dentro de tu web corporativa
  • Generar contenidos cada día
  • Que los contenidos contengan palabras clave relacionadas con los servicios/productos que vendes
ACTUALIZACIÓN: Google ha tardado 9 minutos en hacer este post visible en sus búsquedas

Cómo crear una aplicación web. Fase I. Toma de requisitos

El primer paso de cualquier proyecto que tenga como finalidad construir una aplicación informática es escuchar a los clientes y/o usuarios para saber qué necesitan. En una primera serie de reuniones simplemente  debemos escuchar y tomar notas de las funcionalidades que debe cumplir el nuevo sistema. No debemos juzgar si tal requisito se hará de tal manera o si ese requisito es innecesario. Debemos recordar que el trabajo de crear una aplicación web debe estar orientado a la consecución de los objetivos del cliente, no a la satisfacción de los creadores. La satisfacción de los creadores (arquitectos, jefes de proyecto y programadores) debe ser la de crear un producto sin errores, escalable, on-time y que cumpla al 100% las necesidades del cliente. 

Idealmente, la toma de requisitos debe realizarse antes del presupuesto en tiempo y dinero ya que es imposible presupuestar un proyecto del que no se sabe exactamente qué se desea. La fase de la toma de requisitos debe afrontarse como una coste comercial, ya que es posible que si no se ha firmado el contrato el proyecto finalmente no se gane. En la mayoría de los proyectos para administraciones públicas o grandes empresas donde se convoca un concurso mediante RFP se comete el error de presupuestar a partir de unos requisitos redactados por el cliente de forma poco exhaustiva por lo que es fácil que aparezcan desvíos tanto en tiempo de entrega, funcionalidades o precios desorbitados.

Una vez hemos tomado nota de los requisitos el siguiente paso, ya de manera interna es ordenar esas ideas. Una buena manera de ordenar ideas es crear, repito, de forma interna, una modelo de datos a partir de las decenas y decenas de ideas que el cliente nos ha transmitido. El cliente no tiene porqué saber (según un ejemplo de aplicación tipo Facebook) si los “amigos del usuario” puede ser lo mismo a efectos de programación que un “usuario”. Debemos ser capaces de reducir todas las ideas recogidas en la primera reunión en un modelo de datos (por ejemplo un modelo entidad-relación a alto nivel).

En la siguiente reunión tomaremos el control y a partir de la lectura de nuestro modelo de datos (traducción de cajas y líneas a prosa) debemos ir confirmado con el cliente que esas son las funcionalidades lo que su empresa necesita. En esa misma reunión debemos proponer temas que puedan aportar valor al cliente y basados en nuestra experiencia: integrar aplicaciones de terceros, formas de enfocar la arquitectura de la información, software existente, etc.

Esta fase y dependiendo de la envergadura del proyecto y/o del cliente puede convertirse en iteraciones de reuniones de toma de requisitos con diferentes responsables de áreas implicadas.

Generador de prototipos para aplicaciones web

Este fin de semana he estado probando una nueva herramienta para generar prototipos de aplicaciones. En mi caso, me he centrado en probar cómo crear esos prototipos para definir aplicaciones web.

Se trata del Visual Prototyper de la empresa española JustInMind. La verdad es que las sensaciones han sido muy buenas. De una forma muy intuitiva y en poco tiempo puedes generar toda una aplicación con sus botones, combos, listados, etc. y lo más importante, dotarlos de funcionalidad para que el cliente pueda probar lo que será su aplicación antes de tirar una sola línea de código. En muchos proyectos en los que he participado esos prototipos y wireframes se realizan con un simple PowerPoint o un Word, lo que provoca que el cliente no pueda sentir la experiencia de uso de su aplicación hasta que ésta está desarrollada.

Una de las funcionalidades que más me agradó fue la de poder montar el modelo de datos (como si de una base de datos se tratara) y que el porgrama te genere los listados y los formularios de alta, baja y modificación. Perfecto.

El Visual Prototyper es muy intuitivo, sencillo, sin decenas y decenas de opciones de menú, lo que se agradece, y a la vez consigue los objetivos que cualquier analista funcional y/o arquitecto de la información necesita antes de que los desarroladores comiencen a escribir el código.

Algunos preguntas/dudas que me gustaría comentar son:
  • La creación de la documentación podría ser más sencilla (?¿)
  • No fui capaz de crear acciones de decisión, es decir, si pasa A ejectuta una acción, si pasa B, ejecuta otra acción.
  • El manual de usuario es excesivamente liviano, aunque supongo que será una de las estrategias de la empresa ya que ofrece entre sus servicios formación en la herramienta.
De todas formas este producto es muy muy recomendable para los que nos dedicamos a definir aplicaciones (si generara código XHTML ya sería la bomba).

jueves, 6 de noviembre de 2008

En casa de herrero...

cuchillo de palo. Mientras estaba escribiendo un pequeño informe sobre un proyecto de posicionamiento me he dado cuenta de que la mayoría de las páginas de entrada de los sites que estaba estudiando no superaban el validador de HTML del W3C.

Y me he preguntado… ¿las consultoras y estudios que realizan proyectos web tienen sus páginas web corporativa correctamente creadas?

Para no hacer un listado aleatorio me he aprovechado del trabajo de recopilación de empresas consultoras y estudios de diseño y programación web que Javier Martín publicó en loogic.com hace un par de semanas.

El resultado ha sido el siguiente:

url de la empresa / errores de validación
http://www.the-cocktail.com/ 0
http://www.secuoyas.com/es/ 0
http://aspgems.com/ 6
http://www.ideup.com/ 1
http://www.territoriocreativo.es/ 22
http://dnxgroup.com/ 1
http://vivaestudio.com/ 6
http://customedia.es/ 9
http://neuseed.com/ 6
http://blogestudio.com/ 0
http://blogsmedia.com/ 0
http://studio.st/ 0
http://www.neuroticweb.com/ 0
http://www.brandeastudio.com/ 21
http://www.bermilabs.com/ 10
http://www.inmabermejo.com/ 1
http://armandososa.com/ 9


Únicamente un 35% de las webs consultadas supera la validación del W3C…

NOTA: este blog (greenties.com) creado en Blogger (Google) y utilizando sus plantillas, no supera el validador.