miércoles, 27 de diciembre de 2023

Diagrama de Contexto, comienza a explorar el sistema

 Un diagrama de contexto es una representación visual de la relación entre elementos, datos,  procesos de negocio y el sistema.

Este diagrama tiene 3 componentes principales que incluyen entidades externas, procesos del sistema y flujos de datos. Proporciona los factores y eventos que debe considerar al desarrollar un sistema. Con él, podrá determinar el alcance, los límites y los requisitos del sistema

Todos los diagramas muestran símbolos particulares según sus usos.

Entidad externa: un elemento en el diagrama del sistema que ingresa datos en el sistema de información y recupera datos procesados.


Proceso- se refiere a todo el proceso del sistema. Este se encarga de procesar y distribuir información a las entidades del diagrama de contexto del sistema.

Línea de flujo: este elemento representa el flujo de datos dentro del sistema. Está respaldado por texto para mostrar qué tipo de datos se envían.

Fuente: https://gitmind.com/context-diagram.html


 

martes, 26 de diciembre de 2023

Que son los requisitos en el desarrollo de software ;-) Segun Bing

 Los **requisitos en el desarrollo de software** son una descripción de lo que un programa de software en particular debe hacer. Son las pautas para que los desarrolladores creen un producto funcional que satisfaga las necesidades de los usuarios². Los requisitos son críticos en el mundo del desarrollo de software y aplicaciones, ya que definen la funcionalidad y el propósito de una pieza particular de software o aplicación¹. 



Generalmente, hay dos tipos de requisitos en el desarrollo de software y aplicaciones: **funcionales** y **no funcionales**. Los requisitos funcionales especifican lo que debe hacer un sistema, mientras que los requisitos no funcionales especifican cómo debe comportarse el sistema¹. 


Los requisitos son esenciales para el alcance de un proyecto. Ayudan a determinar qué características estarán en el producto final, cuánto tiempo llevará desarrollar esas características y cuánto costará¹. Además, los requisitos también ayudan a identificar los riesgos al principio del proceso de desarrollo y, dependiendo de la metodología que esté utilizando, ahorrando tiempo y dinero considerables más adelante¹. 


Los requerimientos de software proporcionan la base para las pruebas prácticas. Al tener un conjunto completo y bien documentado de requerimientos, los ingenieros de software pueden crear casos de prueba que cubren todos los aspectos del software que están desarrollando. Las pruebas ayudan a garantizar que el producto final cumpla con todas las expectativas del cliente¹.


Espero que esto haya sido útil. ¿Hay algo más en lo que pueda ayudarte?


Origen: Conversación con Bing, 26/12/2023

(1) Requerimientos en el desarrollo de software y aplicaciones. https://bing.com/search?q=que+son+los+requisitos+en+el+desarrollo+de+software.

(2) Requerimientos en el desarrollo de software y aplicaciones. https://www.northware.mx/blog/requerimientos-en-el-desarrollo-de-software-y-aplicaciones/.

(3) Cómo definir los requerimientos de un proyecto de software. https://rootstack.com/es/blog/como-definir-los-requerimientos-de-un-proyecto-de-software/.

(4) Comprender los requisitos en el proceso de desarrollo de software. https://fwctecnologia.com/es/blog/post/%20requisitos%20del%20proceso%20de%20desarrollo%20de%20software.

martes, 5 de diciembre de 2023

biblioteca de libros gratis

 https://archive.org/


Internet Archive es una biblioteca sin fines de lucro con millones de libros, películas, software, música, sitios web y más gratuitos

lunes, 30 de octubre de 2023

Como mejorar los resultados del equipo, mejorando las retrospectivas

comenzar reflexionando sobre la directriz principal del espacio, propuesta por de Norm Kerth: "Independientemente de lo que descubramos, entendemos y realmente creemos que todos hicieron el mejor trabajo que pudieron, dado lo que sabían en ese momento, sus habilidades y destrezas, los recursos disponibles y la situación en ese momento"

