miércoles, mayo 30, 2012

Curso de Android

Tomado de: Curso de Android

Curso Android

Curso de iniciación a la programación en Android (y Java.)


Como crear una aplicación Android desde el principio, hasta su publicación en el market.
La aplicación está en el market con el nombre "Correcto Incorrecto".  Se actualiza acorde con el curso, para que véais como va quedando.

 - ULTIMA ACTUALIZACIÓN 24-5-2012 -

(En progreso)



-  Los cambios en los números de versión (p.ej.:v.1.0 ) indican cambios o añadidos grandes a ese capítulo
- Los cambios en las revisiones (p.ej.: 17-1-2012) indican pequeñas correcciones ortográficas que apenas cambian el contenido del capítulo.  
- Mira las revisiones de los artículos, no se publican en orden, ya que a veces se amplian temas anteriores y se hacen correcciones.

Ojala las pulgas de mil camellos egipcios, infecten el culo de quien copie estos tutoriales en otras páginas. Y que tenga los brazos tan cortos que no pueda rascarse.
O sea, básicamente, que no me copies mi trabajo.  Es libre para uso personal, aprende de él, imprímelo si te hace gracia, pero no los pongas en tu web por las buenas.  Si quieres enlázalos.

martes, mayo 29, 2012

Formulación de un Plan Estratégico Empresarial

Tomado de: Formulación de un Plan Estratégico Empresarial


En este artículo encontraras información para elaborar un Plan Estratégico Empresarial. Utilizaré una metodología muy sencilla y fabulosa que me enseño el profesor Carlos Pittaluga, y la hemos complementado con las experiencias de cada usuario de mis servicios. Siempre la utilizo y la recomiendo a empresas de pequeña a mediana complejidad, también sirve para analizar el rumbo que ha tomado la organización y reorientarla si es necesario. En los proyectos que las hemos utilizado ha sido una grata experiencia.

El Plan Estratégico es un documento en el cual se recoge lo que queremos que sea la organización en período de tiempo en  años y el cómo podemos conseguirlo. Del plan se establece las áreas de interés que debemos trabajar y mediante que acciones concretas podemos llegar a la situación que visionamos.

En este grafico vemos  las diferentes etapas o aspectos a desarrollar.



Comencemos con la conceptualización de la Empresa:

Establecer lo que queremos hacer, o lo que va hacer la organización (Suposiciones, creencias e hipótesis que sirven para moldear la cultura y van a determinar la conducta).

Analizamos cuales son las necesidades del sector que deseamos satisfacer. Se identifican los clientes y usuarios de los servicios y productos. Se realiza un análisis de valor intrínseco. Definir cuáles son las características de valor agregado para los clientes y como nos vamos a diferenciar de nuestros competidores.

Responde estas preguntas, detalla lo más que puedas las ideas e información.

a. ¿Qué necesidades del sector deseamos satisfacer?

b. ¿Quiénes se beneficiarían de los servicios y productos?

c. ¿Qué haremos para satisfacer las necesidades?

d. ¿Cuáles son las características de valor agregado de nuestros servicios y productos?

e. ¿Cuáles son nuestros competidores?

f. ¿Qué debo hacer diferente a mi competidor?

g. ¿Qué exigencias llevan implícitas estas diferencias?

h. ¿Qué es clave para el éxito?

i. ¿Cuáles deben ser las características y competencias de mi gente?

j. ¿Cómo es el comportamiento de la organización?

k. ¿Qué riesgos implica y que puedo hacer?

l. ¿Qué podemos perder?

Ahora debes establecer la Cadena de Valor del Negocio:

El primer grafico muestra una referencia de cadena de valor,  pero deberás elaborar tu propio Mapa de Valor y  detallar las etapas y secuencias de tu proceso de  servicio,  desde que idéntificas las necesidades del cliente,  hasta el servicio post venta. Puedes utilizar disgrama de bloque  u otra herramienta gráfica  más especializada como IDEFO  como el gráfico 2.







