Mostrando entradas con la etiqueta proyecto de software. Mostrar todas las entradas
Mostrando entradas con la etiqueta proyecto de software. Mostrar todas las entradas

lunes, 13 de abril de 2015

El mercado de Big Data explota

El tamaño del mercado e ingresos de vendedores en el mercado de Big Data


Por Jeff Kelly con David Vellante y David Floyer - Wikibon


Este es el informe de 2011, publicado originalmente el 15 de febrero de 2012. Ver Big Data Vendor Ingresos y Pronóstico del Mercado 2012-2017 para la actualización de 2012.

El mercado de Big Data está al borde de una etapa de crecimiento rápido que verlo superar la marca de 50 mil millones dólares en todo el mundo en los próximos cinco años.

A principios de 2012, el mercado de Big Data se sitúa en poco más de 5000 millones dólares basado en el software relacionado, hardware, y los ingresos por servicios. Mayor interés y conciencia del poder de Big Data y capacidades analíticas relacionadas para obtener una ventaja competitiva y mejorar la eficiencia operativa, junto con la evolución de las tecnologías y servicios que hacen los grandes datos en una realidad práctica, dará lugar a una tasa compuesta anual súper cargado de 58% de aquí a 2016.

Como se explica en nuestro Data Manifiesto de Big, Big Data es la nueva fuente definitiva de ventaja competitiva en todas las industrias. Para aquellas organizaciones que comprender y aceptar la nueva realidad de Big Data, las posibilidades de innovación, una mayor agilidad y una mayor rentabilidad son casi infinitas.

A continuación se muestra el pronóstico de cinco años de Wikibon para el mercado de los grandes datos en su conjunto:


Figura 1 - Fuente: Wikibon 2012

Del mercado actual, Big Data proveedores pure-play representan 480 millones de dólares en ingresos. A pesar de su relativamente pequeño porcentaje de la corriente de ingresos general (aproximadamente 10%), estos vendedores - como Vertica, Splunk y Cloudera - son responsables de la gran mayoría de las nuevas innovaciones y enfoques modernos de la gestión de datos y análisis que han surgido en la última varios años y hecho grandes datos del sector más caliente de TI.

Wikibon considera Big Data puros de papeles como los de hardware, proveedores de software, o servicios independientes cuyas relacionadas con los datos de Big cuentas de ingresos para el 50% o más de los ingresos totales. Este grupo también se compone de tres hasta hace poco independiente proveedores de almacenamiento de datos de próxima generación - HP Vertica, Teradata Aster, y EMC Greenplum - que en gran medida continuará operando como entidades autónomas y no tiene, hasta el momento, tenía su ADN contaminado por sus adquirentes .

A continuación se muestra un desglose de los ingresos a nivel mundial de los mejores Big Data proveedores pure-play para el año 2011. *


Figura 2 - Fuente: Wikibon 2012

A continuación se muestra un desglose de la cuota de mercado en el segmento de puro juego del mercado de Big Data.



Figura 3 - Fuente: Wikibon 2012

Los actuales líderes del mercado Big Data, por ingresos, son IBM, Intel y HP, estas mega proveedores se enfrentarán a una mayor competencia de los proveedores de las empresas establecidas, así como los antes mencionados Big Data puros-plays en desarrollo tecnologías Big Data y casos de uso que están impulsando el mercado . Incumbe a Hadoop centrado puros-plays, sin embargo, establecer un modelo de negocio rentable para comercializar el marco de código abierto y el software relacionado, que hasta la fecha ha sido difícil de alcanzar.

A continuación se muestra un desglose de la corriente de los ingresos totales Big Data por el proveedor **:

Total 2011 Ingresos de Big Data Revenue por vendedor
VendorBig Data Revenue (in $US millions)Total Revenue (in $US millions)Big Data Revenue as Percentage of Total Revenue
IBM$953$106,0001%
Intel$765$54,0001%
HP$513$126,0000%
Fujitsu$285$50,7001%
Accenture$273$21,9000%
CSC$160$16,2001%
Dell$154$61,0000%
Seagate$149$11,6001%
EMC$138$19,0001%
Teradata$120$2,2005%
Amazon Web Services$116$65018%
SAS Institute$115$2,7001%
Capgemini$111$12,1001%
Hitachi$110$100,0000%
SAP$85$17,0000%
Opera Solutions$76$10076%
NetApp$75$5,0000%
Atos S.A.$75$7,4001%
Huawei$73$21,8000%
Siemens$69$102,0000%
Xerox$67$6,7001%
Tata Consultancy Services$61$6,3001%
SGI$60$6909%
Logica$60$60001%
Mu Sigma$55$6585%
Microsoft$50$70,0000%
Oracle$50$36,0000%
Splunk$45$6368%
1010data$25$3083%
Supermicro$23$9432%
MarkLogic$20$8025%
Cloudera$18$18100%
Red Hat$18$1,1002%
Informatica$17$7502%
Calpont$15$2560%
ClickFox$11$3531%
Fractal Analytics$12$12100%
Pervasive Software$10$5020%
Tableau Software$10$7214%
Think Big Analytics$8$8100%
MapR$7$7100%
Digital Reasoning$6$6100%
ParAccel$5$1145%
Couchbase$5$684%
DataStax$4.5$4.5100%
10gen$4.5$4.5100%
Datameer$4$4100%
Hortonworks$3$3100%
RainStor$2.5$2.5100%
Attivio$2.5$1913%
QlikTech$2$3001%
HPCC Systems$2$2100%
Karmasphere$2$2100%
Other$25n/an/a%
Total$5,125$866,6711%

Notas sobre la tabla de arriba. Ha habido varias preguntas de la comunidad en estos datos, la forma en que se obtuvo y por qué se cuantificaron ciertos proveedores como estaban. La siguiente captura de algunos de los aspectos más destacados de estas discusiones.

  • Intel, Seagate y Super Micro tienen grandes acciones debido a la propensión de datos de gran escala los racimos de utilizar componentes off-the-shelf y soluciones de caja blanca. Esto es especialmente cierto para los gigantes de Internet como Google y Facebook.
  • Fuerte presencia de IBM incluye una gran proporción de los servicios debido a la fuerte cartera de servicios profesionales de la empresa. Además, la fuerte negocio de software de análisis de IBM es un gran contribuyente a sus iniciativas de Big Data.
  • Cifras de Oracle Exadata y Exalogic incluyen porque son enfoques no tradicionales para el manejo de datos de gran tamaño. Sin embargo, no se incluye el conjunto de ingresos de estos productos. Se valoran los ingresos que se asociaron con implementaciones que eran grandes en capacidad.
  • La generación de ingresos de la empresa proveedor de almacenamiento de datos siguiente de Vertica, Greenplum, y Aster Data se incluyó en las cifras de ingresos Big Data generales de su empresa matriz.


Wikibon inició esta investigación en un esfuerzo por proporcionar alguna orientación a la comunidad sobre el tamaño del mercado de Big Data. Todo el mundo está zumbando sobre Big Data, que lleva a la pregunta: "¿Qué tan grande es el mercado de Big Data" Se realizaron búsquedas pero no pudimos encontrar ninguna información de mercado y sentimos que poner adelante a tops / abajo y fondos / hasta el análisis sería útil. Poner una "estaca en la tierra 'en el tamaño del mercado también, esperamos, generar nuevos debates en la comunidad y ayudarnos a afinar las estimaciones del mercado. Toda la entrada creíble será evaluado y actuar en consecuencia rápidamente.

En cuanto a la metodología, el tamaño del mercado de Big Data, pronóstico, y los datos de cuota de mercado relacionados se determinó con base en una extensa investigación de las cifras de ingresos públicos, informes de prensa, entrevistas con los proveedores y revendedores en relación con las tuberías de clientes, hojas de ruta de productos, y la retroalimentación de la comunidad de Wikibon los profesionales de TI. Muchos vendedores no fueron capaces o dispuestos a proporcionar cifras exactas para nuestra definición Big Data, y porque muchos de los puros de papeles son de propiedad privada era necesario que Wikibon para triangular muchas fuentes de información para determinar nuestras cifras finales. Wikibon define los grandes datos para incluir conjuntos de datos cuyo tamaño y tipo que sean impracticables para procesar y analizar con las tecnologías de bases de datos tradicionales y herramientas relacionadas. El mercado de datos grande, por lo tanto, incluye las tecnologías, herramientas y servicios diseñados para hacer frente a estas deficiencias. Éstas incluyen:

  • Hadoop distribuciones, software, subproyectos y hardware relacionado;
  • La próxima generación de almacenes de datos y hardware relacionado;
  • Big data plataformas analíticas y aplicaciones;
  • Plataformas y aplicaciones de inteligencia de negocios, minería de datos y visualización de datos que se aplican a los grandes datos;
  • Plataformas de integración de datos y herramientas que se aplican a los grandes datos;
  • Apoyo Big Data, capacitación y servicios profesionales.