Premisa: los datos deben direccionar la retrospectiva, sino se analizan datos y hechos solo estan promoviendo mejoras cosméticas ;-) 

Accion 1: Redactar planes de mejora en términos de acciones concretas específicas (no metas) que el equipo pueda medir objetivamente para evaluar si el equipo está aplicando el cambio de proceso. Primero, mida para ver si el equipo está siguiendo la acción planificada.

En segundo lugar, medir el cambio en el rendimiento para evaluar si el kaizen tuvo los resultados deseados.

Dentro de una retrospectiva, haga lo siguiente:

1.       Examine las mejoras comprobables anteriores para ver si el equipo realmente las hizo y si tuvieron un impacto positivo.

2.       Para cada mejora propuesta, pregunte cómo validará el equipo la mejora (cómo sabe si el equipo tomó la acción planificada y en qué medida).

3.       Si no puedes validar la mejora propuesta, no la aceptes.

Para medir si una acción de mejora realmente funciona, necesita un medidor, una escala y una línea de base del rendimiento actual

Accion 2: "Necesitan poner el kaizen en el backlog. Necesitan usar Scrum para mejorar Scrum". 

Identifique el impedimento más importante en la Retrospectiva del Sprint y elimínelo antes del final del siguiente Sprint. Para eliminar el impedimento de máxima prioridad, colóquelo en el trabajo pendiente del sprint como una tarea con pruebas de aceptación (consulte Mejoras comprobables) que determinarán cuándo está terminado. Tener cuidado sino ha analizado adecuadamente la dinámica del sistema y no ha entendido la causa raíz de la disfunción principal, no estara atacando el problema sino un sintoma :-) 


fuentes: 

scrumbook.org.datasenter.no/retrospective-pattern-language/testable-improvements.html

scrumbook.org.datasenter.no/retrospective-pattern-language/scrumming-the-scrum.html 

martes, 29 de agosto de 2023

Equipos agiles compartidos, como manejar las interupciones

El equipo Scrum está sirviendo a muchas partes interesadas, todas las cuales compiten por la atención del equipo. Las solicitudes y demandas llegan al equipo desde la gerencia, desde el Cliente A hasta el Cliente Z, y desde ventas y marketing. Además, el trabajo en progreso puede descubrir deficiencias sorpresa en el producto en sí que requieren atención. La frecuencia e importancia de estas solicitudes varía con el tiempo, y ocasionalmente su volumen y urgencia son abrumadores.

Las prioridades cambiantes o los problemas en el campo a menudo interrumpen el trabajo de los equipos de Scrum durante un Sprint. Las demandas de ventas y marketing, combinadas con la interferencia de la administración, pueden causar disfunción crónica en un equipo, fallas repetidas de Sprint, incumplimiento de las fechas de lanzamiento e incluso fallas de la empresa.

En muchos sentidos, el equipo Scrum es un recurso comunitario que satisface las necesidades de muchas partes interesadas. La tragedia de los bienes comunes es un dilema que surge de la situación en la que múltiples individuos, actuando de manera independiente y racional consultando su propio interés, finalmente agotarán un recurso limitado compartido, incluso cuando está claro que no es del interés a largo plazo de nadie que esto suceda. El ecologista y filósofo estadounidense Garret Hardin describió por primera vez este dilema en un influyente artículo titulado "La tragedia de los comunes", que se publicó por primera vez en la revista Science en 1968. [1]

El equipo Scrum es un recurso crítico para crear nuevo software y mantener software antiguo. Esto lo convierte en un recurso central para resolver problemas que surgen durante el desarrollo y el uso del producto, para comunicaciones técnicas con clientes, para demostraciones de marketing y para proyectos especiales para satisfacer las necesidades de todos en la organización. Ver flujos de trabajo hacia adentro.