El segundo grafico es una metodología más avanzada de graficar donde se detalla los diferentes elementos de entrada y salida que participan en un proceso de valor.

Establecer las características de la calidad del servicio:

Se puede utilizar como guía lo establecido por Zeithaml, para describir las características del servicio, considerando también lo que estableciste como elemento diferenciador en la sección anterior.

a. Confiabilidad: Honrar lo prometido u ofrecido.

b. Empatía: Compenetración con el cliente.

c. Responsabilidad: Capacidad de respuesta y disposición.

d. Apariencia: Congruencia entre forma y fondo.

e. Seguridad: Confianza y credibilidad.


En este punto y con la información que has obtenido en esta etapa del ejercicio estas en capacidad de establecer los Principios Orientadores Estratégicos del Negocio.

Revisa lo que has descrito y desarrolla lo siguiente:

a. La razón de ser definida: Misión

b. El estado ideal y esperado: Visión

c. Los elementos diferenciadores: Factor clave de Éxito

d. Competencias: Habilidades, Conocimientos, características y condiciones de la gente

e. Valores: Creencias firmes en acciones concretas, principios que nos sostienen

f. Retos Estratégicos: Obstáculos o riesgos que debemos superar para llegar a la Visión

Análisis Situacional:
Si es una empresa que ya está en funcionamiento, entonces realiza un análisis comparativo de los procesos definidos y las funciones que desempeñan actualmente tus trabajadores, realiza un diagnostico de los procesos para prestar el servicio o producir los bienes y su coherencia con las funciones de los trabajadores.



Si ya está establecida la empresa es esencial que realices un Análisis FODA. Es una herramienta que te permite establecer un perfil de la situación actual de la empresa, puedes obtener un diagnóstico preciso que te permita tomar decisiones acordes con los objetivos y políticas formulados o los que vas a formular en este Plan Estratégico.

El término FODA es por cada una de las siglas de las palabras Fortalezas, Oportunidades, Debilidades y Amenazas. Esta herramienta de análisis establece que las fortalezas y debilidades son variables internas de la organización y que es posible actuar sobre ellas; y las oportunidades y las amenazas son variables externas que son difíciles de cambiar pero deben ser consideradas.

Análisis Interno:

a. Fortalezas: son las capacidades con que cuenta la empresa, y por los que cuenta con una posición privilegiada frente a la competencia. Recursos que se controlan, capacidades y habilidades que se poseen, actividades que se desarrollan positivamente, etc.

b. Debilidades: son aquellos factores que provocan una posición desfavorable frente a la competencia. recursos de los que se carece, habilidades que no se poseen, actividades que no se desarrollan positivamente, etc.

Analizas: Recursos financieros, proceso, organización, clima, conocimientos, tecnologías, instalaciones, etc.

Análisis Externo:

c. Amenazas: son aquellas situaciones que provienen del entorno y que pueden llegar a atentar incluso contra la permanencia de la organización.

d. Oportunidades: son aquellos factores que resultan positivos, favorables, explotables, que se deben descubrir en el entorno en el que actúa la empresa, y que permiten obtener ventajas competitivas.

Analizas: Factores políticos, lineamiento corporativos externos, aspectos legales e impositivos, sociedad, aspectos ambientales, disponibilidad de tecnologías, reputación, etc.

Para presentar los resultados del análisis puedes realizar una Matriz FODA, que se lleva a cabo en los ocho pasos siguientes:

1. Hacer una lista de las oportunidades externas clave de la empresa.

2. Hacer una lista de las amenazas externas clave de la empresa.

3. Hacer una lista de las fortalezas internas clave de la empresa.

4. Hacer una lista de las debilidades internas clave de la empresa.

5. Adecuar las fortalezas internas a las oportunidades externas y registrar las estrategias FO resultantes.

