Archivo

Archive for the ‘Digitales’ Category

Burocracia y competitividad los demonios que sondan por las empresas de software

febrero 9, 2011 1 comentario

Antes de comenzar aclaro que no soy un experto y que me falta mucho para dar juicios mas asertivos, todo esto es basado con la poca experiencia que tengo y las investigación que he realizado.

 

Burocracia:

La burocracia es un peligro para las empresas y nace por la ansiedad de crear procesos, de imponer orden y control sobre los desarrollos que se hacen. Lastimosamente el exceso de estos procesos y seguimientos provoca una burocracia repetitiva en cada procesos de la empresa pero sobretodo en la entrega de proyectos, en la documentación y por ultimo en la revisión y/o testing.

Un ejemplo claro de este problema fue lo que le ocurrió a Microsoft con windows vista y los últimos productos que ha realizado Google, en varios artículos que le he ido algunos programadores de Micrososft decían que cada método o secuencia en el código era monitoreada hasta por 3 personas , aumentando el tiempo para cada desarrollo y creando un sistema inmenso de revisión tras revisión que nunca paraba.

pero entonces ¿ por que windows vista quedo tan mal ?   , ¿ por que los productos de Google no han sido exitosos?, No tiene sentido!!. pues puedo decir esto:

— Testing no es igual a calidad —

El testeo continuo, la revisión de código, la planeación excesiva no significan que la calidad sera mayor, los que pagan por esto son los programadores que ahora trabajan el doble y pierden la creatividad al ser cada vez mas cortos de cambios en lo que hacen.

Muchos comparan al desarrollo de software con la arquitectura, y muchos dicen que la arquitectura es el arte combinado con la ingeniería de hecho lo es y pienso que el desarrollo también lo es, pero las empresas no lo entienden.

Me ha tocado ver en mi corta experiencia proyectos que tienen en tiempos hasta un 50% de tiempo destinado a calidad, se recortan tiempos para el desarrollo y para el diseño del producto, pero el programador ya sabe algo:

Lo que empieza mal, termina mal

Por otro lado  la documentación es otro aspecto que se empieza a transformar , todo comienza cuando se exagera en el numero de documentos, se crean documentos para cada cambio, para enviar un correo, para una simple aprobación, esto hace crecer la documentación inútil y genera gasto exagerado de tiempo. por otra parte sigue la exageración en los documentos, he visto documentos de diseño de mas de 90 o 120paginas para proyectos muy pequeños, cosas que nadie se lee y que uno piensa que tienen “información detalla” pero en realidad es basura, es información exagerada que nadie leerá.

 

Competitividad:

Bueno para enfrentar el demonio de la competitividad empezare describiéndolo en un frase:

 

— Competitividad no es hacer las cosas mas baratas —

Lastimosamente las empresas de software no entienden que en este negocio no solo se debe competir con precios, los productos mas éxitos de software han sido desarrollados en múltiples plataformas, diferentes lenguajes de programación, con diferentes características, pero al final algo en común los hizo ser éxitos y es la creatividad y la innovación.

Es común que las empresas por su concepto herrado de competir con precios ganen fama de tener baja calidad y que muchas empresas los saquen de su portafolio de proveedores y otras  creen algo que llamo “Software desechable”, crean desarrollos que no son sostenibles, dificiles de actualizar y que se vuelven obsoletos rápidamente. esto no es conveniente ni para el cliente, ni para el proveedor, es un sistema que lleva al fracaso y que si genera un futuro sin competitividad.

Esta mentalidad se ha creado principalmente por la falta de experiencia de la empresas y también de los clientes, adicional se suma el sistema de capitalismo salvaje que aveces las empresas aplican indiscriminadamente y hacen estos software desechables casi que ha propósito, pienso que al final este modelo caerá entre mas las empresas utilicen las tecnología y sean mas dependientes de esta, necesitaran software de mas calidad y de mas durabilidad.

 

 


No mas discusión entre programadores – libre vs licenciado

septiembre 10, 2010 4 comentarios

Desde que estoy en industria de software he escuchado peleas constantes entre los que apoyan software libre y los que apoyan software licenciado, pero para mí esta discusión es absurda y estúpida.

Les he preguntado a muchos que apoyan el software libre que SO(Sistema operativo) tienen y me dicen que Windows, que software libre  tienen es su SO  instalado y me dicen que ninguno y por ultimo cuánto dinero han donado para estas empresas y me dicen que ninguno, por lo que veo algunos que apoyan el software libre solo saben hablar mal de Microsoft  y decir que Bill Gates es el anticristo en este mundo.

Los que apoyan a Microsoft o las empresas de software licenciado  parece que no entienden que los estudiantes y la gente más pobre no tiene dinero para pagar sus licencias, por ello es necesario la piratería la cual pueden prevenir sacando simplemente una versión gratuita, como lo han hecho con las versiones Express.