Si bien esta es una definición ciertamente amplio mercado, la mayoría de las tecnologías y herramientas básicas Big Data comparten alguna combinación de las siguientes características. Se aprovechan de hardware común para permitir scale-out, técnicas de procesamiento en paralelo; emplear a un cierto nivel de modelo de datos no relacionales con el fin de procesar los datos no estructurados y semi-estructurados; aprovechar el almacenamiento de datos en columnas y / o capacidades de compresión de datos para mejorar la eficiencia de la consulta; y son interoperables con análisis de negocios y tecnologías de visualización de datos para transmitir conocimientos a los usuarios finales.

A continuación se muestra un desglose de los ingresos Big Data por el hardware, software y servicios.


Figura 4 - Fuente: Wikibon 2012

Pure-plays desarrollo de la innovación Big Data

Mientras que los pesos pesados ​​de TI de IBM e Intel actualmente liderando el mercado de Big Data en los ingresos en general, esto se debe principalmente a su amplitud de ofertas y atrincheramiento en muchos centros de datos empresariales, y, en el caso de Intel, la propensión de los proyectos de Big Data para utilizar los productos básicos x / 86 servidores. Además, el énfasis de IBM en análisis y su cartera de grandes servicios están impulsando gran parte de los ingresos de datos grande de la compañía. Por otra parte, el mercado es inmaduro, con pequeños Big Data puros-plays sólo el aumento gradual de sus estrategias de salida al mercado.

Las innovaciones de mayor impacto en el mercado de grandes volúmenes de datos son, de hecho, que viene de los numerosos vendedores pure-play que, a partir de ahora, sólo poseen una pequeña participación en el mercado global. Si bien no todos van a tener éxito en el largo plazo, y sin embargo, algunos tienen que entregar ningún ingreso significativo, Wikibon espera que muchos de estos vendedores disfrutando de un rápido crecimiento en los próximos cinco años como sus ofertas, servicios de apoyo, y los canales de venta madurar. Por supuesto, esto también significa todos y cada uno de puro juego Big Data es un objetivo de adquisición potencial de mega proveedores de IBM, Oracle, HP, EMC, y otros. Como ha sucedido en otros mercados de rápido crecimiento, como el mercado de Business Intelligence en el período 2007-2008, el mercado de Big Data experimentará una consolidación significativa en los próximos tres a cinco años. Los vendedores de la adquisición sería prudente permitir actuales Big Data puros-plays para seguir operando y, más importante, innovando como entidades mayormente independientes, o el riesgo de sofocar la innovación que muy está alimentando un enorme crecimiento del mercado de datos grande.

A continuación se presentan ejemplos específicos de las innovaciones que están siendo impulsados ​​por grandes datos puros de roles:

Distribuciones de Hadoop Cloudera y Hortonworks son responsables de la mayoría de las contribuciones al proyecto Apache Hadoop que mejoran significativamente las capacidades de rendimiento de la fuente abierta del marco Big Data y la empresa de preparación.

Cloudera, por ejemplo, contribuye significativamente a Apache HBase, la base de datos no relacional basada en Hadoop que permite la baja latencia, búsquedas rápidas. La última de estas iteraciones, a la que los ingenieros de Cloudera contribuyeron, es v2 hFile, una serie de parches que mejoran la eficiencia de almacenamiento HBase.

Hortonworks ingenieros están trabajando en una arquitectura de próxima generación MapReduce que promete aumentar el tamaño máximo de clúster Hadoop más allá de su actual limitación práctica de 4.000 nodos, así como añadir un cierto nivel de transmisión en tiempo real las capacidades de análisis de datos.

MapR tiene un enfoque más propio para Hadoop, que complementa HDFS con su compatible con la API de DirectAccess NFS en su distribución de Hadoop empresa, añadiendo capacidades significativas de rendimiento y tiempo de actividad.

Next Generation Data Warehousing Los tres líderes, hasta hace poco independientes proveedores de almacenamiento de datos de próxima generación - Vertica, Greenplum, y Aster Data - están dando un vuelco al mercado tradicional de almacenamiento de datos empresariales con bases de datos analíticas masivamente paralelas, columnares que entregan aligerar la carga de datos rápido y casi real capacidades de consulta de tiempo.

La última versión de la Vertica Analytic Platform, Vertica 5.0, por ejemplo, incluye nuevas capacidades de elasticidad para expandir fácilmente o implementación de contratos y un montón de nuevas funciones analíticas en la base de datos.

Aster Data ha sido pionero en un marco de SQL-MapReduce novela, que combina lo mejor de ambos enfoques de tratamiento de datos, en tanto que única plataforma analítica de colaboración de Greenplum, Chorus, ofrece un entorno social para científicos de datos para experimentar con Big Data.

Los tres proveedores experimentaron un crecimiento significativo de los ingresos en los últimos dos o tres años, con Vertica a la cabeza con un estimado de $ 84 millones en ingresos en 2011, seguido de Aster Data, con 52 millones de dólares y Greenplum con $ 40 millones.

Plataformas y aplicaciones Big Data Analytic Un puñado de up-and-coming proveedores están desarrollando aplicaciones y plataformas que aprovechan la infraestructura Hadoop subyacente para proporcionar tanto a los científicos de datos y usuarios de negocios "regulares" con herramientas fáciles de usar para la experimentación de Big Data. Menos madura es el mercado de pulido a los usuarios finales aplicaciones Big Data.

Datameer está ganando tracción significativa con su plataforma de inteligencia de negocio basado en Hadoop que aprovecha una interfaz de hoja de cálculo familiar para permitir a los usuarios sin motor para manipular o analizar datos basada en Hadoop de otra manera; Razonamiento Digital, cuya plataforma de síntesis se encuentra en la parte superior de Hadoop para analizar la comunicación basada en texto, está muy arraigado en el sector gubernamental y está lista para expandir a las empresas más tradicionales. Karmasphere ha desarrollado una plataforma de desarrollo analítico que permite a los científicos datos para realizar consultas ad hoc sobre datos basados ​​en Hadoop través de una interfaz SQL.

Big-Data-as-a-Service Big-Data-as-a-Service se está desarrollando rápidamente gracias a proveedores como Tresata, 1010data y ClickFox. Aplicaciones y servicios de Big Data en la nube tienen el potencial de permitir que las pequeñas y medianas empresas, así como las empresas que carecen de conocimientos técnicos internos Big Data, para aprovechar el procesamiento de grandes volúmenes de datos y capacidades analíticas sin necesidad de desplegar y gestionar en las instalaciones hardware o software.

Plataforma basada en la nube de Tresata, por ejemplo, aprovecha Hadoop para procesar y analizar grandes volúmenes de sus clientes los datos financieros, incluyendo enriqueciéndola con datos de terceros, tales como los datos del mercado de valores y devuelve los resultados a través de on-demand visualizaciones para los bancos, los datos financieros empresas y otras compañías de servicios financieros.

1010data ofrece una aplicación basada en la nube que permite a los usuarios de negocios y analistas para manipular datos en el formato de hoja de cálculo familiar, pero a escala Big Data. Y las minas plataforma ClickFox grandes volúmenes de datos de punto de contacto del cliente para asignar la experiencia total del cliente con efectos visuales y análisis entregados bajo demanda.

Plataformas no Hadoop Big Data Otros proveedores no Hadoop contribuyen innovación significativa a la gran paisaje datos incluyen:

  • Splunk, que se especializa en el procesamiento de datos y el análisis de archivos de registro para permitir a los administradores supervisar el desempeño de TI de infraestructura e identificar los cuellos de botella y otras interrupciones en el servicio;
  • HPCC Systems, una spin-off de LexisNexis, que ofrece un marco de Big Data compitiendo para Hadoop que sus ingenieros construyen internamente en los últimos diez años para ayudar a la empresa en el procesamiento y análisis de grandes volúmenes de datos para sus clientes en finanzas, servicios públicos y gobierno ;
  • DataStax, que ofrece una versión comercial de la base de datos de código abierto Apache Cassandra NoSQL junto con los servicios de apoyo conexos incluidos con Hadoop.

Por supuesto, hay muchos otros que prometen Big Data creación de empresas que son demasiado temprano en su existencia a ser incluido en este informe los ingresos, pero que ninguno-la-menos están fuera de aperturas prometedoras. Entre ellos se encuentran Sqrrl, Aerospike, Platfora, Continuidad, Hadapt y Wibidata. Las empresas deben mantener una estrecha vigilancia sobre estos y otros datos de gran puros de papeles, ya que continúan desarrollando innovadoras pero prácticas Big Data plataformas, aplicaciones y servicios.