6. Adecuar las debilidades internas a las oportunidades externas y registrar las estrategias DO resultantes.

7. Adecuar las fuerzas internas a las amenazas externas y registrar las estrategias FA resultantes.

8. Adecuar las debilidades internas a las amenazas externas y registrar las estrategias DA resultantes.



Modelo de Matriz de  de análisis FODA.
Desarrollo del Modelo Estratégico:

Seguido de esta etapa viene la definición del Modelo Estratégico, existen diferentes herramientas metodológicas para desarrollarlo. Estas herramientas permiten que formules tus estrategias desde diferentes perspectivas. Ejemplo de las perspectivas son: Los Accionistas, Clientes o Usuarios, Trabajadores, Capacidades, Impacto en la Sociedad. Dependiendo de la naturaleza de la organización una herramienta metodológica puede ser más pertinente que otra.

Una herramienta comúnmente utilizada es el Tablero de Comando o BALANCE SCORECARD, esta herramienta establece 4 perspectivas para que definamos, Las estrategias, Objetivos e Indicadores:

1. Accionistas: Representa el punto de vista de quienes ejercen la propiedad del negocio.

2. Clientes: Representa el punto de vista de los destinatarios de bienes y servicios.

3. Procesos: Representa el punto de vista de las actividades necesarias para producir bienes y servicios.

4. Capacidades: Representa el punto de vista de las capacidades humanas, infraestructura tecnológica y de organización para realizar actividades productivas

En el siguiente grafico muestro dos ejemplos de modelo estratégico orientado a una intuición de salud privada, donde se incluye la perspectiva de impacto social, esto igual puede ocurrir en una institución pública.


 




En esta etapa se pretende definir los Objetivos estratégicos por cada perspectiva. El tablero de comando de proveer control para:

Las características del Tablero de Comando:

a. Dinámico

b. Proactivo

c. En tiempo real

d. Que permita tomar decisiones oportunas

e. Sintaxis para los niveles directivos

f. Específicos para los niveles operativos

g. Estandarizado

Los objetivos establecidos deben proveer como mínimo información sobre:

a. Objetivos Específicos

b. Metas

c. Indicadores para medir cumplimiento

d. Tolerancias

e. Sistemas de Alarmas

f. Acciones concretas

g. Compromisos (Fechas y Responsabilidades)

Un ejemplo de cómo se muestran los resultados:


Resultados de Tablero de Comando, lo puedes hacer desde utilizar una hoja de cálculo  hasta avanzadas herramientas automatizadas y computarizada.

Durante la ejecución del Plan  debes considerar:

El monitoreo de los resultados obtenidos y sus efectos

La identificación de causas de desviaciones

Los planes correctivos de causas de problemas

Los planes de mejora

Las evidencia de los comportamientos positivos

El sistema de alerta a los cambios de las condiciones iniciales e introducción de modificaciones consecuentes, garantizando la integridad del plan.

Recuerda que luego de haber definido la estrategias es importante la revision y diseño organizacional. Este punto lo desarrollo en otro árticulo. De la Estrategia al Diseño Organizacional.

La estrategia define al sistema, el sistema determina la estructura. Los valores y creencias habilitan los procesos y la función determina la forma.





Realmente espero que esta información te sea de utilidad, puedes escribirme para más detalles si lo requieres.

lunes, mayo 21, 2012

Instalando Subversion en CentOS

Instalando Subversion en CentOS


Aunque el título parezca un poco simple, el instalar Subversion en CentOS tiene su truquillo si lo que quieres es instalar la última versión de éste.
Uno de los puntos “fuertes” de CentOS y normalmente de cualquier servidor, es que son muy estables, pero esto tiene su punto negativo, y es que para ello nunca usan las últimas versiones del software, sino usan versiones antiguas, pero al mismo tiempo muy probadas y por consiguiente muy estables también. El usar una versión antigua de software no es nada malo, siempre y cuando esa versión todavía tenga soporte y está parcheada con los últimos parches.
Dicho esto, algunas veces podemos querer correr versiones más modernas en nuestro servidor por el motivo que sea. Ya sea porque necesitemos usar alguna funcionalidad que la nueva versión ofrezca, mejor integración con otros sistemas/productos en nuestra red, etc.
En casa tengo un pequeño servidor que corre CentOS y el otro día me decidí a montar mi propio Subversion. Para ello, sólo tenía que hacer:

