Pruebas A/B
Las pruebas A/B son experimentos controlados realizados online para determinar cómo cada característica de un producto o webpage afecta el tráfico o disposición a pagar de potenciales clientes..
Empresas de software
Usted puede encontrar en este blog entradas referidas al mundo empresarial de las firmas de software, sus interrelaciones y panorama actual.
Marketing
Usted puede encontrar en este blog entradas referidas a Marketing en la red así como para empresas de software.
Seach Engine Optimization
Usted puede encontrar en este blog entradas referidas a como operan los SEO para optimizar su presencia en la red.
Internet
Usted puede encontrar en este blog entradas referidas a Marketing en la red así como para empresas de software.
domingo, 7 de abril de 2013
El cliente siempre tiene la razón... y alguna duda
17:13
Juan MC Larrosa
No comments
Crece el uso de servicios de Amazon, TripAdvisor y Yelp, entre otros, que se presentan como una fuente de información específica para los usuarios de tabletas y celulares, más atractiva que las prestaciones tradicionales del buscador Web. La Nación
Digamos que necesitás un café con leche. Podrías sacar tu teléfono, abrir la aplicación de Yelp, Guía Oleo o Restorando, entre otros , y buscar el local más cercano. Si, por el contrario, querés comprar una máquina de café expreso, lo más probable es que ingreses a Amazon o Mercado Libre.
En cualquiera de los dos casos, Google perdió un cliente.
Google sigue siendo el rey indiscutible de la búsqueda en Internet, con alrededor de dos tercios del mercado. Pero la naturaleza de la búsqueda está cambiando, sobre todo a medida que más gente busca lo que quiere comprar, comer o aprender en sus dispositivos móviles. Esto ha colocado a la industria de la búsqueda, de 22 mil millones de dólares, tal vez el negocio en línea más lucrativo e influyente, en la encrucijada más importante desde su invención.
Los consumidores ya no desean buscar en la Web como en el índice de un libro (y hallar enlaces para una determinada palabra clave). Ellos esperan nuevos tipos de búsqueda personalizada, como ocurre en los sitios temáticos como Yelp , TripAdvisor o Amazon , los cuales están achicando la brecha que los aleja de Google. Por su parte, Google y sus competidores están tratando de desarrollar el conocimiento y la comprensión con el fin de responder a consultas específicas , y no intentan solamente encaminar a los usuarios hacia la dirección correcta.
"Lo que la gente quiere es: Haces una pregunta muy simple y obtienes una respuesta muy simple ", dijo Oren Etzioni, que se desempeña como profesor en la Universidad de Washington y es cofundador de compañías dedicadas a la búsqueda de sitios para hacer compras y para reservar vuelos. "No queremos ver los 10 links azules en esa pequeña pantalla. Queremos saber cuál es el restaurant de sushi más cercano, hacer una reserva y seguir nuestro camino", señala.
"No queremos ver los 10 links azules en esa pequeña pantalla. Queremos saber cuál es el restaurant de sushi más cercano, hacer una reserva y seguir nuestro camino", señala Oren Etzioni, profesor en la Universidad de Washington
La gente está abrumada por lo atiborrada que está Internet; Google dice que hay 30 billones de direcciones web, una cifra que supera el billón registrado hace cinco años, y los usuarios esperan que sus computadoras y teléfonos sean más inteligentes y hagan más por ellos. Muchos de los nuevos emprendimientos son servicios que la gente ni siquiera relaciona con los motores de búsqueda.
Amazon, por ejemplo, tiene una proporción mayor que la de Google respecto de las búsquedas comerciales, que constituyen el tipo más lucrativo porque la gente tiene ganas de comprar. En sitios como Pinterest y Polyvore, los usuarios han coleccionado sus cosas favoritas de toda la red para producir resultados cuando buscamos, por ejemplo, "vestido de encaje".
En los teléfonos inteligentes, la gente se saltea Google y va directamente a las aplicaciones, como Kayak o Weather Underground . Otras aplicaciones envían información relacionada con lasdemoras en el tránsito o en los vuelos , antes de que la pidan.
La gente utiliza YouTube para buscar cosas como la forma de atar el nudo de una corbata, o recurre a Siri con el propósito de buscar información en sus iPhone, utiliza mapas en línea para hallar lugares cercanos y Facebook con el fin de encontrar cosas que les gustaron a sus amigos.
Y servicios como LinkedIn Influencers y Quora están tratando de ser tipos diferentes de motores de búsqueda (lugares para encontrar contenido de alta calidad, proporcionado por expertos, y así evitar tener que revisar entre todo lo demás disponible en la web). En Quora, preguntas como: "¿Cómo fue trabajar para Steve Jobs?" son contestadas por personas con conocimiento de primera mano; esto es algo que Google no puede proporcionar.
"Hay mucha presión en los motores de búsqueda para ofrecer resultados más personalizados, resultados más relevantes", dijo Shar VanBoskirk, un analista de Forrester. "Los usuarios no necesitamos enlaces a páginas en Internet. Necesitamos respuestas, soluciones, la información que estamos buscando".
Sin embargo, Google sigue siendo el gigante a batir, aun mientras sitios de búsqueda alternativos se hacen populares. "Representan el almacén de especialidades al que vas a entrar aquí y allá", señaló Danny Sullivan, editor del blog Search Engine Land , "pero no son supermercados".
No obstante, la promesa del mercado de búsquedas es tan grande que a pesar de que Microsoft pierde miles de millones de dólares al año en Bing y no ha logrado debilitar la cuota de mercado de Google, continúa dando batalla. Microsoft, que en febrero tenía un 17 por ciento del mercado, y el 26 por ciento incluyendo las búsquedas que impulsaba para Yahoo!, ha dicho que considera al mercado de las búsquedas como algo que resulta esencial para sus otros productos, desde la Xbox hasta sus teléfonos. Y todavía hay una gran cantidad de dinero que se puede ganar en el puesto número dos.
"Hay millones de personas al día contándonos exactamente lo que quieren, y si eres anunciante, es un hermoso vehículo", dijo Sullivan.
EMarketer estima que Google gana alrededor de tres cuartas partes de los gastos de publicidad en las búsquedas. Los motores de búsqueda brindan a las empresas una gran riqueza de datos y una medida de control como punto de entrada de los usuarios de Internet al mundo digital.
Hay indicios de que los comportamientos de búsqueda de la gente están cambiando, sin embargo, con consecuencias para estas empresas.
Las búsquedas en los servicios tradicionales, dominados por Google, disminuyeron un 3 por ciento en el segundo semestre del año pasado, después de haber aumentado durante años, según comScore, y la cantidad de búsquedas por persona disminuyó un 7 por ciento. Por el contrario, las búsquedas en los sitios temáticos, conocidos como buscadores verticales, aumentaron un 8 por ciento.
Los usuarios usan YouTube para buscar cosas como la forma de atar el nudo de una corbata, chequean mapas digitales para encontrar servicios cercanos y entran a Facebook para ver las cosas que les gustaron a sus amigos
Aunque las búsquedas tradicionales aumentaron de nuevo este año, otro dato refleja la amenaza a Google.
En el primer trimestre, el gasto relacionado con los anuncios en las búsquedas cayó un 1 por ciento, lo que significa una desaceleración importante para Google, según IgnitionOne, una empresa de marketing digital. El año último, Google perdió cuota en el mercado de los anuncios en las búsquedas por primera vez, según informó eMarketer; cayó al 72,8 por ciento desde un 74 por ciento.
Este año, se espera que el gasto en publicidad en los motores de búsqueda tradicionales crezca más lentamente que el gasto global en publicidad online, lo que se traduce en un retroceso. Su crecimiento era significativamente superior al de los gastos de publicidad en línea hasta el año pasado, dijo eMarketer.
Google no se queda mirando desde el banco. Está realizando más cambios en las ofertas de búsqueda, a un ritmo más rápido que el que ha tenido en años.
Larry Page, su cofundador y director ejecutivo, cambió el nombre de la división de búsqueda a "conocimiento". La misión de Google (la organización de la información del mundo) era demasiado estrecha. Ahora quiere que la gente aprenda de Google.
Pero Google ahora muestra las respuestas en lugar de simplemente enlaces si se busca algo así como "Locura de marzo", "estado del tiempo", o incluso "mi vuelo," en cuyo caso puede extraer información del vuelo de las cuentas de los usuarios de Gmail.
El paso más grande de la empresa tuvo lugar el año pasado, cuando presentó el gráfico del conocimiento (Knowledge Graph, en inglés). Mientras que la búsqueda en Internet generalmente conecta palabras clave con sitios web, el gráfico de conocimiento utiliza la búsqueda semántica, la cual entiende los significados y conexiones entre personas, lugares y cosas.
Un motor de búsqueda típico, por ejemplo, responde a una búsqueda de "Diana" mostrando las páginas en la Red en las que aparece esta palabra, desde páginas de Wikipedia sobre la diosa de la caza y la princesa de Gales hasta una compañía que fabrica anillos de compromiso.
En el futuro, Google podría responder preguntas más complicadas, como: "¿Dónde podría ir a un concierto en un clima cálido el año que viene?", dijo Ben Gomes, ingeniero responsable de los desarrollos en el buscador web de Google
Sin embargo, un motor de búsqueda con mayor conocimiento, con cualidades humanas, sabría que estás buscando el perfil en línea de tu compañera de cuarto Diana, o que también te interesa Kate Middleton.
"Lo que Google está empezando a hacer es compartir algunos de los conocimientos sobre el mundo que los seres humanos tienen en la mente", dijo Ben Gomes, miembro de Google, "con el fin de que los usuarios puedan comenzar a comunicarse con Google de una manera que es mucho más natural para su forma de pensar".
Google llama a estos los "pequeños pasos" que muestran hacia dónde se dirige.
En el futuro, Google podría responder preguntas más complicadas, dijo Gomes, como: "¿Qué distancia hay de aquí a la Torre Eiffel?" y "¿Dónde podría ir a un concierto en un clima cálido el año que viene?"
A pesar de los avances de los servicios de búsqueda alternativos, los hábitos en línea son tan difíciles de romper como los del mundo real, especialmente cuando son útiles, dijo Andrew Lipsman, vicepresidente de análisis de la industria de comScore.
"La mayoría de las personas tienen un muy fuerte hábito de Google", expresó. "Voy allí todos los días y me da la información que quiero, así que es un ciclo de auto-refuerzo. No cualquiera puede llegar y hacer esa clase de cosas"..
viernes, 5 de abril de 2013
jueves, 4 de abril de 2013
Facebook aterriza en el planeta Android
19:21
Juan MC Larrosa
No comments
Facebook quiere ser la nueva cara de tu celular
La red social presentó Home, una interfaz adaptada para smartphones con Android, que reemplaza a la original; busca ampliar su presencia en el mundo móvil con una integración profunda en el sistema operativo de Google. La Nación
Con la presencia de su cofundador y actual CEO, Mark Zuckerberg, Facebook presentó una interfaz que busca aprovechar la presencia de la red social en los teléfonos con Android. Los rumores previos indicaban que la compañía presentaría un teléfono adecuado a su plataforma, pero también se especulaba con que se podría presentar una interfaz adaptada del sistema operativo móvil de Google. A su manera, ambas previsiones resultaron ciertas.
Zuckerberg aclaró durante la presentación que la compañía no busca crear un teléfono propio, ni un nuevo sistema operativo. "Estamos preparando algo que va más allá de una aplicación", dijo el ejecutivo, al destacar la personalización que ofrece Android para realizar este tipo de implementaciones.
Denominado Facebook Home, esta aplicación estará disponible en la tienda Google Play y permtie reemplazar la interfaz habitual de Android por una pantalla principal denominada Cover Feed , que se caracteriza por la visualización de fondo de las fotos que los contactos publican en la red social, con los accesos a las aplicaciones del teléfono y a las principales funciones de Facebook: las actualizaciones y el servicio de mensajería Messenger (con el aditamento de poder agregar esas conversaciones en cualquier lugar del entorno de Facebook, no sólo de esa aplicación).
También, por supuesto, es posible acceder a las aplicaciones tradicionales de un smartphone o al resto del software disponible en la tienda de Google.
Es lo que en la jerga de Android se conoce como un launcher , y hay varios disponibles para este sistema operativo (el único entre los más populares que permite algo así).
Uno de sus rasgos más polémicos, sin embargo, es que la aplicación desplegará publicidad dirigida en pantalla.
Estará disponible para los teléfonos HTC One y Samsung S III y S 4 desde el 12 de abril en la tienda Google Play. Gratis, por supuesto. Asimismo, Zuckerberg anunció un acuerdo con el fabricante taiwanes y AT&T para presentar el HTC First, el primer teléfono que cuenta con esta integración de Facebook en un dispositivo con Android, con un precio inicial de 99 dólares.
El HTC First tiene un chip Qualcomm Snapdragon de doble núcleo, pantalla de 4,3 pulgadas y cámara de 5 megapixeles. Corre Android 4.1 y viene con Facebook Home preinstalado.
Disponible como una aplicación más en la tienda de Google, la interfaz de Facebook Home se suma a las diversas alternativas de acceso que tiene la red social, con diversas desarrollos oficiales para iOS de Apple, Android, Windows Phone y BlackBerry OS. Asimismo, la compañía presentó de forma reciente el rediseño que unifica la vista web disponible en las computadoras, tabletas y teléfonos móviles..
lunes, 1 de abril de 2013
Noticias tecnológicas en el día de los inocentes
17:27
Juan MC Larrosa
No comments
Google le suma olor a sus mapas; Nokia presenta un microondas táctil
Esas son algunas de las noticias falsas que estas y otras compañías tecnológicas difundieron hoy, haciendo honor al festejo del Día de los Inocentes en el hemisferio norte
En Estados Unidos y Europa se celebra hoy el día de Inocentes (o día de los tontos de abril , tal la traducción literal de April Fool's Day), y es la norma hace años que las compañías tecnológicas publiquen este día productos falsos de todo tipo, con gacetillas que, por lo general, tienen bastante producción detrás.
Van aquí algunos de los más logrados:
GOOGLE CON OLOR
Además de una versión de Gmail que es azul (Blue, jugando además con las noticias alrededor de Windows Blue, la próxima actualización de Windows), el fin de YouTube y una edición de Maps que incluye un supuesto tesoro de hace tres siglos, Google Nose inaugura una nueva versión de Street View (su herramienta para ver las fachadas de las calles) que tiene 15 millones de olores indexados, y que pueden olerse en el teléfono.
NOKIA SE EXPANDE A LOS ELECTRODOMÉSTICOS
La compañía finlandesa prefirió jugar con su variada historia (hizo botas de goma, caucho, cables y más) para darle credibilidad a su entrada al mundo de los electrodomésticos con el 5AM-TH1N6 Constellation, un microondas con pantalla táctil y un transformador de 8 núcleos enfriado por agua, que combina 5000 watts para cocinar comidas en segundos.
TWITTER SIN VOCALES
Twitter aseguró en su cuenta que pasaría a una versión de su servicio gratis sin vocales, y que para escribir usando las mismas se deberían pagar 5 dólares mensuales, como una forma de lograr mayor densidad de información en las publicaciones. También promociona una versión que permite publicar 141 caracteres (es decir, uno más de lo usual); el costo de agregarlo depende de la popularidad del caracter deseado.
EL AVIÓN CON PISO DE VIDRIO
Ideal para quienes sufren vértigo, la aerolínea Virgin mostró su supuesta nueva nave , el primer avión con piso de vidrio, para ver el paisaje a nuestros pies durante el viaje.
UN TECLADO A LO HARLEM SHAKE
La compañía detrás del popular teclado SwiftKey (disponible para Android, y cuya tecnología está, en parte, en BlackBerry 10) le dieron una vuelta de tuerca al ingreso de texto. SwiftKey permite, como Swype, ir de letra a letra dibujando el trayecto en la pantalla... pero en este caso moviendo todo el cuerpo. Incluye, en el segundo 66 del video, un momento Harlem Shake .
Carcasa de madera para el iPhone
Otterbox, compañía conocida por sus fundas protectoras para diversos celulares, difundió un video explicando su nueva serie Maker , con planos que se pueden descargar para que cada uno se haga su funda... de madera.
viernes, 29 de marzo de 2013
Mujeres: Alicia Edelman Pelton (Microsoft)
17:17
Juan MC Larrosa
No comments
Profiles on Women in Computing: Alicia Edelman Pelton, Program Manager
Learn about the many great women in computing careers at Microsoft. Meet researchers who are using computer science to solve some of the world’s most vexing problems or technologists who are creating the next wave of paradigm-shifting products. Discover what motivates these pioneering women and acquire insights into their current projects.
Learn about the many great women in computing careers at Microsoft. Meet researchers who are using computer science to solve some of the world’s most vexing problems or technologists who are creating the next wave of paradigm-shifting products. Discover what motivates these pioneering women and acquire insights into their current projects.
In this video, you’ll meet Alicia Edelman Pelton, program manager at Microsoft Research.
©2013 Microsoft Corporation. All rights reserved.
Innovación: Robot lagarto
11:05
Juan MC Larrosa
No comments
Un robot se inspira en los lagartos para avanzar sobre terrenos arenosos
El comportamiento de estos animales permitió que los investigadores aplicaran sus técnicas de locomoción; quieren evitar que robots como el que está en Marte queden empantanados
La Nación
Las dinámicas, diseños y movimientos de la naturaleza y sus seres vivos han inspirado desde hace décadas la fabricación de aparatos y sistemas más eficientes: si la evolución premió tal o cual planteamiento, debe tener algo bueno. Lo hemos visto en aviones, trajes de baño que recrean la piel del tiburón y en tejidos que imitan la tela de araña. También en la locomoción terrestre, aunque sigue habiendo muchas lagunas en este campo.
Para comenzar a cubrir estas deficiencias, un equipo de investigadores de Georgia Tech publicóun trabajo en Science en el que tratan de explicar la mecánica más propicia para que un robot pueda desplazarse por terrenos blandos, inestables, arenosos.
A través de sus cálculos, lograron informatizar la relación de fuerzas entre las partículas del suelo y las patas de un pequeño robot-lagarto. La idea es entender, para luego aplicar, el tipo de interacción que permite a los lagartos "nadar en la arena" para moverse con rapidez y sin hundirse.
Tras probar distintos formatos de patitas para el robot, resolvieron que las patas (seis) en forma de "C" son las más eficientes sobre finísima arena (o semillas de amapola), como se observa en la parte final del vídeo. El robot, de 13 centímetros y 150 gramos, alcanzó los 2,5 kilómetros por hora de velocidad. El primer robot de seis patas inspirado en los andares de los lagartos fue RHex, diseñado en 2001 por investigadores de la Universidad de Michigan.
Con el estudio de la dinámica del terreno granulado los investigadores han creado un modelo informático que calcula mucho más rápido que antes cómo se comportará determinada pata o rueda sobre la arena. "Antes, llevaba un mes simular en nuestros ordenadores un segundo de locomoción del robot sobre un lecho con cinco millones de semillas; ahora, la simulación tarda sólo 10 segundos", explican en una nota .
Entender este funcionamiento servirá para mejorar el conocimiento de la fauna, pero también para desarrollar mejores vehículos. Y para evitar que ocurra lo que le sucedió al robot de seis ruedas Spirit en Marte, que quedó atrapado en mayo de 2009 en un punto de suaves arenas de las que nunca pudo escapar..
jueves, 28 de marzo de 2013
Emprendedorismo: Una aplicación precoz de 60 millones
2:30
Juan MC Larrosa
No comments
Con 17 años vende una aplicación a Yahoo! por más de 60 millones de dólares
Nick D'Aloisio desarrolló en la habitación de su casa la "app" Summly que reduce el tamaño de las noticias para hacerlas más fáciles de utilizar en la pantalla de un celular. La Nación
No terminó ni siquiera la secundaria, pero ese no fue un obstáculo para que Nick D'Aloisio, de tan sólo 17 años, se convirtiese en un nuevo multimillonario tecnológico, tras vender una aplicación para celulares a Yahoo! por US$ 61,2 millones, según el London Evening Standard, pero fuentes como el blog de tecnología All Things Digital menciona que la operación se concretó en 30 millones de dólares, en su mayor parte en efectivo.
D'Aloisio, residente en Wimbledon, en el sur de Londres, desarrolló en la habitación de su casa familiar la aplicación Summly, que reduce el tamaño de las noticias para hacerlas más fáciles de utilizar en la pantalla de un celular.
Según contó el adolescente al diario Evening Standard la idea surgió mientras buscaba información en Internet en 2011. "La búsqueda en Google era ineficaz y hacía perder el tiempo, pese a la cantidad de información que existe en la red, ésta se encuentra desordenada y es, por lo tanto, inservible. Fue entonces cuando tuve la idea de crear una algoritmo que resumiera resultados de búsqueda automático", dijo.
Cuando D'Aloisio lanzó Summly en el año 2011 tenía tan sólo 15 años. El corazón de la pequeña empresa de D'Aloisio es la aplicación para el iPhone Summly. Se trata de una aplicación que resume noticias que se adaptan a la perfección al tamaño de la pantalla del smartphone de Apple y que tienen un máximo de 400 caracteres.
Además del pago, el acuerdo con Yahoo! incluye un puesto para D'Aloisio en las oficinas de la compañía en Londres, donde trabajará a tiempo completo y estudiará por las noches para completar su formación.
Sus padres, él financiero de energía en la City y ella abogada, fueron testigos de todo el proceso creativo, que comenzó como una simple afición con Trim It, la primera versión de Summly, que ya acumula un millón de descargas.
Trim It fue lanzada en julio de 2011 y nombrada "app" de la semana, una publicidad que suscitó el interés de la multimillonaria "joint venture" china Li Ka-Shing y el posterior apoyo de reconocidas figuras como el cómico inglés Stephen Fry, Yoko Ono o el actor Ashton Kutcher.
Con su respaldo económico, D'Aloisio desarrolló la aplicación hasta llegar a Summly, que actualmente mantiene acuerdos de colaboración con 250 publicaciones "online", entre ellas el grupo mediático News Corporation, propiedad del magnate Rupert Murdoch..
miércoles, 27 de marzo de 2013
Argenware: Desde Bahía Blanca de todo corazón
13:00
Juan MC Larrosa
No comments
En Bahía Blanca, el electrocardiograma se hace con un celular
Un grupo de investigadores de la Universidad Nacional del Sur creó un sistema que permite usar un smartphone para procesar los datos obtenidos por los sensores y analizar el estado cardíaco. La Nación
Son investigadores de la Universidad Nacional del Sur y del la Tecnológica Nacional. Hay docentes y estudiantes. Y crearon, en Bahía Blanca, el ElectroSmart ECG , un electrocardiógrafo portátil para dispositivos móviles.
El equipo tiene 12 sensores cutáneos que se conectan a un pequeño transmisor; este no procesa la información, sino que la deriva a un smartphone, usando una conexión inalámbrica Bluetooth (presente en la enorme mayoría de los teléfonos móviles de gama media y alta); la aplicación es la que se encarga del análisis y representación de los datos, además de permitir compartirlos vía Internet con otras personas.
El equipo, integrado por Guillermina Cledou, Jonathan Vainstein, José Francisco Manera, Pablo Obreque y los profesores Claudio Delrieux y Marcos Chaparro es uno de los participantes del concurso Innovar , que difunde desarrollos nacionales.
El desarrollo no es parte de una investigación universitaria, sino algo que fueron armando en sus ratos libres, y planean llevarlo al mercado. Según declaró el doctor Delrieux (investigador del Conicet) al sitio de noticias universitarias Argentina Investiga , este diseño desdoblado permite reducir costos de fabricación, ya que delega las tareas más pesadas al celular..
lunes, 25 de marzo de 2013
Mitos de los tests unitarios
13:04
Juan MC Larrosa
No comments
Unit Testing Myths and Practices
05 January 2012
by Tom Fischer
We all understand the value of Unit Testing, but how come so few organisations maintain unit tests for their in-house applications? We can no longer pretend that unit testing is a universal panacea for ensuring less-buggy applications. Instead, we should be prepared to actively justify the use of unit tests, and be more savvy about where in the development cycle the unit test resources should be most effectively used.
Despite the pervasive dictum within software engineering that unit tests must exist for all code, such tests are little-used for the development of enterprise applications. In over fifteen years of consulting, I can count on the fingers of my hand the number of organizations maintaining unit tests for their applications. Why is it that so many organizations ignore such a popular software practice? In order to answer this question we first need to explore the myths and real world practices of unit testing, and then go on to describe the points within development where their value is well-established.
Myths
Two of the more generally-held myths that prop up the dogma of unit testing concern the professed benefits. The first myth, and most loudly claimed, states that unit testing inevitably saves money. The second myth, and zealously professed by many developers and engineers, promises a reduction in the bug count.
The Saving Money Myth
The idea that unit testing inevitably lowers the cost of application development rests on the reasonable assumption that fixing a bug as soon as possible saves money. Graphs such as the one below typically compare two application’s costs to support this claim. Each solid black line represents an application’s total cost over time.
The application labeled “No Unit Tests” starts out with lower expenses than that labeled “Unit Tests” as shown by the red line. Not a surprising fact since someone either coded or didn’t code unit tests. Over time though the “No Unit Tests” application costs more money because of increased support, bug fixes, deployment, lost customers, etc. According to this assumption about cost-savings, organizations can even calculate the “Breakeven” point at which their unit testing pays off. And at any time past this point they can find the total savings earned from writing unit tests as shown by the green line on the far right.
There’s a problem with the underlying assumptions supporting the above cost profiles. They do not factor in the financial repercussions of a delay in the delivery of today’s enterprise applications.
The first problem stems from the increasing importance of enterprise applications to an organization’s profitability. For example, it is not unusual for a company to build some widget that’ll save identifiable staff several hours a day. Delaying the widget’s release in order to write unit tests causes not only angst but measurable, lost productivity. I have rarely seen a developer convince an end user that adding unit tests justifies delaying a much-anticipated feature just to prevent of a few potential bugs.
The second problem is the cost associated with the consequences of writing tests. Time expended coding unit tests keeps other features un-built and idling on backlog. It disrupts the development process. The process of implementing unit tests cannot be readily scaled up to prevent backlog because, for most organizations, there are only one or two folks possessing the domain knowledge to add new or enhanced features to a specific application. When these developers code unit tests they are not coding new stuff.
When we update our cost assumptions for Unit Tests with only these two omissions, our graph alters as shown below. The “Unit Tests” application’s total cost over time line shifts up with dramatic implications.
Suddenly the savings advantage of the “Unit Tests” application shrinks. To make matters worse, it also takes longer for an organization to realize these diminished savings as shown by the rightward movement of the “Breakeven” point. No wonder that any IT management that takes a financial vantage will wish to minimise unit tests. Adding them to a project may not save an organization as much money as it had previously calculated.
The Reduce Bugs Myth
The myth of the ‘reduce bug count’ originated in the early days of software engineering. It sprung from the reality of working with the tools and technologies that were available at the time.
When enterprise applications were built 20 years ago with C and C++, unit tests helped to minimize the number of bugs escaping into the wild. Even the crudest test caught defects that were attributable to undeclared variables, mixed case method names, missing header file, calling functions without parenthesis, etc.
Enter today’s improved integrated development environment (IDE) tools and managed memory runtimes, and many C/C++ lifesaving checks handled via unit testing became superfluous. The technologies of choice for enterprise applications, such as, .NET and Java, placed many golden oldie bugs on the extinction list. Unit testing was no longer required to catch all those pesky technical code flaws.
Improved technology further eroded unit testing as the premier bug management tool by promoting software construction practices which leveraged multiple components to create an enterprise application. Dynamically cobbling together different data stores, libraries, web services via dependency injection, configuration files, and plug-ins spawned an entire new breed of defects for which unit testing proved marginally effective.
The below graphic depicts a simplified scenario of how “SomeMethod” might pull from several component’s to complete its task.
In such a scenario, it is only some form of integrated, or user acceptance, testing that will guarantee “SomeMethod” behaves appropriately. Properly-constructed unit tests only ensure that a component works as coded. Service X and Service Y may pass their respective unit tests but both may not produce the desired results when end users execute “SomeMethod” within a specific context.
Practices
If the preceding discussion leaves one believing that unit tests only provide mythical benefits, real-world experience suggests otherwise. In several circumstances they play a critical role in helping to deliver enterprise applications. This section discusses a few them.
Building Libraries
Even the most powerful frameworks and runtimes omit features that are required by an organization. Because of this, organizations wisely create their own custom libraries for all their developers. As these libraries change of over time, whether via refactoring or feature updates, unit testing is essential to quickly validate the change and can save an organization a great deal of time and money.
Enhancing Technology
Sometimes the required technology cannot work its magic alone. Unaided it allows developers to write buggy code all too easily. In such situations enhancing the technology with unit testing comes to the rescue.
Developing browser-based User-interfaces is an example of this situation. Despite the existence of such powerful plug-ins for building Web-Based User-Interfaces as Flex and Silverlight, it is HTML and JavaScript that remain the tools of choice for responsive web applications. Although JavaScript is powerful, it looks more like C++ than C#. This means developers will need unit tests to avoid the classic pitfalls of type checking, improperly cased names, overwritten functions, etc.
Helping Startup Projects
When a new project with several engineers starts from scratch it will initially generate much code that will ultimately require synchronization. But until reconciling all of the project’s components each engineer usually needs a way to execute their code without the other components. Unit testing tools and products can provide such services.
As an aside, I find test driven development (TDD) demonstrates this value proposition. It too does not require developers to have all of their components’ dependencies lined up and running. TDD allows engineers and developers to productively and safely write a lot code courtesy of unit testing. Developers only require the scantiest knowledge of the project’s other components.
Implementing Smoke Tests
Regularly deploying code to any environment can be a risky proposition for even the smallest fix or feature. We repeatedly relearn this fact. (Remember that little tweak that broke the entire application and left the testing staff without work?) In order to combat this problem many organizations write a few key unit tests which are automatically executed immediately after a build and before deployment. These few “smoke tests” provide enough coverage to ensure the basic functionality of the application.
If smoke testing sounds like continuous integration (CI), there’s a reason. They share similar objectives, albeit with vastly different scope. CI typically demands organizational commitment and resources; incorporating smoke tests typically requires a few commands by the build manager.
Writing Clearer Code
By having to Craft unit tests, developers are forced to think as consumers of their code. This gives them an extra motivation to build an application programming interface (API) that is clear, and easy to implement.
The drive to write better unit tests generally motivates better design, too. By incorporating unit tests into their components, Developers are encouraged to follow many good software design tenets, such as, avoiding hidden dependencies, and coding functions with a well-defined mission.
Note: Bug Management Practices
If unit testing provides less than ideal bug management support, what options exist for software developers and engineers? After all the integrated and UAT tests are completed prevailing practices suggest two broad strategies for better managing bugs, one passive and one active.
The passive policy amounts to organizations providing a full featured help desk. In such an environment end users report bugs which get triaged until resolved. While an effective practice from a managerial perspective, it tends to frustrate end users and place developers in a reactive mode.
Actively managing bugs is an alternative strategy of growing popularity. It requires applications to self-report exceptions and such. This can happen via home grown or 3rd party tools, such as, Red Gate’s SmartAssembly. This strategy acknowledges the difficulty of preventing bugs with the belief that knowing about them as soon as possible without explicit user complaints mitigates pain.
If unit testing provides less than ideal bug management support, what options exist for software developers and engineers? After all the integrated and UAT tests are completed prevailing practices suggest two broad strategies for better managing bugs, one passive and one active.
The passive policy amounts to organizations providing a full featured help desk. In such an environment end users report bugs which get triaged until resolved. While an effective practice from a managerial perspective, it tends to frustrate end users and place developers in a reactive mode.
Actively managing bugs is an alternative strategy of growing popularity. It requires applications to self-report exceptions and such. This can happen via home grown or 3rd party tools, such as, Red Gate’s SmartAssembly. This strategy acknowledges the difficulty of preventing bugs with the belief that knowing about them as soon as possible without explicit user complaints mitigates pain.
Conclusion
Forgive me if I have left any readers thinking ill of unit testing. Nothing could be further from my intent! The goal was to challenge the premise that writing unit tests is always a wise practice in all contexts. Because the IT culture within the enterprise application space is no longer so uncritically accepting of the value of unit testing it is up to software engineers and developers to actively justify the cost of building unit tests in terms of benefits to the enterprise. I’ve noted in this article several circumstances where unit testing is vital for the timely delivery of robust applications, and I strongly suspect that many enterprise application engineers and developers who read this will think of more.
We can no longer rely on a general acceptance of the myth that unit testing is a universal panacea, but need to focus unit testing on aspects of development where it is most effective, and be prepared to actively justify its use.