Línea de Acción: El mercado de Big Data está explotando, no sólo en términos de marketing publicitario, sino también en los ingresos reales. Mientras que las personas razonables pueden debatir definiciones y tamaños del mercado en general, una cosa está clara - Big Data es un mercado grande y de rápido crecimiento. Para profesionales de TI que significa la investigación de las formas en que se puede monetizar las fuentes de datos en sus organizaciones y la obtención de las habilidades necesarias para alcanzar dicho objetivo. Para la comunidad de proveedores que significa que usted necesita tener una historia alrededor de Big Data que es creíble con una hoja de ruta que ofrece un valor de negocio claro y flexibilidad para moverse con este espacio de rápido crecimiento.

domingo, 18 de agosto de 2013

El costo de oportunidad de los desarrolladores

Economía para Desarrolladores: Comprender el costo de oportunidad
Joe Finsterwald

La importancia de la economía:

"Las ideas de los economistas ... son más poderosas de lo que se entiende comúnmente. De hecho, el mundo está gobernado por poco más."
-John Maynard Keynes

Los desarrolladores de software están constantemente enfrentados a decisiones difíciles con respecto a la mejor manera de realizar una tarea o resolver un problema. Como resultado, estamos inundados de listas de precaución y artículos ensalzando los beneficios de las mejores prácticas. No haga "X" o asegúrese de hacer "Y". Los desarrolladores, sin embargo, a menudo no se les pide dar un paso fuera de sus funciones de desarrollo y piense en su código desde una perspectiva económica. El hecho es que para muchos de nosotros, el desarrollo es un negocio. Es nuestra primera profesión, incluso si pasa a ser nuestro segundo pasatiempo. En consecuencia, hacemos un flaco favor a nuestros empresarios, nuestros clientes y nosotros mismos cuando no somos capaces de pensar en el desarrollo de software en términos económicos.

Este artículo analiza algunos de los principios básicos de la economía que debe entrar en su forma de pensar antes de escribir que la próxima línea de código, empezar a trabajar en ese error, o bien optar por esta nueva característica fresca. Pensar de esta manera ayudará a que eleve del zángano que hace código a la esquina de un socio de negocios muy importante.

Cada error es sagrado. ¿O lo es?

Acabas de descubrir un error en una aplicación que utiliza su empresa para rastrear nuevas oportunidades de ventas. El equipo de ventas está furioso y su jefe está comprobando con que cada par de minutos para ver si se resuelve. Usted ya ha dejado una serie de mensajes que suenan cada vez más desesperados por el consultor que crea la aplicación. Por último se pone en contacto con usted. Él dice que tomará 10 horas a 200 dólares la hora de solucionar el problema. $ 2.000 dólares parece un montón de dinero a usted para que dude antes de decidir si se debe dar al consultor el visto bueno.

Entonces, ¿cuál es el costo de corregir el error? La respuesta de sentido común es de $ 2.000. Sin embargo, para un economista la respuesta es menos clara. El costo que representa para la empresa es de $ 2,000, pero el costo de oportunidad es potencialmente mucho mayor. ¿Cuál es el costo oportunidad que usted pide? Formalmente, se define como el valor de la alternativa no percibidos más valorada. Si usted está rascando la cabeza sobre la definición, imaginar que no corregir el error se traduciría en el equipo de ventas de la pérdida de un proyecto de millones de dólares. En este caso, el costo de oportunidad es un millón de dólares, que es significativamente más alto que el costo contable. En otras palabras, al no corregir el error que renunciar a una oportunidad millones de dólares para la empresa y la oportunidad del millón de dólares es la más valorada de todas las opciones que están disponibles para usted. Usted debe, obviamente, corregir el error.
No hay almuerzo gratis ...


Ahora imagine el mismo escenario, excepto en este caso el error antes mencionado es una apariencia cuestión que sólo afecta a los empleados internos. También sabemos que el presupuesto para el desarrollo del departamento de ventas ya está atado, y cada gasto debe sopesarse cuidadosamente frente a otras prioridades. El equipo de ventas puede ser molesto, pero es que vale la pena para corregir el error?

La respuesta es probablemente no. Este principio puede parecer contrario a la intuición ya que como un desarrollador que ha estado más probable es inculcado en la creencia de que si se encuentra un error que debe ser corregido. Mantras se han construido en torno a la ermita de cero defectos, pero en realidad ese tipo de calidad tiene un costo. Cada decisión tiene un descuento comercial y el software no es diferente de cualquier otra cosa. La lección es: no todos los errores deben fijarse si su esfuerzo puede ser mejor gastado en otro lugar. La próxima vez que diga a su jefe que el costo opprotunity es demasiado alto para arreglar ese error, que tal vez inconvenientes a algunos usuarios y que se debe dejar que usted se centra en que la nueva función que abrirá las fuentes de ingresos adicionales.

Optimizar o no optimizar:

Ahora imaginemos otro escenario. Hace un par de años que escribió un informe automatizado para su empresa. Cuando escribió su primer informe a la gente en materia de contabilidad eran exuberante que ha tomado una tarea que antes llevaba días para completar reduce a una cuestión de minutos. Todo el mundo estaba tan impresionado que terminó en su revisión final del año y fue instrumental en conseguir que una gran ventaja. Ahora, sin embargo, la monotonía que liberaste a sus compañeros de trabajo de se ha olvidado y la gente ni siquiera han comenzado a quejarse de cuánto tiempo se necesita para ejecutar el informe que escribió. Ingratos! Para hacer las cosas más molestas que su jefe, incluso ha solicitado a acelerar su informe. ¿Crees que con un poco de optimización se puede reducir el tiempo de ejecución de su informe de entre 5 minutos y 1 minuto. Es esta una tarea que vale la pena?

Para responder a esta pregunta que tendrá que realizar un análisis de costos. ¿Cuánto cuesta hacer funcionar su informe? Para resolver esto vamos a tener que ser un poco creativo, y vamos a necesitar algo de información extra.

Tenemos que averiguar la frecuencia de uso de la información. Para ello tendremos que añadir un poco más de detalle a nuestro escenario. Imaginemos que un contador en la oficina corporativa se ejecuta el informe que escribió en el primer día de cada mes. Nuestro contador imaginaria tiene un trabajo bastante bueno. Ella sólo trabaja un 40 horas a la semana y le pagan un salario de $ 31.25 por hora. Ahora vamos a hacer los cálculos.


  1. El salario de un contador por minuto: $ 31.25 / 60 = $ 0,52
  2. El coste para la empresa para ejecutar el informe 5 minutos durante un año: $ 0.52 * 5 * 12 = $ 31.25
  3. El coste para la empresa para ejecutar el informe 1 minuto para un año: $ 0.52 * 12 = $ 6.25
  4. La diferencia de costos entre los dos informes: $ 31.25 - $ 6.25 = $ 25

Ya casi llegamos! El costo de oportunidad de la empresa de no volver a escribir el informe es el dinero adicional de los salarios que se deben pagar al contador que se ejecuta el informe, y los intereses no percibidos en el que el dinero pagado. La empresa no hubiera pagado el dinero de los salarios podría haber invertido en el mercado. Como resultado de ello, tendremos que dar cuenta de los intereses no percibidos para el cálculo de costes. Los economistas llaman a esto el costo de uso del capital: más formalmente, el costo de oportunidad que se incurre como consecuencia de la posesión y el uso de un activo.

Para calcular el costo en términos de interés que tendremos que calcular el valor temporal del dinero. La ecuación de valor futuro (FV) de una anualidad nos permite descubrir el valor futuro de los pagos anuales.

Ecuación de Valor Actual Neto 



La siguiente tabla muestra los resultados de nuestros cálculos. El valor futuro se ha calculado para los tres tipos de interés diferentes y cuatro períodos de tiempo diferentes.

 Tasa de interés:
3%5%7%
FV 5 años$132.73$138.14$143.77
FV 10 años$286.60$314.45$345.41
FV 15 años$464.97$539.46$628.23
FV 20 años$671.76$826.65$1,024.89

Es interesante ver el efecto de unos minutos repartidos en varios años. Ahora imagínese si no fuera un usuario, pero mil y que el informe se ejecute todos los días en lugar de cada mes. En este caso, la optimización del rendimiento se hace más de un esfuerzo que vale la pena porque el costo de oportunidad de no solucionar el problema estaría en los millones!

Este escenario también muestra el efecto combinado de la tasa de interés y el tiempo en el costo de la optimización del rendimiento. Muchos desarrolladores podrían considerar la tasa de interés es un factor insignificante en un problema de optimización del rendimiento, pero cuando se piensa en términos de costo de oportunidad y el factor en el coste de uso del capital de los resultados en el tiempo pueden ser significativos.