yum install mod_dav_svn subversion
Esto te instala Subversion y el modulo para integrarlo con Apache. El “problema” es que la versión que hay en los repositorios oficiales de CentOS es la versión 1.4 y yo quería instalar la versión 1.6, la cual no está en dichos repositorios.
Lo primero es encontrar un repositorio fiable dónde tengan dicha versión. Nota, siempre puedes bajar el código fuente y compilar, pero eso requiera más trabajo y luego mantenerlo de forma manual.
Unos de los repositorios más conocidos es RPMforge. En este enlace os explican como instalar dicho repositorio.
Una vez tengáis instalado dicho repositorio, si intentamos de nuevo instalar o actualizar Subverison, vemos que todavía, lo que nos trae yum es la versión 1.4. Para que yum busque en el nuevo repositorio que acabamos de instalar tienes que hacer los siguiente:
Tenemos que editar /etc/yum.repos.d/CentOS-Base.repo y excluir de las secciones base y update. subversion y y mod_dav_svn. Esto lo hacemos con la etiqueta exclude. Poniendo la siguiente línea en ambas secciones:

exclude=subversion,mod_dav_svn
Luego debemos de hacer un update del sistema:

yum update
Si ya tenías subversion previamente instalado, te debería de decir que hay una actualización. Si no lo tenías instalado, entonces instálalo:

yum install mod_dav_svn subversion
Una vez hecho esto, vamos a crear un repositorio y activar el modulo de Apache (Asumos que ya tienes Apache instalado, sino este es un buen momento para hacerlo).
Edita el fichero /etc/httpd/conf.d/subversion.conf. Aquí copio el trozo de código de mi fichero de configuración:

<location repos="">

DAV svn

SVNPath /var/www/svn/repos

AuthType Basic

AuthName "Subversion repos"

AuthUserFile /etc/svn-auth-conf

Require valid-user

</location>







Ojo con el SVNPath. Por defecto el fichero de configuración viene tiene comentada todas esas líneas y algunas más, pero en vez de SVNPath, SVNParentPath. Al principio no me di cuenta y decomenté esa línea y no podía acceder a subversion desde Apache o Eclipse. Así que ¡cuidadín!
Una vez hecho eso:

service httpd restart
Ahora vamos a crear los usuarios que podrán acceder al SVN:

htpasswd -cm /etc/svn-auth-conf nombre_usuario
Después de tendrás que introducir la contraseña.
Ahora vamos a crear el repositorio. El path lo puedes cambiar si quieres, pero recuerda cambiar tu fichero de configuración también.

cd /var/www/

mkdir svn

