martes, 22 de enero de 2008

Zend Studio para Eclipse y Zend Platform 3.6 disponibles

Zend ha anunciado hoy la disponibilidad de dos nuevas versiones de sus productos: Zend Studio Para Eclipse y Zend Platform 3.6.

Zend Studio para Eclipse es la última versión del popular entorno de programación integrado (IDE). Diseñado para desarrolladores profesionales de PHP, esta nueva versión combina un IDE versátil y potente con las capacidades de expansión del ecosistema del proyecto Eclipse.
Algunas de las nuevas funcionalidades de Zend Studio para Eclipse ayudaran a todas las compañías que desarrollan sus sistemas en PHP a disponer de un entorno mucho más flexible y profesional para controlar todo el ciclo de vida de un desarrollo.
Entre estas funcionalidades, destacaría las capacidades de refactoring del código fuente (refactorización en castellano), funcionalidad que permite adecuar el comportamiento externo de una función/clase sin cambiar el funcionamiento interno, que junto a los nuevos wizards y capacidades de generación de código facilitarán el trabajo a los desarrolladores.
Desde el punto de vista de un IDE completo, disponer de un buen debugger local con la conexión a los servidores de desarrollo, junto a una política de trabajo en equipo y un sistema de control de versiones es posible manejar sin problemas proyectos complejos en PHP. Este whitepaper en PDF nos da una idea de las posibilidades y algunas buenas prácticas para la utilización de Zend Studio para entornos de desarrollo en PHP.

La nueva release de Zend Platform 3.6 aporta numerosas mejoras al único servidor de aplicaciones para PHP para la gestión del rendimiento, integración y escalabilidad empresarial actualmente disponible en el mercado. Zend Platform incluye sistemas para la mejora del rendimiento de servidores en producción, desde el punto de vista de la aceleración del código PHP, caché total y parcial, gracias a un API de caching utilizable desde el código PHP.
Pero la funcionalidad que a mi me parece más interesante es la que ellos denominan PHP Intelligence: es un sistema completo basado en eventos y alertas que nos informa en cada momento de todo lo que ocurre con nuestras aplicaciones desarrolladas en PHP. Desde errores de programación, fallos en funciones y en consultas a bases de datos, hasta alertas sobre ejecuciones más lentas de un script o una llamada a base de datos, valorando los tiempos en términos absolutos o relativos al propio script. Cada alerta es mostrada de una manera totalmente contextualizada e integrada con Zend Studio para visualizar el código, abrirlo para edición, ejecutar de nuevo la página con el error (manteniendo los valores originales de las variables de sesión y autenticación, por ejemplo) y realizar un debug o profiling completo.
Zend Platform además incluye un servidor de aplicaciones para la integración con código Java desde PHP y un novedoso sistema de gestión de colas de trabajo, que permite derivar ejecuciones de funciones a otros servidores de manerea asíncrona.

Para más información sobre Zend Studio para Eclipse y Zend Platform 3.6, además de los otros productos y servicios de Zend, podéis contactar con Concatel, distribuidor de Zend en España.

viernes, 18 de enero de 2008

Gestión de proyectos e inversiones


Tomando como inspiración el post de Carlos Blanco sobre beneficios o impuestos, un par de reflexiones sobre cómo gestionamos el I+D.

En nuestra compañía llevamos utilizando desde 1998 un sistema on-line desarrollado in-house que nos permite:

  • controlar los clientes activos
  • gestionar los contratos de cada cliente
  • dividir los proyectos en órdenes de trabajo (OTs), tantas OTs cómo fases o peculiaridades de un desarrollo particular
  • manejar los costes e inversiones externas relacionadas con un contrato (compras, subcontrataciones, etc.)
  • a parte de otras funcionalidades (facturación, gestión de personal, informes, etc...)
El objetivo principal es el de tener una fotografía exacta de todo lo que se está realizando en la compañía:
  • todos los empleados (desarrolladores, técnicos, etc.) imputan en el sistema a las OTs que tienen asignadas las horas dedicadas al desarrollo de las tareas y los proyectos
  • desde operaciones se controla el avance de los proyectos, gracias también a la relación de las horas dedicadas a una tarea y sobre todo a lo que denominamos devengado, o avance real del proyecto
  • el gerente de cuenta puede valorar la rentabilidad del proyecto con su cliente, tomar nota de los posibles desvíos en el desarrollo y mejorar en global en la estimación en tareas similares para proyectos futuros
  • la dirección de la compañía obtiene así una imagen centralizada del funcionamiento de las operaciones, su rentabilidad global y de cada uno de los clientes o proyectos
El mismo sistema lo utilizamos en la gestión de las inversiones.
En este caso utilizamos un cliente por producto, con sus contratos por cada área de gestión del ciclo de vida del mismo.
Nos permite tener una visión clara de las horas dedicada a un determinado producto y en una fase concreta (investigación de mercados, análisis, desarrollo, pruebas, marketing, soporte a clientes, Q&A, etc.). El sistema además nos proporciona una visión económica de los costes reales de cada una de las tareas, teniendo en cuenta tanto los costes salariales cómo los costes de infraestructura y staffing repercutidos por cada puesto de trabajo.

Poder analizar un proyecto desde el punto de vista de la dedicación real en las diferentes fases, nos ayuda a identificar, por ejemplo, si una versión de uno de nuestros productos ha tenido más problemas que otra, y comparar por ejemplo la dedicación al aseguramiento de calidad (QA). O poder planificar con exactitud la carga de trabajo en procesos loosely-coupled entre I+D y Marketing (documentación, campañas beta, formación de formadores, etc.).

lunes, 7 de enero de 2008

Hi, I'm Ruby on Rails

Buscando alguna comparativa no demasiado técnica sobre frameworks de programación MVC para PHP, he encontrado esta divertida campaña de Rails Envy.



Es la enésima parodia de los anuncios de Mac vs. PC, dónde el tipo cool charlaba con el gordito de Windows. Esta vez le toca al turno a Ruby on Rails vs. Java (hay muchas más parodias, interesante también la que hacen con CakePHP). A mi aviso esta de Java es la más lograda (el osito hibernado no tiene desperdicio) ya que describe muy bien quizás uno de los más grande “defectos” de Java para el desarrollo de aplicaciones webs: tantos componentes al final complican la vida a los desarrolladores, a los arquitectos y analistas y a la gente de sistemas.