En una escala más grande es el cambio en la tasa de interés afecta el mercado de software. Los economistas se refieren a la tasa de interés como el precio del dinero. Cuando el precio del dinero es alto estamos normalmente en una recesión, cuando el precio del dinero es bajo experimentamos la expansión económica. Sospecho que cuando el trabajo se ralentiza y las empresas se encuentran en un desarrollo de la contracción económica se centra en la refactorización más de desarrollo de nuevas aplicaciones. Este cambio de enfoque sería debido en parte a la escasez de obra nueva, sino también porque las empresas tienen más de un incentivo económico para trabajar en los problemas de refactorización, cuando la tasa de interés es alta y su tolerancia al riesgo es bajo. Es el equivalente de software de un vuelo hacia la calidad.

Conclusión:

Es una locura para mí que muchas decisiones importantes en materia de software se realizan en ausencia de información sobre los costos. En mi opinión la capacidad de gestionar los recursos con eficacia y para tomar decisiones de negocios requiere que usted tenga una comprensión de los principios elementales de la economía. Aprender a pensar como un economista es similar al aprendizaje de la programación orientada a objetos, ya que es un principio contrario a la intuición. Sin embargo, aumentar su comprensión de los conceptos económicos como el costo de oportunidad le proporcionará una metodología rigurosa para pensar acerca de los problemas en general, y en última instancia, hará un mejor desarrollador y socio de negocios.

Espero que este artículo ha sido útil para usted. Por favor, no dude en enviarme un correo electrónico si usted tiene cualquier pregunta (mi correo es en el "Sobre el autor" de arriba.) Si usted piensa que me he perdido algo, yo agradecería mucho que me deja saber.

Joseph Finsterwald

sábado, 17 de agosto de 2013

Desarrollar o contratar software: ¿costo fijo o de oportunidad?




Desarrollo de software: ¿Costo fijo o costo de oportunidad?

Anthony Pighin, Director, NPI y asociados

Al iniciar un nuevo proyecto, que forma parte del proceso de toma de decisiones es decidir qué componentes se diseñarán in-house, y que es mejor dejarlo a los proveedores externos. A veces la línea divisoria puede ser tan simple como la externalización de la plataforma de hardware, y hacer todo el desarrollo de software interno, pero la elección es a menudo mucho más complejo.

Si examinamos la simple división de hardware / software un poco más, esto no puede ser un escenario tan poco realista después de todo. En este caso, la compañía ha decidido que su principal competencia está en el diseño de software, y que van a ser capaces de diferenciarse a través del innovador software que diseñan en para que corra encima de un hardware básico. En este sentido, la compañía ha reconocido que, al asignar de forma inteligente sus recursos limitados, que se acelerará el tiempo de comercialización, y mejorará en gran medida sus posibilidades de éxito.

Un escenario más realista es una empresa que decide mantener un cierto desarrollo de hardware y software in-house, y externalizar o contratar el resto. Una vez más, esta división suele enfatizar las fortalezas internas de la empresa tiene, y deja a los aspectos altamente especializados a los expertos externos, tales como el diseño de los módulos de radiofrecuencia, o la aplicación de componentes de muy bajo nivel de software.

Al hacer este análisis, la empresa también tendría que comparar el costo de desarrollo de un componente in-house en lugar de comprarlo ya hecho. Suponiendo que el componente en cuestión proporcionaría diferenciación limitada si se desarrolla in-house, pero todavía tiene que ser robusto, a menudo existe la tentación de mantener el desarrollo interno para garantizar la calidad. Muchas empresas fallan aquí porque ven sus recursos como costo fijo.

Mientras que un empleado de tiempo completo de hecho puede ser un costo fijo de un punto de vista contable, no es un empleado de costo cero. Está el costo de oportunidad de hacerlos trabajar en un componente que proporciona escasa diferenciación en el mercado. Y, más importante aún, el tiempo y el esfuerzo a largo plazo por apoyar los componentes especializados.

Hay estudios que afirman que el caudal de diseño típico es de 20 a 30 líneas de código por día. No por hora, sino por día. Claramente, esta es una zona de intenso y acalorado debate, sobre todo entre los propios diseñadores. Sin embargo, cuando se suman el tiempo necesario para el adecuado diseño, revisión de documentos, y pruebas de cada línea de código, ese valor se vuelve muy preciso. Especialmente cuando se evalúan los componentes de software altamente especializados.

Ahora, vamos a considerar un componente especializado que requiere de 10 mil líneas de código. Y supongamos que los estudios de los libros de texto son conservadores en un orden de magnitud, y que los ingenieros de software son capaces de 300 líneas de diseño, crítica, documentado y prueba de líneas de código por día. Esto significa seis a siete semanas de tiempo de diseñador (de nuevo, suponiendo que los estudios están fuera por un factor de diez). A una tasa de salario promedio de $ 80.000 por año, esto significa aproximadamente $ 10.000 para desarrollar este componente, sin tener en cuenta la sobrecarga de personal de apoyo, infraestructura, etc

Peor aún son los costos de mantenimiento a largo plazo del desarrollo de un componente in-house que no agregue diferenciación a su producto final, o que requiera un esfuerzo importante de soporte a largo plazo, debido a su complejidad o especialización. Es posible que el desarrollador original deba haberse separado para un proyecto futuro para depurar o actualizar el componente, lo que resulta en un retraso imprevisto. Y, no sólo este impacto demora el proyecto actual, se desenfoca y desmotiva el desarrollador. Pueden haber acogido el desafío de la tarea inicial, pero se les pide que apoyen muchos meses o años más tarde es un menos agradable.

En general, el desafío de decidir qué componentes desarrollar internamente, y que es mejor dejar a los proveedores externos especializados, es compleja. Muchas empresas, especialmente las grandes, ven a sus diseñadores están siendo un costo fijo. Y mientras que lo son, desde una perspectiva pura de dólares y centavos, el costo más grande es el costo de oportunidad, y el impacto en el tiempo de comercialización. Las grandes empresas deben tener en cuenta a las empresas más pequeñas, más ágiles. Y, del mismo modo, las pequeñas empresas tienen que destinar sus limitados presupuestos de las áreas que lo diferencian y destacan sus fortalezas.

Embedded Computer Design

viernes, 16 de agosto de 2013

Algoritmos que conectan a la ciencia

Using algorithms to link-up researchers



The European country with the highest number of international research connections is the United Kingdom.
Scientists are developing algorithms that can connect researchers across the world who have similar interests by scanning the content of academic papers.
Researchers at TEAM, an EU-funded project, are using algorithms to quantify the extent to which scientific papers cover similar ground, and are looking at ways to profile scientists by the documents they have searched for. They are also developing technology that can facilitate searches of research papers.
The goal of the project, based at Graz University of Technology, Austria, is to allow researchers with similar interests to make contact with each other, wherever they are in the world.
'With increasing specialisation, we need to find scientists with the same research interests, but outside the same institution, or even abroad,’ said Professor Stefanie Lindstaedt, the scientific director of the Know-Center, located at Graz University of Technology, one of the principal partners in the project.
Since the Enlightenment, discoveries have been exchanged, discussed, and peer reviewed before emerging as science. This interaction is all the more important in an age of highly specialised research groups, where progress increasingly depends on bringing expertise together.
In order to find out about how scientists have linked up across different countries, TEAM looked at the digital tracks left by researchers on the Internet. They then developed ‘Cross-Country Collaborations’ to refine the information. The outcome was the creation of an online map displaying the international research connections of countries across the globe.
‘With increasing specialisation, we need to find scientists with the same research interests, but outside the same institution, or even abroad.’
Professor Stefanie Lindstaedt, Scientific Director, Know-Center, TU Graz
Using Cross-Country Collaborations, they found that the European country with the highest number of international research connections is the United Kingdom. The UK has a leading place in cross-border collaboration, with almost as many international connections as the United States, making it the second most internationally connected country for research in the world.
The map also showed that some of the relatively smaller EU Member States such as Denmark, Sweden, Austria, and Belgium have a much higher number of research connections per capita than larger EU countries.
‘The international reach of researchers in small European countries, including Belgium, Denmark, and Austria is remarkable,’ said Prof. Lindstaedt.
Cross-fertilisation
The TEAM project itself was the result of a collaboration between Graz University of Technology and two private companies, Mendeley, and Estonia-based ELIKO, a specialist in collaboration in the fields of electronics and communication technologies.
UK-based Mendeley, a firm which specialises in the creation of research databases, offered the project access to a social network it hosts in which over two million scientists from 113 countries interact in virtual communities.
A Marie-Curie grant aimed specifically at cultivating the transfer of knowledge between business and academia, called Industry-Academia Partnerships and Pathways, supported Peter Kraker, a PhD student at the Know-Center, and Sebastian Pöhlmann and Piotr Drozd, two analysts at Mendeley, in their investigation.
From his first-hand experience of academic research, Kraker is aware of the benefits that collaboration can yield in facilitating cross-fertilisation and synergies, so as to promote exploration in areas which might otherwise remain overlooked.