Esta lucha ha generado un odio tan grande y tan absurdo casi igual como el que existe hoy entra las religiones del mundo, ¿por qué nos odiamos?, ¿por qué si tenemos la libertad de escoger software libre o software licenciado no respetamos estas libertades?.

He odio la que Microsoft todo lo copia y por ello realizan ofensas y generan más odio, les pregunto ¿cuándo a Microsoft le copian algo por que no dicen nada?, los grandes avances tecnológicos se basan en mejorar cosas que ya existen, en mezclar tecnologías y Microsoft también puede hacerlo y si desea vender dicha tecnología está en derecho de hacerlo.

A todos los desarrolladores les mando un mensaje no peleemos, no discutamos, dejemos a cada quien decidir, los actos son los que quedan para la historia,  los insultos y los comentarios de mal gusto se olvidan y quedan en lo más profundo del cementerio de tiempo.

PROGRAMA DE COMUNICACION SERIAL EN ASSEMBLER PARA EL MICRONTROLADOR HC908GP32

agosto 18, 2008 12 comentarios

El siguiente es un código empleado para establecer una comunicación serial entre un computador y un microcontrolador de la marca Motorola de referencia HC908GP32.

El condigo consiste en enviar caracteres desde teclado de un computador conectado por el puerto serial hasta el microcontrolador, este a su vez tiene conectado por su puerto PTB un display de 7 segmentos de la siguiente manera:

Display de 7 segmentos —————— Microcontrolador ———————PC

El microcontrolador recibe los caracteres desde el PC si son numero desde 0 hasta 9 entonces los muestra en el display de la contrario muestra la letra E indicando error.

El siguiente es el código que se debe quemar en el microcontrolador explicado paso a paso.

FLS      EQU $8000 ; se iniciará en la posición 8000 de la memoria

RST      EQU $FFFE

CONFIG1  EQU $1F

PTB      EQU $01 ;se inicia el Puerto B

DDRB     EQU $05 ;se configura el DRRB

SCDR     EQU $0018

TC       EQU $06

SCISR    EQU $0016

SCRF     EQU $05

CONT     EQU $60 ;se crea apuntador en la posición 60 de nombre CONT

DATO     EQU $61 ;se crea apuntador en la posición 61 de nombre DATO

VAR      EQU $62 ;se crea apuntador en la posición 62 de nombre VAR

SCC1     EQU $0013

SCC2     EQU $0014

SCBR     EQU $0019

ORG   FLS ;se configura como punto de partida del programa FLS

MAIN:    BSET  0,CONFIG1 ; de deshabilita el COP

;Se configura todo el sistema para establecer la comunicación

MOV   #$03,SCBR

BSET  6,SCC1

BSET  2,SCC2

BSET  3,SCC2

MOV   #$FF,DDRB ; configure todo el Puerto B como salida

INICIO:  MOV   #$00,PTB ; apaga todo el puerto

LDHX  #MSG ;carga el mensaje “INGRESE UN NUMERO”

TX:      LDA   ,X

CMP   #$FF

BEQ   PRINT

BRCLR TC,SCISR,* ; Espera que se envié un dato al micro

STA   SCDR

AIX   #$01

BRA   TX

PRINT:   BSR   DELAY

BRCLR SCRF,SCISR,*

LDA   SCDR

CMP   #$39

BGT   ERROR

CMP   #$30

BLO   ERROR

SUB   #$30

STA   DATO

LDHX  #TABLA ;carga el número correspondiente en la tabla

TXA

ADD   DATO

TAX

LDA   ,X

EOR   #$80

STA   PTB ; envía el número correspondiente al display

BSR   DELAY

BRA   INICIO

ERROR:

MOV   #$F9,PTB ; envía la letra E al display

BSR   DELAY ; va a la subrutina para esperar un tiempo

BRA   INICIO ; vuelve al inicio del programa

; genera una rutina temporizadora con la variable VAR

DELAY:   MOV   #$00,CONT

SIGA:    CLR   VAR

LAZO:    NOP

NOP

NOP

NOP

NOP

DEC   VAR

BNE   LAZO

DEC   CONT

BNE   SIGA

RTS

; envía un mensaje al computador “INGRESE UN NUMERO”

MSG:     DB    “INGRESE UN NUMERO”,$FF

TABLA:   DB    3F ;tabla de los número del 0 al 9

DB    06

DB    5B

DB    4F

DB    66

DB    6D

DB    7D

DB    07

DB    7F

DB    67

ORG   RST

DW    MAIN ; regresa al comienzo del programa

END ;termina el programa

Agradeciemientos a Monica Ovadia Cardona

Alguna duda o sugerencia por favor pongan el comentario.

Gracias.