A menudo, la mala propiedad del producto permite que las prioridades competitivas en una empresa lleguen a un equipo Scrum. Algunos equipos incluso han sido sobornados para trabajar en características que no están en el Product Backlog.

En casi todos los casos, es deseable que el equipo Scrum "coma su propia comida para perros". Si producen un defecto que entra en el campo, necesitan arreglarlo lo antes posible. La creación de equipos de mantenimiento especiales para corregir defectos incentiva al equipo de Scrum a no estar atento a los defectos latentes.

Por estas y muchas otras razones, un equipo Scrum siempre está expuesto a interrupciones que interrumpen la producción. Por lo tanto: Primero Asignan explícitamente tiempo para interrupciones y no permiten más trabajo del que cabe dentro de la asignación. Si el trabajo excede la asignación, cancele el Sprint.

Establezca tres reglas simples que harán que la organización se autoorganice para evitar interrumpir la producción. Esta estrategia ayudará al equipo a replanificar durante el Sprint para aumentar las posibilidades de entregar el incremento completo del producto.

1. El equipo crea un búfer para elementos inesperados basado en datos históricos. Por ejemplo, digamos que un tercio de los El trabajo del equipo en promedio proviene del trabajo no planificado que ingresa al Sprint inesperadamente. Si la velocidad del equipo promedia 60 puntos, el equipo reserva 20 puntos para el búfer de interrupción.

2. Todas las solicitudes no triviales deben pasar por el propietario del producto para su clasificación. (Los errores ortográficos de la página web y los errores de compilación son ejemplos de errores triviales en los que la corrección es tan obvia que no hay ningún beneficio de información empresarial adicional. Los desarrolladores pueden dedicar una pequeña cantidad de tiempo a abordar incluso defectos no triviales antes de escalar al propietario del producto). El propietario del producto dará a algunos elementos baja prioridad si no hay un valor percibido en relación con el plan de negocios. El propietario del producto enviará muchos otros artículos a los Sprint posteriores, incluso si tienen un valor inmediato. Algunos elementos son críticos y el equipo debe completarlos en el Sprint actual, por lo que el propietario del producto los coloca en el búfer de interrupción.

3. Si el búfer comienza a desbordarse, es decir, el Product Owner pone un punto más de 20 puntos en el Sprint, el Scrum Team debe abortar automáticamente, el Sprint debe ser replanificado y el Product Owner notifica a la gerencia que las fechas se deslizarán.

Es esencial obtener un acuerdo de gestión sobre estas reglas y hacerlas cumplir. El Product Owner debe estar siempre disponible para el equipo y otras partes interesadas. En ausencia del propietario del producto, el equipo de Scrum debe designar a uno de los suyos para que ocupe temporalmente ese rol.

Esta estrategia es independiente del enfoque en arreglar todos los defectos que surgen en el Sprint de los elementos atrasados trabajados durante el Sprint . 

También es independiente de PBIs asignados a un Sprint por el Product Owner como parte de la Planificación del Sprint para reducir la deuda técnica. 

OJO exceder el búfer generalmente genera al menos una reducción del 50 por ciento en la velocidad. 

El Product Owner debe usar el sentido común para equilibrar estas fuerzas. 


 Fuente : scrumbook.org/product-organization-pattern-language/illegitimus-non-interruptus.html

jueves, 22 de junio de 2023

ingenieria de software de clase mundial :-)

el libro SWEBOK V3.0 comprende 15 áreas de conocimiento

Capítulo 1: Requisitos del software

Capítulo 2: Diseño de software

Capítulo 3: Construcción de software

Capítulo 4: Pruebas de software

Capítulo 5: Mantenimiento del software

Capítulo 6: Gestión de la configuración del software

Capítulo 7: Gestión de ingeniería de software

Capítulo 8: Proceso de ingeniería de software

Capítulo 9: Modelos y métodos de ingeniería de software

Capítulo 10: Calidad del software