The top ten EU Member States when ranked by the total number of countries with which they have research collaborations.
Collaboration keeps you from stewing in your own juices,' he said. 'Our own experience developing Cross-Country Collaborations offers a good example of this. If the people at Mendeley hadn't approached me with their dataset, I wouldn't have looked into cross-country connections. Without programmes such as Marie-Curie, I wouldn't be in London now developing the project.’
Those involved in the TEAM project are building on its success by developing a desktop application that allows researchers to manage their scientific publications, share them with the public, and open them to public annotation.
‘We’re also planning a website which, at the click of a mouse, yields statistics about scientific publications and authors, trends for different research disciplines, recommendations for papers, and information on peers with similar research interests,’ Prof. Lindstaedt said.
Kraker is also making headway with another virtual map project, Head Start, which is designed to guide researchers through scientific literature. ‘The idea is to present the main areas of activity in a field at a glance, and relevant papers for each area. This should make it easier to grow acquainted with a new field,’ he said.

miércoles, 22 de mayo de 2013

Honor al creador del GIF


An Honor for the Creator of the GIF


By AMY O'LEARY


Among the thousands of file formats that exist in modern computing, the GIF, or Graphics Interchange Format, has attained celebrity status in a sea of lesser-known BMPs, RIPs, FIGs and MIFFs. It was honored as a “word of the year” in 2012, and Tuesday night, its inventor, Steve Wilhite, will be accepting a lifetime achievement award at The Webby Awards.
Now, almost any fragment of digital culture can be spun up into a grainy, gratifying animation. GIFs provide a platform for nearly everything, it seems — from rapid-fire political commentary to digital art to small moments of celebrity intrigue.
Has any file format received more attention, more accolades (or had more fun) than the GIF?
Invented in 1987, today the GIF has become the aesthetic calling card of modern Internet culture. Even Yahoo released one to announce the company’s acquisition of Tumblr this week, seen below.
“It’s been an incredibly enduring piece of technology,” said David-Michel Davies, the executive director of The Webby Awards. “Even as bandwidth has expanded,” he said, “it has been very exciting to see how much cultural cachet the format has gotten.”
But back in 1987, such things could not be imagined. Dial-up speeds were achingly slow. Image downloads were made even worse by interoperability problems. An article that year in the magazine, “Online Today” described the problem:
“Horror stories about incompatible microcomputers may be humorous when everyone is in a good mood, but they are certainly the nemesis of any serious computer user. The frustration is no laughing matter when a person wants to transfer some data or a graphics image, and the system doesn’t cooperate.”
Mr. Wilhite, then working at CompuServe (the nation’s first major online service) knew the company wanted to display things like color weather maps. Because he had an interest in compression technologies, Mr. Wilhite thought he could help.
Steve Wilhite was featured in an October 1987 issue of the CompuServe magazine, Steve Wilhite was featured in an October 1987 issue of the CompuServe magazine, “Online Today” for inventing the GIF.
“I saw the format I wanted in my head and then I started programming,” he said in an e-mail. (He primarily uses e-mail to communicate now, after suffering a stroke in 2000.) The first image he created was a picture of an airplane.
The prototype took about a month and the format was released in June 1987.
“I remember when other people saw the GIF,” he said. Colleagues abandoned work on on other black and white formats, he said, as graphics experts began to spread the GIF online. A triumph of speed and compression, the GIF was able to move as fast as Internet culture itself, and has today become the ultimate meme-maker.
In the last decade, the animated GIF has reigned supreme, and while Mr. Wilhite has never himself made an animated GIF, he said the classic, “dancing baby” from 1996 remains a favorite.
Since retiring in 2001, Mr. Wilhite has led a quieter existence than his creation. He goes on RV trips. He built a house in the country with a lot of lawn to mow. He dabbles in color photography and Java programming. He uses e-mail and Facebook to keep up with family.
He is proud of the GIF, but remains annoyed that there is still any debate over the pronunciation of the format.
“The Oxford English Dictionary accepts both pronunciations,” Mr. Wilhite said. “They are wrong. It is a soft ‘G,’ pronounced ‘jif.’ End of story.”

The webcast of Mr. Wilhite’s Webby Award acceptance speech will be on YouTube on Wednesday.



Bits Blog

lunes, 5 de diciembre de 2011

Proyectos: Software para problemas sociales


Proyectos tecnológicos para analizar problemas sociales

Se realizó en Buenos Aires el evento "Desarrollando América latina" en el que se presentaron distintas propuestas tecnológicas para analizar, estudiar y resolver conflictos. La Nación

La utilización de la tecnología para resolver problemáticas sociales de la región. Bajo ese enfoque se realizó el Hackaton de Datos Públicos en el evento "Desarrollando América latina", un encuentro en el que se reunieron expertos en tecnología para aplicar los nuevos desarrollos en temas como educación, seguridad y contaminación ambiental.
La intención del encuentro, que además se realizó en Brasil, Chile, México, Perú y Uruguay, era que los expertos puedan compartir los distintos proyectos tecnológicos que pueden contribuir a la resolución de problemáticas sociales.
De forma simultánea, los desarrolladores de Argentina, Brasil, Chile, México, Perú y Uruguay participaron ayer y hoy de diversas propuestas tecnológicas con el acceso a bases de datos públicas y el apoyo de la ONG Fundación Ciudadano Inteligente, que lidera la iniciativa junto a otros organismos locales.
GarageLab, uno de los organizadores del evento en Buenos Aires, lanzó un proyecto para aprovechar datos públicos para resolver problemas de transparencia en el sitio DineroyPoliticay problemas de contaminación ambiental en el sitio QuepasaRiachuelo.
En estos proyectos se utilizan distintas variables que fusionan documentos estatales, estadísticas y hasta información geográfica que ayuda a estudiar con mayor precisión cada tema.
En el caso puntual del Riachuelo, en estas iniciativas se analiza el cruce de personas físicas y jurídicas, fuentes de documentos públicos como el Boletín Oficial, información geográfica que sirve para determinar la distancia entre los basurales y los asentamientos precarios con los cursos hídricos de la Cuenca Matanza Riachuelo para identificar personas en alerta de salud.


jueves, 24 de noviembre de 2011

Gestión de proyectos de software

Gestión de proyectos


"La gestión de proyectos es la disciplina de organizar y gestionar los recursos de tal manera que estos recursos ofrecen todo el trabajo necesario para completar un proyecto dentro del alcance, tiempo y limitaciones de costo definidas". [Wikipedia]
Un director de proyecto rara vez toma parte en las actividades que producen el resultado final, lo que hace más bien es esforzarse por reducir el riesgo general de fracaso.

Los 5 principios de selección de personal
·         Elegir los mejores talentos
·         Coincidencia de trabajo (Job Matching)
·         Progresión de carrera
·         Equilibrio de equipo  
·         Eliminación del personal que no se adapte

¿Qué características muestra un buen equipo?
·         Compartir visión/objetivo
·         Identidad de equipo
·         Estructura guiada por resultados
·         Miembros competentes
·         Compromiso con el equipo
·         Confianza mutua
·         Interdependencia
·         Comunicación efectiva
·         Autonomía
·         Delegación de autoridad (Empowerment)
·         Tamaño de equipo pequeño

Gestión de Proyectos orientada a objetivos[1]
Fijar objetivos claros, con fechas de entrega claros, con la menor presencia de ambigüedades es el principio de un proyecto de software. Esa misma claridad ayuda a resolver muchos más problemas de los que se supone.

La gestión de la naturaleza humana
Si todos hicieran lo que debían hacer, no tendríamos necesidad de los administradores de proyectos o jefes de equipo. Si los programadores siempre escribieran código libre de errores, no tendríamos necesidad de equipos de prueba de software. Sin embargo, la realidad de nuestra industria es que los equipos necesitan líderes y gerentes, y el código necesita de pruebas. Como jefe de proyecto, usted se encontrará la tentación de culpar a los miembros del equipo cuando se escribe el código con errores o no cumplir con los compromisos del proyecto, que es una reacción natural, pero una errónea. Si el equipo fuese perfecto, no tendría que estar allí. Su papel, en gran medida, es ayudar al equipo a superar su propia naturaleza humana. Aquí están algunas de las expresiones del equipo de software, convirtiéndose en protagonista condición humana que se puede esperar: Los desarrolladores de software a escribir el código que está lejos de ser perfecto, con diseños que sean más convenientes que estratégicos. Los miembros del equipo participarán en disputas tristes, sin sentido, e infantiles sobre las cosas más triviales. El trabajo se ampliaría para dar cabida a el tiempo asignado para su realización (y más), y los proyectos se ejecutarán tarde. El equipo va a hacer todas estas cosas, no porque son malos, estropeados o infantiles, sino simplemente porque son humanos.