cd svn
svnadmin create repos
chown -R apache.apache repos
service httpd restart
Una vez hecho esto, deberías de poder abrir tu navegador e ir a http://tuservidor/repos y deberías de poder ver el contenido de tu subversion. Te debería preguntar por el nombre de usuario y la contraseña.
Enlaces:
http://wiki.centos.org/HowTos/Subversion
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&redirect=Repositories%2FRPMForge#head-20e1f65f19ccf2f5fbf5adb30dbaf5ea963a64ae
http://stackoverflow.com/questions/96597/how-do-i-upgrade-to-subversion-1-5-on-centos-5

  1. Pedro Navarro Says:
    Hola, con la ayuda que publicas fue muy sencillo, configurar el svn y el apache, solo me quedan un par de preguntas:
    1.- Como hago para tener varios repositorios en ese mismo servidor?
    2.- En Web como se puede hacer para que los archivos de los repositorios se vean como un explorer de windows?
    Saludos y gracias!!
  2. tuxotron Says:
    Hola Pedro,
    para tener más de un repositorio, todo lo que tienes que hacer es crear el repositorio en si. Supongamos que quieres crear repos2 y que ya previamente creaste otro repositorio en /var/www/svn:
    cd /var/www/svn
    svnadmin create repos2
    chown -R apache.apache repos
    service httpd restart
    Luego tienes que añadir al fichero de configuración del módulo de apache:

    DAV svn
    SVNPath /var/www/svn/repos2
    AuthType Basic
    AuthName “Subversion repos2″
    AuthUserFile /etc/svn-auth-conf
    Require valid-user

    Referente a la segunda pregunta no sé muy bien a que te refieres, pero si lo que quieres es ver iconos, ten en cuanta que lo que ves desde el navegador es HTML, así que como no te montes una parafernalia o te busques algún plugin/módulo para Apache, no sé yo.
    Si lo que quieres es usar el explorador de Windows para navegar a través del repositorio, no sé si conoces TortoiseSVN. Un cliente para subversion que se integra en tu sistema.
    Un saludo.
  3. Pedro Navarro Says:
    Ok, de acuerdo con la parte de tener varios repositorios, Gracias!!
    Respecto a la segunda ya lo pude resolver con el RapidSVN, es un cliente que se puede conectar por varios protocolos y le da una vista al repositorio como de Windows Explorer.
    Solo que ahora tengo un problema con el funcionamiento del SVN, ojala pudieras ayudarme porque he encontrado ese mismo problema en N foros pero no he encontrado la respuesta.
    Cuando hago un Commit desde el cliente, me manda este error:
    Error while performing action: Commit failed (details follow):
    ‘D:\Repos\Visual Studio 2005\Projects’ is not under version control and is not part of the commit, yet its child ‘D:\Repos\Visual Studio 2005\Projects90721LecturaExcel.zip’ is part of the commit.
    Este error me sale utilizando el RapidSVN y el Tortoise, no se si me falto algun parametro al momento de crear el repositoro. Lo hace con los archivos o carpetas que estan dentro de una carpeta dentro del repositorio, si yo pongo un archivo directamente en la raiz del repositorio no me marca ese error.
    Tengo la versión 1.6.12 de Subversion
    Saludos y nuevamente gracias!!
  4. tuxotron Says:
    Hola Pedro, de nada hombre, un placer poder ayudarte.
    Llo que me parece que te ocurre es que estás intentando subir (sincronizar) un fichero de tu sistema local cuyo directorio no es un repositorio. Me explico. Para que puedas sincronizar ficheros de tu sistema local con SVN, el directorio donde reside ese fichero tiene que estar sincronizado previamente con el repositorio.
    Intenta lo siguiente. Haz click con el botón derecho del ratón sobre tu directorio D:\Repos\Visual Studio 2005\Projects, luego selecciona Create Repository Here (crear repositorio aquí), cuando hayas hecho eso, prueba a hacer el commit de nuevo del fichero que quieres subir y ya nos cuentas.
    Un saludo y suerte.
  5. Pedro Navarro Says:
    Hola, el problema que te comente me pasa con el RapidSVN y con el Tortoise, para el caso de Tortoise si hacia lo que me comentas, (Create Repository Here), he realizado algunas pruebas y en este momento creo que le cuesta trabajo al SVN cuando haces un Add de manera recursiva, en cuanto termine de hacer mas pruebas hay te aviso que fue lo que paso.
    Saludos y gracias
  6. hernan Says:
    Tengo una duda, y una vez que tengo instalado el svn, cómo hago para poder utilizar el sitio ese con apache? para poder usarlo como cliente y que se vaya actualizando cada vez que hago commit. GRACIAS!!