Capítulo 11: Práctica profesional de ingeniería de software

Capítulo 12: Economía de la ingeniería de software

Capítulo 13: Fundamentos de computación

Capítulo 14: Fundamentos matemáticos

Capítulo 15: Fundamentos de ingeniería


Fuente : https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics



Acerca de SWEBoK


La Guía del Cuerpo de Conocimientos de Ingeniería de Software (SWEBOK) describe el conocimiento generalmente aceptado sobre la ingeniería de software. Sus 15 áreas de conocimiento (KA) resumen conceptos clave e incluyen una lista de referencia para obtener información detallada.

Pierre-Bourque
El coeditor de SWEBOK, Pierre Bourque, es decano de estudios de la École de technologie supérieure de la Université du Québec y es profesor en el Departamento de Ingeniería de Software y TI.

Para la versión 3.0, los editores recibieron y respondieron comentarios de aproximadamente 150 revisores en 33 países. Computer Society y sus voluntarios seguirán utilizando el proceso de consenso abierto y transparente que es una parte integral de SWEBOK para seguir mejorándolo. SWEBOK también obtuvo reconocimiento internacional como ISO Technical Report 19759.

martes, 13 de junio de 2023

5 sitios Web gratis

5 Servicios gratuitos de alojamiento de sitios web de 2023

Aunque hay muchos servicios de alojamiento que se promocionan como gratuitos, no muchos de ellos son opciones de alta calidad. Hemos buscado a través de las opciones que existen y las hemos reducido a una lista de las cinco más dignas de su tiempo y confianza.

x10Hosting: El mejor alojamiento de sitios web gratuito en general

  • Características destacadas: Creador de sitios web con más de 150 plantillas gratuitas
  • Quién debe usarlo: Startups e individuos que desean un sitio web gratuito o una tienda en línea con plantillas listas para usar

x10Hosting es la versión gratuita de x10Premium y ofrece uno de los pocos servicios gratuitos de alojamiento web que le brindan sitios web sin publicidad con almacenamiento y ancho de banda ilimitados. El plan gratuito de X10 incluye un creador de sitios web fácil de usar con más de 150 plantillas gratuitas, incluidos diseños de tiendas de comercio electrónico. x10Hosting también ofrece instalaciones fáciles con un solo clic para más de 300 scripts web, incluidas plataformas de sitios web populares, como WordPress, Joomla, MyBB y galerías de complementos, blogs, foros, herramientas de juego y más.

El alojamiento web gratuito de X10 admite un dominio personalizado, pero no le brinda un dominio gratuito. Puede usar el subdominio x10 gratuito o conectar un dominio de su propiedad. Puede agregar una dirección de correo electrónico gratuita utilizando su dominio conectado o subdominio gratuito.

AwardSpace: El mejor alojamiento gratuito de WordPress

  • Características destacadas: Protección integrada contra virus, SPAM y cortafuegos
  • Quién debe usarlo: AwardSpace es una buena opción para individuos y pequeñas empresas que buscan alojamiento gratuito de WordPress con atención al cliente receptiva

AwardSpace es otro servicio de alojamiento web gratuito que le permite crear sitios web sin publicidad utilizando su creador de sitios web Zacky fácil de usar o usar su instalador Zacky de un solo clic para cargar plataformas WordPress, Joomla y Grav. AwardSpace es una de las mejores opciones para el alojamiento gratuito y de bajo costo de WordPress en particular. Aloja millones de sitios web de WordPress en todo el mundo en planes gratuitos y de pago y proporciona extensos tutoriales de WordPress que cubren temas desde principiantes hasta avanzados.

Obtiene una cuenta de correo electrónico gratuita en el plan gratuito y puede conectar su propio nombre de dominio y crear tres subdominios para blogs, foros, etc. Los nombres de dominio no son gratuitos con el plan de alojamiento gratuito, pero obtienes un dominio gratuito de por vida con ciertos planes pagos.