Haz que se sientan apreciados. La gente lucha entre sí a menudo porque están preocupados por su propio sentido de logro y la percepción sobre su trabajo. Cuando los empleados sienten que sus contribuciones son limitadas o están siendo percibidas de esa manera, es común que su frustración se dirija a sus compañeros de trabajo (y su jefe). Los psicólogos llaman a esta "proyección". Haga cumplidos periódicamente… son gratis.

El estado del proyecto hace girar al mundo. Es triste pero cierto. Cuando usted pide una actualización sobre el estado de los entregables del proyecto, los empleados se sienten obligados a entregar un buen mensaje. Recoger con regularidad informes sobre la situación mantiene a los miembros del equipo constantemente interesado en la producción de mensajes de buenas noticias para su gestión. El estado es una entidad que tipo Zen que exige el equilibrio. El personal subalterno y de bajo rendimiento puede tolerar más porque lo necesitan. El personal superior y las superestrellas que requieren menos molesta y más. Uso de informes de estado como un dispositivo para mantener a las personas en el camino y se centró, pero la demanda con cuidado con un ojo avizor sobre quién lo está pidiendo y cómo ello lo percibirán.

Ofrecer una salida para salvar la cara. A veces es necesario señalar a las personas que hicieron una macana o se fueron de ruta. Tienen que cambiar su forma o solucionar un problema. Como un jefe de proyecto y personal, no puede escapar a eso. Dicho esto, desea que la persona que recibe el mensaje de que abandone la sala motivados para cambiar y seguir trabajando con entusiasmo. Si alguien se deja sentir abatido, deprimido, o a la defensiva, las cosas pudiera derivar en resultados cada vez peores. Para evitar esto, asegúrese de que todas las conversaciones duras proporcionen al destinatario una salida para salvar la cara, una manera de salir de la sala con una sonrisa. No es tan difícil de hacer. Conceder algunos puntos, o puntos parciales, sobre las causas últimas por lo general se desinfla mucha de la tensión. En segundo lugar, a pesar de los problemas que se encuentran en proceso, permiten ser optimistas para el futuro si las cosas pueden dar la vuelta.

Haciendo uso de los estudiantes
Los estudiantes son mano de obra barata, a menudo muy productiva, y un gran forma de bajo riesgo para identificar el talento de estrellas. Incluso mejor, por lo general están felices y dispuestos de hacer todo el trabajo duro que sus bien pagados empleados superestrellas no quieren. Siempre me he sentido fuertemente que los estudiantes de prácticas a los estudiantes la cooperación triunfo para el valor debido a la complejidad de las posiciones de software en general significa que los primeros meses en el software trabajo es aprendizaje puro.
Para la mayoría de las posiciones de cooperación, el trabajo dura sólo unos meses, por lo que el tiempo efectivo que usted puede salir de los estudiantes es bastante escaso y, en algunos casos, los estudiantes de cooperación drenan más recursos que los que proveen. Los estudiantes de prácticas se suelen colocar por 8-16 meses, y se puede obtener un valor importante de ellos durante ese tiempo. Es un proceso de bajo riesgo para la identificación de talentos.
Piense en las prácticas de estudiantes como de su oportunidad de "probar y comprar." Si los estudiantes son superestrellas, usted descubrirá rápidamente a través del curso de su trabajo de duración. Si los estudiantes salen grandes o no, la experiencia de trabajo de duración dará una comprensión mucho más profunda de sus capacidades de una breve entrevista o prueba de aptitud podría hacerlo. Si un estudiante es un fiasco, no hay mucho daño, y no tiene la obligación de contratarlo de nuevo una vez que el estudiante termine su plazo. Los estudiantes son una fantástica manera de reclutar a los mejores y más brillantes, con poco riesgo, mientras que les asigna algunas de las tareas bajas en las que no quieres gastar sus programadores de alto costo y altamente experimentados.

El valor de medir el valor
Una de las cosas más difíciles para un equipo de desarrollo, y también uno de los más poderosos, es medir el valor del software que se crea. Es sensacional cómo medir el valor crea valor en sí mismo. Una de las grandes cosas acerca de la medición es que se presta a la imágenes. Se puede ilustrar un número en la forma de un gráfico de líneas, un gráfico de barras u otra forma. Considere un par de ejemplos de mi propia experiencia en IBM.

De ratones, hombres, y los planes de proyecto
Los planes de proyectos de software siempre tienen componentes de negocio (quien es nuestra audiencia, cuáles son las ventajas y beneficios que esperamos traer a ellos, cómo vamos a llevar nuestra tecnología al mercado, cómo va a ser monetizado), los de ingeniería (definiciones de características y especificaciones, el diseño, código, pruebas unitarias, pruebas de función, integración y pruebas de aceptación y pruebas del sistema), y los proyectos asociados a la gestión (análisis de dependencia, de personal y cronograma de desarrollo). En un sector tan dinámico como el nuestro, es virtualmente imposible planificar todos los aspectos de un proyecto desde el principio y ejecutar sin necesidad de variar el plan.

"No hay plan de batalla que sobreviva al contacto con el enemigo." De hecho, sólo los encuentros iniciales de una batalla pueden ser realmente previstas (y sólo si usted está planeando el primer ataque). Si hay un lugar común de la planificación de proyectos de software, es que el plan con el que se termina no puede ser el plan con el que se comenzó. Si es así, uno de los siguientes ha ocurrido:

·         Usted es un adivino y ha predicho el futuro con facilidad.
·         Usted está trabajando en un proyecto muy simple, y es probable que no necesitaba nada lo suficientemente sofisticados como para llamarse plan.
·         No han reaccionado a los cambios del entorno que te rodea, y que está a punto de entregar un proyecto de software que se ha incumplido gravemente sus objetivos.

Los planes de proyecto cambian, ya que, en cualquier proyecto con complejidad moderada, ciertos parámetros no se pueden conocer desde el principio. Desde el momento en que comienza hasta el momento en que el proyecto se completa, las piezas en movimiento, tales como una mejor comprensión de las necesidades, las partidas que se ejecutan antes de lo previsto (unas pocas) y otros que desbordan (varias), competidores introducen saltos en tecnología que fuerzan a modificar su estrategia, y la gente que mover, cambiar o desaparecer. Las estrategias de desarrollo iterativas han ayudado a hacer que la adaptación sea más natural, pero el cambio de un plan de negocios nunca es fácil.

La evaluación de la madurez de su desarrollo
El punto más importante acerca de metodologías de desarrollo de software es contar con una metodología y asegúrese de que el equipo lo está utilizando. Si usted está poniendo hacia fuera código sin un proceso establecido para ello, se va a quemar más tiempo y generar más errores en la parte final. El resultado neto será excesos de programación y presupuesto, de menor calidad y los requisitos probablemente no alcanzados. Las metodologías principales ampliamente en uso hoy en día incluyen los métodos ágiles de desarrollo, proceso en cascada de desarrollo de software, y la creación rápida de prototipos. Vale la pena conocer lo que cada uno de estos es en realidad.

Desarrollo iterativo
Qué es: Una metodología para el desarrollo de software que hace hincapié en la creación de software en las ondas de función. Cada ola debe ser totalmente funcional antes de proceder a la siguiente. Los equipos normalmente evolucionan a partir de un proceso en cascada de un proceso iterativo y luego a procesos más ágiles.
Ventajas: Esta metodología tiende hacia un entorno de desarrollo más estable debido a las características siguientes se construyen sobre una base estable. Generar las primeras etapas de aprendizaje para mejorar la siguiente. Los problemas son descubiertos antes. Características desarrolladas en algunas de las primeras iteraciones de obtener una mayor exposición a las pruebas y análisis de usabilidad.
Desventajas: las características finales del ciclo presionan en tiempo, poniendo un alto riesgo de baja calidad o falta de entrega. Los equipos maduros cortarán funciones para mantener la calidad y el horario características de alto riesgo temprano y de bajo riesgo (o de baja importancia) hacia el final, reduciendo al mínimo este peligro.

