sábado, 23 de noviembre de 2013

Buenas tardes, últimamente habrán visto mis ideas del desarrollo de componentes, muchos que no saben de lo que hablo y por qué vale la pena dirán que estoy haciendo cosas inútiles, por otra parte otros que si conocen componentes y modelos de componentes dirán que soy un estúpido por tratar de implementarlo en php.


Ambos tienen razón sobre mis ideas, pero siempre dije que php, desde un principio, no puede crear ni utilizar eficientemente un modelo de componentes, no porque los autores del lenguaje fueran ignoranetes, sino porque el objetivo de dicho lenguaje es otro. En otras palabras tengo tiempo y me tomo la idea como un juego, un juego que a la larga, quizá para mis clientes que exigen trabajos específicamente en php, resulte más varato el desarrollo de sus pedidos, aunque realmente estas ideas no son viables a nivel industria.

Muchos programadores nobatos que andan por la red, no conocen la industria que hay por detraz de la programación, ignoran los millones de dolares que manejan las empresas no muy grandes que venden componentes, yo lo ignoraba hasta hace un tiempo que conocí a una persona metida en el área y me dio la punta del hilo para empezar a pensar en estas cosas.

Muchas "empresitas" dicen desarrollar software, dicen ser industria, pero en realidad no lo son, ser industria representa el desarrollo de manera industrial, alguien que simplemente programa, y programa, y programa creando todos los productos de 0, en realidad no desarrolla de manera industrial.

Una empresa que se dedica a hacer páginas web en php, es muy raro que realmente sea una industria, y no sea una empresa proveedora de servicios, la diferencia entre ambas, es que una industria gana muchisimo dinero, y una empresa proveedora de servicios no tanto, más bien mucho menos.
Por qué una empresa que se dedica a hacer páginas web en php no es una empresa que trabaje de forma industrial? porque cada vez que un cliente le exige construir un sitio web, dicha empresa empieza a programar de 0 parte por parte, y a lo sumo copia y pega algunas cosas que ya tenía andando, ésto definitivamente no es muy industrial, en otras palabras es como si una fábrica de muebles, se pusiera a hacer mueble por mueble, cada parte del mueble, y hasta no terminar todo un mueble no empezar con otro, por el contrario, una industria de muebles, tiene una linea de producción que fabrica cajones, una linea de producción que fabrica los estantes, etc. y también tiene una linea de ensamblado, por lo que si nos ponemos a pensar en realidad no tiene nada de parecido, con la empresa que desarrolla páginas web.

Una empresa realmente industrial, debería tener todo basado en algún modelo de componentes, de forma que lo que haga es reuso automático de componentes, en otras palabras si quiere programar una web no empieza de 0, ya tiene componentes que gestionan publicaciones, componentes que gestionan usuarios, componentes que gestionan bbcode, componentes que gestionan enlaces amigables, etc. lo único que tiene que hacer es unir todos los componentes.

Notarán en éste punto la gran ventaja, una empresa que no trabaja de esta forma inicialmente no tiene mucho gasto, porque al primer sitio que haga, empieza a hacerlo y lo termina en menor tiempo y por ende menor gasto.

Una empresa basada en componentes, tiene que inicialmente gastar mucho tiempo en desarrollar de una forma específica, y compatible con un modelo de componentes, lo que le lleva más tiempo porque tiene que cumplir los estándares del modelo o comprar componentes.

Pero si bien inicialmente la apuesta es mayor para la segunda empresa, y el costo es mayor, la ventaja de los componentes es que a la larga del tiempo, uno ya tiene componentes para casi todo, y cuanto más cosas te pidan, más cosas tendrás a futuro para componer y armar un producto sin casi programar. de esta forma, el costo de producción es cada vez menor, hasta que se estabiliza y es siempre el mismo para cualquier producto.

En cambio, para la primer empresa siempre tiene que empezar de nuevo, y su código no tiene calidad porque no es exigida por nada, de forma que, cada vez el costo de mantenimiento, desarrollo y mejoras es mayor, la ganancia en bruto por supuesto es mayor, pero si se ponen a pensar, en realidad la ganancia real se mantiene y es poca, en la industria basada en componentes aumenta cada vez más las ganancias.

Esto se puede apreciar con el siguiente gráfico, donde la linea verde es la producción de software basada en industria, y la linea negra es la producción de software basado en el desarrollo no industrial.

como notaran, al comienzo del gráfico hay un costo mayor para la forma industrial, no obstante, a medida que pasa el tiempo, el costo es mayor para el desarrollo no industrial.

El punto de intersección entre ambas, donde se empieza a estabilizar la linea verde, es aproximadamente a los 5 años, donde la empresa ya tiene una gama de componentes que puede utilizar sin problemas en muchos nuevos productos sin programar casi nada.

Como verán, el desarrollo industrial es a largo plazo, pero a su vez, es mucha la diferencia de ganancia entre uno y el otro, muchos concideran que ese costo inicial que diferencia a ambas industrias no es un gasto, sino una inversión a futuro.

¿Por qué explico todo ésto? porque quiero comenzar a explicar calidad y una de las razones por la cual programar con calidad es para el desarrollo industrial.

Saludos!

0 comentarios:

Publicar un comentario

Subscribete al RSS Follow me on Twitter!