Byethost: Lo mejor para desarrolladores de sitios web

  • Características destacadas: Kit de herramientas de alojamiento web gratuito a nivel de desarrollador
  • Quién debe usarlo: Desarrolladores de sitios web experimentados que desean alojamiento gratuito con control total sobre su pila tecnológica

Byethost ofrece un robusto servicio de alojamiento web gratuito para el usuario orientado a la tecnología. Si usted es un desarrollador o diseñador de sitios web que busca alojamiento web gratuito para sus propios proyectos o sitios web de clientes, Byethost encabeza su lista de opciones limitadas. También admite cuentas de revendedor bajo el plan gratuito si desea ofrecer alojamiento administrado por el cliente bajo su propio conjunto de servicios.

Sin embargo, Byethost no proporciona instalación de plataforma con un solo clic como los otros proveedores en nuestro resumen de alojamiento web gratuito. Si se siente cómodo con la administración de archivos a nivel de servidor y las interfaces de protocolo de transferencia de archivos (FTP), Byethost es uno a considerar. Los principiantes tendrán un tiempo más fácil con otros servicios gratuitos de alojamiento web que se presentan aquí.

000webhost: Lo mejor para un tiempo de actividad confiable

  • Características destacadas: Servidores de nombres protegidos por Cloudflare, garantía de tiempo de actividad del 99,9 %
  • Quién debe usarlo: Aquellos que buscan alojamiento web simple con instalación gratuita de WordPress, velocidades decentes y herramientas de firewall

Una empresa de alojamiento web mucho más grande conocida como Hostinger ofrece un plan de alojamiento básico y gratuito a través de 000webhost. Con más de 10 años de reconocimiento como una de las mejores plataformas de alojamiento de sitios web gratuitas, el plan gratuito de 000webhost es excelente para aquellos que buscan características simples pero útiles, incluido un panel de control, acceso a WordPress para la creación de sitios web y funciones avanzadas de alojamiento web, como servidores de nombres protegidos por Cloudflare, PHP, MySQL y FTP.

000webhost ofrece hasta 3 GB de ancho de banda entregado desde sus servidores SSD de 24 GB y la compañía se toma en serio la seguridad web, ejecutando Imunify360 para monitorear regularmente los sitios que aloja en busca de malware y otras amenazas.

Firebase: Lo mejor para usuarios de Google Cloud

  • Características destacadas: Dominio personalizado y SSL, múltiples sitios por proyecto y 10 GB de almacenamiento
  • Quién debe usarlo: Ideal para aquellos que desean integración con otras funciones de Google Cloud y pueden analizar las confusas estructuras de precios de Google.

Google Cloud ofrece alojamiento web a través de Firebase, una plataforma de desarrollo de aplicaciones para crear aplicaciones, juegos y sitios web. Firebase ofrece alojamiento web gratuito a través de su plan Spark, que incluye hasta 10 GB de almacenamiento y un excelente ancho de banda (360 MB por día). Sin embargo, para integrarse con los productos y funciones de Google Cloud, los usuarios deberán actualizar al plan Blaze. Blaze es gratuito, pero el uso de las funciones integradas de Google Cloud incluye una cuota sin costo que, una vez superada, será de pago por uso. El plan Blaze también ofrece almacenamiento de pago por uso y actualizaciones de ancho de banda una vez que los usuarios superan las ofertas iniciales del plan Spark. Tenga en cuenta que Google Cloud ofrece una prueba gratuita de 90 días y $ 300 en créditos para el uso de funciones, pero no es gratis para siempre.


Compare los servicios gratuitos de alojamiento de sitios web