Scrum
Qué es: Una estrategia para organizar a la gente en un equipo de desarrollo para el trabajo de alta eficiencia y colaboración. Un scrum es un grupo de personas trabajando en un proyecto, cada uno con funciones específicas, como propietario de producto y un scrum master. Los scrums se reúnen regularmente (a diario) a tiempo fijo (por ejemplo, 15 minutos) y se organizan en torno a períodos "sprints", de tiempo de un par de semanas con los objetivos específicos definidos por el scrum. El scrum también hace hincapié en demos y la retroalimentación de los primeros usuarios. Además de las reuniones diarias, programan reuniones para ayudar a planificar los sprints y revisar las pruebas de sprints.
Ventajas: Este método es efectivo para forzar/fomentar la colaboración, el logro de respuesta temprana, y mantener el ritmo. El Scrum es un lugar sencillo, ideal para empezar como una incursión en los métodos ágiles. La metodología scrum/ágil se extiende a la planificación y gestión en todo el ciclo de desarrollo en orden de prioridad.
Desventajas: Aunque las reuniones diarias de scrum fomentar la colaboración y el progreso, algunas personas pueden empezar a tratar a presionar implacable en las actualizaciones y en el status de desarrollo. En segundo lugar, el scrum no es un proceso de desarrollo completo, es mejor aplicada como parte de un proceso iterativo/ágil. No cubre la tecnología/desarrollo de las prácticas, ni tampoco trata de iniciar un proyecto o la puesta en producción.

·         Al iniciar cada iteración, el equipo revisa el trabajo pendiente del proyecto y selecciona la parte que terminará como un incremento de funcionalidad incorporado al software al terminar la iteración.
·         Al final de la iteración el equipo presenta el incremento de funcionalidad a las partes implicadas en el proyecto.
El equipo revisa los requisitos, considera la tecnología disponible, evalúa sus conocimientos, y de forma colectiva determina cómo implementar la funcionalidad.

Roles
Scrum tiene una estructura muy simple. Todas las responsabilidades del proyecto se reparten en 3 roles:
·         Propietario del producto
·         Equipo
·         Gestor de Scrum (Scrum manager o Scrum Master)

Características
·         Scrum es un método adaptativo de gestión de proyectos que se basa en los principios ágiles:
·         Colaboración estrecha con el cliente.
·         Predisposición y respuesta al cambio
·         Prefiere el conocimiento tácito de las personas al explícito de los procesos
·         Desarrollo incremental con entregas funcionales frecuentes
·         Comunicación verbal directa entre los implicados en el proyecto
·         Motivación y responsabilidad de los equipos por la auto-gestión, auto-organización y compromiso.
·         Simplicidad. Supresión de artefactos innecesarios en la gestión del proyecto.


Proceso de desarrollo ágil
Qué es: También conocido como el Proceso de entrega ágil disciplinado, esto es una expansión del modelo de desarrollo iterativo en una metodología de software en toda regla de desarrollo. Se añade de scrum diario, equipos multidisciplinarios (desarrollo, pruebas de usabilidad, beta y envasado, comercialización, y así sucesivamente), y los ciclos de prueba totalmente completos para cada iteración. El desarrollo ágil hace hincapié en la adaptación a los conocimientos adquiridos en cada iteración.
Ventajas: El desarrollo ágil añade mejoras significativas en la calidad sobre la base iterativa modelo de desarrollo a través de más pruebas exhaustivas de cada iteración. Los scrums diarios mantienen a todo el equipo coordinado, y los equipos multidisciplinarios para que el trabajo es más que un festival de codificación. El desarrollo ágil captura el valor de negocio deseado (con especial énfasis en las historias de usuario para dar cuerpo a las definiciones tradicionales de problema) y busca una retroalimentación constante que los objetivos se están abordando.
Desventajas: Agotamiento. El desarrollo ágil es increíblemente eficaz, pero mantiene una intensa presión sobre los equipos de medida que pasan de iteración a iteración. La intensidad es mucho mayor que el desarrollo iterativo solo porque la metodología incluye varios aspectos adicionales del proceso de desarrollo, aparte de diseño y código.
En segundo lugar, como con cualquier modelo iterativo, las características finales del ciclo consiguen exprimir todo el tiempo.
En tercer lugar, la voluntad de adaptar los planes de producto basado en una nueva comprensión de cada iteración significa que los miembros del equipo (y empresarios) no puede saber con certeza lo que va a ser entregada hasta muy tarde. Un punto importante obstáculo se produce cuando los equipos de liderazgo tratan de aplicar los métodos ágiles para entregar proyectos de alcance fijo en una línea de tiempo fijo. Lo ágil se presta a sí mismo a la adaptación y la voluntad de compromiso en el contenido o en el cronograma a medida que las iteraciones perfeccionan la comprensión del equipo de las necesidades y prioridades.
En cuarto lugar, a diferencia de la metodología de cascada, que durante años ha abogado que el código sea probado por gente que no es su autor, el desarrollo ágil promueve las pruebas basada en autor como un método para acelerar el ciclo de prueba. Esto se suma a las pruebas de eficiencia, pero también presenta un riesgo considerable, ya que cualquier mala interpretación de los requisitos del proyecto que el programador tenía durante la edición del código probablemente se extenderá en el esfuerzo de la prueba.

XP: Programación Extrema

Qué es: Esta variación del desarrollo ágil pone gran énfasis en la programación por parejas (ver foto abajo), el desarrollo basado en pruebas (TDD), en el lugar las necesidades del cliente, la refactorización del diseño, y las revisiones de código intensa.
Ventajas: XP lleva los beneficios de las mejores características de ingeniería de software a un extremo. Se impone la idea de que dos cabezas piensan mejor que uno en cualquier trabajo de diseño y codificación, y el énfasis en las revisiones de código lleva a la calidad del código notablemente más altas que las revisiones de código siguen siendo la industria el método más eficaz para la detección de defectos y eliminación.
Desventajas: Los extremos rara vez son saludables en todos los aspectos de la vida, y por lo general este modelo no escala a los equipos grandes. A través de TDD, casos de prueba se escriben antes que el código del producto, que define la función prevista del producto aún está por escribirse. Debido a que los casos de prueba son en sí mismos el código, los defensores de XP escribir código que define el código (en lugar de escribir una especificación del lenguaje natural), un enfoque que algunos han argumentado que es incómodo y desalienta a recursos eficaces requisito.

Desarrollo lean
Qué es: Esta metodología de gestión de proyectos está estrechamente relacionado con el desarrollo iterativo. Favorece las decisiones de ciclo tardías, donde más conocimiento y entendimiento se dispone: “Comprométete a lo más tarde posible." Se hace hincapié en la reducción de residuos y la sobrecarga de proceso, se trata de reducir la burocracia. El desarrollo Lean también hace hincapié en la entrega de productos al mercado lo más rápido posible. El mantra del desarrollo magra dice mucho de su filosofía: "Piensa en grande, actúa pequeño, falla rápido, aprende rápido".
Ventajas: Este método mejora la eficiencia de la organización mediante la eliminación de residuos. La metodología Lean hace hincapié en la evaluación continua, idealmente a través de la medición, para eliminar los residuos. Esto explica por qué las obras de desarrollo ágil, proporcionando las filosofías fundamentales detrás de él. Requisitos y código que no contribuyen al valor de los clientes se dejan de lado. Los planes de producto no son considerados compromisos hasta tan tarde en el programa como sea posible.
Desventajas: el desarrollo Lean es más sobre los principios que de procesos. Es la metodología para los líderes para ayudarlos a implementar el desarrollo ágil de manera eficiente e integrar el proceso de desarrollo ágil con el pensamiento de negocios. El desarrollo Lean es alto en ideales, pero un poco menos específico acerca de las medidas preceptivas para su ejecución. De hecho, es más conceptual, y se necesita un mayor esfuerzo de aplicar que, por ejemplo, meter el scrum. Los programadores junior a menudo pierden el valor.

Lean Startup
“Lean Startup" es un término acuñado por Eric Ries, su método aboga por la creación de prototipos rápidos diseñados para poner a prueba hipótesis sobre el mercado, y utilizar la retroalimentación de los clientes para evolucionar mucho más rápido que a través de las prácticas más tradicionales de desarrollo de productos, tales como el modelo de cascada. No es raro ver a Lean Startups liberar el código nuevo a los tiempos de producción de muchas veces al día, a menudo usando una práctica conocida como la implementación continua.
Según el New York Times, "El término ‘lean startup" fue acuñado por el Sr. Ries, de 31 años, ingeniero, empresario y blogger. Su inspiración, dice, fue el proceso de manufactura lean, afinado en las fábricas japonesas hace décadas y centrada en la eliminación de cualquier obra o inversión que no produzca valor para los clientes. "
Lean startup es a veces descrito como Lean Thinking aplicada al proceso empresarial. Un principio central del pensamiento Lean es reducir los residuos. Los procesos lean startup reducen los residuos mediante el aumento de la frecuencia de contacto con clientes reales, por lo tanto, de las pruebas y evitan suposiciones incorrectas del mercado tan pronto como sea posible [5]. Este enfoque trata de mejorar las tácticas empresariales históricas, reduciendo el trabajo necesario para evaluar los supuestos sobre el mercado, y disminuyendo el tiempo que toma una empresa para encontrar la tracción del mercado. Esto se conoce como producto viable mínimo (MVP).

En The Entrepreneur's Guide to Customer Development, Brant Cooper y Patrick Vlaskovits añaden un cuarto elemento, y que es el uso de potentes herramientas de análisis y de bajo costo y fácil de usar. Si bien algunas características de los lean startups se ​​han practicado durante años, la confluencia de estas tendencias es un reciente fenómeno que aumenta la velocidad de iteración o el "número de ciclos de aprendizaje por dólar", como el foco de negocios que ajustan productos a mercados. [6]

Principios del Lean Startup
·         Entrepreneurs are Everywhere
o   En Estados Unidos… pero acá también "Think big. Start small. Scale Fast."

·         Entrepreneurship is Management
o   Un emprendimiento es una institución, no sólo un producto por eso requiere un tipo de gestión enfocado en un ambiente de extrema incertidumbre.
·         Validated Learning
o   Los emprendimientos existen para aprender cómo construir una empresa sostenible. Este aprendizaje puede ser validado científicamente realizando experimentos frecuentes que le permiten al emprendedor evaluar cada elemento de su visión.
·         Innovation Accounting
o   Hay que medir progresos, establecer puntos de referencia y priorización de tareas. Eso requiere un tipo de contabilidad diseñada para emprendimientos.
·         Build-Measure-Learn
o   Todos los emprendimientos convierten ideas en productos, miden como responden los clientes y aprender si pivotear o perseverar. Todos los emprendimientos deben acelerar este bucle.

Proceso de Desarrollo de Cascada
Qué es: Este es el modelo clásico de desarrollo de software, donde el desarrollo progresa en una secuencia lineal desde los requisitos hasta la especificación, luego el diseño, código, unidad, prueba de verificación funcional, prueba de integración, de aceptación/beta, prueba del sistema de verificación, y el producto listo para despachar.
Ventajas: Los desarrolladores de software saben lo que tienen que hacer por adelantado. Los planificadores de negocios, marketing, y todos los equipos de ventas comprender el contenido del producto y fecha de lanzamiento desde el principio. Bajo riesgo para desarrollos bien conocidos y tecnología familiar.
Desventajas: comprenden plenamente las necesidades y complejidad de producir una solución que va a entregar en 9-18 meses es por lo general casi imposible de hacer por adelantado. El proceso de cascada casi garantiza una necesidad de un cambio de plan a mitad de ciclo, pero no está bien diseñado para darle cabida. En segundo lugar, un ámbito fijo y horario aprieta calidad cuando aumenta la presión programar en la parte final del ciclo, donde todas las pruebas y corrección de defectos se producen. Por adelantado los planes son frágiles y se rompen con facilidad. Mercados, necesidades del cliente, adquisiciones, competencia, y consideraciones similares cambiantes continuamente rompen el plan.

Figura 1. Modelo de Cascada



Prototipado rápido
Qué es: Esta es la idea de que cualquier software de diseño complejo debe ser un prototipo antes una prueba de concepto, para entender sus fortalezas y debilidades antes de ejecutarlo. Este modelo se utiliza a menudo como una fase temprana del modelo de desarrollo cascada.
Ventajas: El prototipado rápido saca mucho del riesgo del proceso de desarrollo de cascada. Los primeros prototipos ayudan a explorar los límites de un diseño propuesto al inicio del ciclo.
Desventajas: el código del prototipo suele ser bastante desordenado y limitado. Después de un prototipo exitoso, el código de prototipo debe ser desechado, y el equipo debe continuar el enriquecimiento del proyecto utilizando la metodología de cascada clásica. Sin embargo, los equipos han encontrado por doquier que es casi imposible resistirse a usar el código de prototipo como el punto de partida para el desarrollo de productos. El resultado neto es un producto final integrado en su núcleo en la parte superior de la baja calidad del código no fiable.

Figura 2. Historia del uso de los modelos de ciclo del software


Procesos de desarrollo de software actualmente
Las organizaciones modernas de desarrollo tienden cada vez más hacia los métodos ágiles (ver el lado izquierdo de la figura), pero los métodos ágiles también tienen sus problemas. Ya sea que elija una estrategia ágil o un modelo más clásico, puede aplicar estos métodos para gestionar una organización de software de primera clase y desarrollar software de alta calidad.



Prueba de Madurez

PREGUNTA SI? PUNTOS
1.       ¿Su equipo históricamente entrega los proyectos con las características de mayor prioridad, con una calidad excelente, y en 20% antes de la fecha de entrega prevista originalmente?  (10 puntos)
2.       ¿Su equipo utiliza un sistema de seguimiento de defectos? (10 puntos)
3.       ¿Su equipo utiliza un sistema de control de código fuente? (10 puntos)
4.       ¿Está claro para cada arquitecto, programador y tester el proceso que se debe utilizar para los requerimientos, especificación, el seguimiento de la gestión de código, pruebas y defectos? (10 puntos)
5.       ¿Su equipos crea y revisa planes de prueba que definen las pruebas que pretenden llevar a cabo? (10 puntos)
6.       ¿Su equipo de gestión de proyecto rastrea la tasa de defectos de las nuevas tasas de arribo y del tamaño nuevos retrasos?
7.       ¿Todas las personas que trabajan en el producto tiene una definición clara y unánime para la palabra "hecho?" (5 puntos)
8.       ¿Llevas a cabo pruebas de campo (programas alfa y beta) y/o estudios de usabilidad para obtener retroalimentación temprana? (5 puntos)
9.       ¿Sus desarrolladores entiendan claramente los objetivos de negocio a corto plazo para el producto que están trabajando, como la claridad en lo que los segmentos principales del mercado que son para el producto? (5 puntos)
10.   ¿Su equipo de pruebas interno puede escalar con el tamaño y la intensidad de su mayor número de usuarios esperado? (5 puntos)
11.   ¿Tiene la organización de desarrollo una mayor claridad tanto en la fecha de finalización del proyecto y una serie de hitos intermedios? (5 puntos)
12.   ¿Su equipo crea y revisa completamente las especificaciones del producto antes de que esté más del 30% terminado con la fase de codificación? (5 puntos)
13.   ¿Tiene su equipo descripción por escrito de los requisitos del proyecto, en la forma de una especificación, enunciados de los problemas, o los escenarios de usuario? (5 puntos)
14.   ¿Están por lo menos el 80% de los casos de prueba automatizados y se realizan de forma periódica? (5 puntos)
15.   Total (puntuación máxima: 100)
Si su puntaje es inferior a 70 en esta prueba, tienes un serio problema con la madurez de su organización de software. 
Si su puntaje es mayor de 90, felicitaciones, en mi opinión, está trabajando en un grupo que está en el percentil más alto de madurez en desarrollo de software.

Defectos de software y costos y eficiencias
Siempre es bueno captar los defectos del software en las etapas iniciales de cualquier ciclo de desarrollo de software. Si éstos salen a la luz en los estadios finales, resulta en altos costos y riesgos para todo el proyecto.
·         Más costos de soporte significan menos dinero para un nuevo desarrollo.
·         Desarrolladores de software gruñones significa un equipo de desarrollo menos motivado y eficiente.
·         Defectos a finales del ciclo en gran medida afectan la capacidad del equipo para concluir el proyecto, dando lugar a excesos de horario.
·         Menor calidad en el producto enviado conduce a menor satisfacción del cliente y reduce el éxito del producto. La baja calidad se traduce rápidamente a reducción de los ingresos.



Con el entendimiento de que los esfuerzos de calidad en las partes finales del ciclo cuestan dramáticamente más y produce menos, ¿cómo un aspirante a gerente de proyectos evitará los escollos y atolladeros de la detección tardía en el ciclo?
·         Revisiones de diseño, especificación, y código siguen siendo el método más eficaz para la detección de defectos tempranos.
·         Use una metodología de desarrollo iterativa para que las pruebas se lleven a cabo en las olas durante todo el ciclo de desarrollo, no como una masa de fondo del proceso.
·     Construya en la capacidad de prueba mediante la adición de numerosos puntos de seguimiento, afirmaciones y ganchos de programación que puede obligar a las condiciones de prueba (por ejemplo, la simulación de una restricción de memoria o falla en el dispositivo cuando no existe).


[1] Ligthstone, Sam “Making It Big in Software”. Prentice Hall, capítulo 15

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Hostgator Coupon Code