x10HostingAwardSpaceByethost000webhostGoogle Cloud: Base de fuego
¿Anuncios mostrados en el sitio?NoNoNoNoNo
Almacenamiento y ancho de bandaIlimitado1 GB de almacenamiento y 5 GB de ancho de banda al mes1 GB de almacenamiento y 50 GB de ancho de banda al mes300 MB de almacenamiento y 3 GB de ancho de banda al mes10 GB de almacenamiento y 360 MB de ancho de banda por día
Garantía de tiempo de actividad del servidorN/AGarantía de tiempo de actividad del 99,9%N/AGarantía de tiempo de actividad del 99,9%"Más del 99% de tiempo de actividad mensual"
Dominio de nivel superior gratuito incluidoTres incluidosNoNoNo
Certificado SSL incluidoNoNoNoNo
Cuenta de correo electrónicoTres incluidosNo
Apoyo al clienteDisponible a través del foro o servidor de Discord, sin soporte telefónico o por correo electrónicoTickets de soporte 24/7 con respuesta de una hora, además de base de conocimientosSolo foro, sin soporte telefónico o por correo electrónicoSoporte por correo electrónico, sin soporte 24/7Soporte de preguntas frecuentes, Slack, lista de correo de Google Group y Stack Overflow
Precio inicial del plan pagado$3.95 por mesDesde 25 céntimos al mesDesde $4.99 por mes

 Fuente: 5 servicios gratuitos de alojamiento de sitios web (2023) - Forbes Advisor


miércoles, 29 de marzo de 2023

La ingeniería de software para industria 4.0

 Definiciones de Ingeniería de Software de la última década:

La ingeniería de software se refiere a la aplicación sistemática de principios, métodos y herramientas de ingeniería para el desarrollo, operación y mantenimiento de software de alta calidad que cumpla con los requisitos del usuario y las especificaciones del sistema. (Fuente: IEEE Computer Society)  (SWEBOK, por sus siglas en inglés), que es un conjunto de conocimientos esenciales para la práctica de la ingeniería de software. La versión más reciente del SWEBOK es la de 2018.

La ingeniería de software es la aplicación de principios de ingeniería para el diseño, construcción, prueba y mantenimiento de software de alta calidad en el contexto de sistemas complejos y cambiantes. (Fuente: ISO/IEC 12207:2017)

La ingeniería de software es una disciplina que abarca el desarrollo, operación y mantenimiento de sistemas de software. Esta disciplina se centra en la aplicación de principios de ingeniería, métodos y herramientas para la construcción de sistemas de software que sean eficientes, fiables, seguros y mantenibles. (Fuente: ACM:2014)

Ingeniería de software - Wikipedia, la enciclopedia libre algo de historia mas antigua.

martes, 3 de enero de 2023

Product Owner PO el dueño del producto

 Un Product Owner es una persona que se encarga de definir y priorizar las funcionalidades y requisitos del producto que se está desarrollando en un proyecto utilizando la metodología Agile Scrum. El Product Owner trabaja en estrecha colaboración con el equipo de desarrollo y es responsable de definir el "qué" y el "por qué" del producto y de asegurar que el equipo de desarrollo entiende los requisitos y prioridades del producto.

El Product Owner es el representante del cliente y de los usuarios finales y es responsable de asegurar que el producto cumpla con sus necesidades y expectativas. También es responsable de la viabilidad económica del producto y de asegurar que se está haciendo el máximo uso posible del tiempo y los recursos del equipo de desarrollo. El Product Owner es una figura clave en el éxito de un proyecto Scrum y juega un papel importante en la mejora continua del proceso de desarrollo. (fuente ChatGPT)

Segun SBOK el Product Owner es el representante del cliente y de los usuarios finales y es responsable de asegurar que el producto cumpla con sus necesidades y expectativas. Además, es responsable de la viabilidad económica del producto y de asegurar que se está haciendo el máximo uso posible del tiempo y los recursos del equipo de desarrollo. PO, El Product Owner es la persona responsable de maximizar el valor empresarial del proyecto. Es responsable de articular los requisitos del cliente y mantener la justificación empresarial del proyecto.