domingo, 3 de febrero de 2013
Mostrar el contenido de una variable de forma inversa
Saludos Amig@s
Hoy mostraremos la forma de hacer que una variable muestre su contenido de forma inversa utilizando la función Substring.
en el primer texbox escribiremos lo que deseamos mostrar de forma invertida.
Nombre de los componentes utilizados.
txtnombre
txtinverso
btnmostrar
Procederemos ahora a programar el botón btnmostrar, de forma tal que cuando se puse clic en dicho botón el contenido del textbox txtnombre se muestre de forma invertida en el textbox txtinverso.
A continuación el código que contiene dicho botón:
string letras;
string inicio;
letras = "";
inicio=txtnombre.Text;
for (int i = inicio.Length - 1; i >= 0; i--)
{
letras = letras + inicio.Substring(i, 1);
}
txtinverso.Text = letras;
Como puede observar, utilizamos un ciclo for para recorrer el string y luego concatenamos el resultado, para ser mostrado finalmente en el textbox txtinverso.
Hasta una próxima entrega, se despide Diógenes Amaury MS.
Existe una forma de aprender a programar...
... Programando!!!
jueves, 15 de noviembre de 2012
Que lenguaje elegir para aprender a programar?
Que lenguaje elegir para aprender a programar?
Por Diógenes Amaury MS
Esta es una pregunta que se hacen muchos estudiantes, interesados en la programación así como también muchos profesores y catedráticos a la hora de elegir un lenguaje para aprender o enseñar a programar.
Algunos teóricos dicen que “Java”, otros que C y otro aun más exagerado que debe ser C++, en mi opinión, la clave para aprender a programar no está en lenguaje que se utilice, como sustento esto???
Simple, todos los lenguajes sin importar cuales fueren utilizan variables, constantes, estructuras de control, sentencias repetitivas o ciclos, esta son la base para cualquier principiante en la programación, claro está luego vendrán para una segunda fase el entorno orientado a objeto con clases, encapsulaciones, polimorfismo, herencia etc.
El problema para aprender a programar no está en lenguaje que se seleccione, para aprender a programar, es necesario tener la voluntad como todo en la vida, con la programación, pasa lo mismo que con las matemáticas en las universidades, tienen la fama de ser algo difícil, y para colmo existen estudiantes que dicen que para pasarla se necesita repetir varias veces la asignatura, o la típica frase no la de con fulano que es el “Diablo”, por el simple hecho de que ese profesor se preocupa por que sus estudiantes den el máximo, para no producir profesionales mediocres en el futuro..
Todos esos comentarios de pasillo y muchas veces emitidos por estudiantes que no hacen el mínimo esfuerzo son falsos, la programación requiere de entrega, de estar “enamorado” de ella, de investigar, de poner en práctica la teoría, se comete un grave error cuando somos estudiantes y nos limitamos a utilizar el programa X, solo cuando nos toca la asignatura.
Hoy en día con el auge del internet y los millones de sitios web que publican artículos, ejemplos y hasta proyectos completos, resulta sumamente fácil aprender a programar, no se trata de copiar y pegar, sino de analizar e investigar cada sentencia que contienen esos ejemplos, claro está resultara muchos más fácil echarle la culpa al profesor de que no aprendemos por su método de enseñanza, paradoja de la vida, la mayoría de los lenguajes que quien suscribe a aprendido lo obtenido por el internet, libros y algunos amigos que ya tienen experiencia previa en un lenguaje X.
El lenguaje que elijas no importa, pasar a otro lenguaje después de haber aprendido uno es sumamente sencillo, eso sí, una cosa debe quedar claro, Programar no es para vagos, para programar se necesita tiempo y esfuerzo, noches y madrugadas de sacrificio, porque aunque Dios existe, debemos hacer nuestras aportaciones para que se vean la bendiciones.
Aprender a programar sin lugar a duda que es una decisión que implica mucho pero mucho esfuerzo.
martes, 2 de octubre de 2012
Substring En C#
Uso de Substring en c#
Por Diógenes Amaury MS
Saludos Amig@s
Saludos Amig@s
Hoy hablaremos del método Substring, el cual nos permite tomar o
extraer textos o dígitos, su sintaxis es como sigue:
Substring(Inicio, Longitud)
Inicio: indica en que posición de una cadena se ubicará
(tomando en cuenta que inicia desde 0). Por ejemplo Firme, la F esta ubicada en
la posición cero.
Longitud: Indica la cantidad de carateres que deseamos
extraer.
Ejemplo:
string nombre, resul;
nombre=”josefa”;
resul= VALOR.Substring(4, 2);
el resultado de la variable resul será “fa”
Pasemos ahora a un ejemplo un poquito mas complicado,
imaginemos que deseamos escribir en un textbox letras y números, y luego poder
mostrar dicha información por separados, por ejemplo si escribimos Dios123, es
un textbox debe aparecer Dios y en el otro 123.
Para esto nos auxiliaremos del método int.TryParse para determinar si lo que vamos extrayendo
es número o letra y de esta forma poder concatenar por su contenido.
Paso 1
Declaremos 3 textbox:
TXTVALOR
TXTLETRAS
TXTNUMERO
Paso 2
Agregemos un button.
Paso 3
Dentro del buton escribimos el siguiente código c#
private void button1_Click(object
sender, EventArgs e)
{
string VALOR;
VALOR =
TXTVALOR.Text;
int number;
for (int I=0;I<VALOR.Length;I++)
{
bool result = int.TryParse(VALOR.Substring(I,
1), out number);
if (result==false)
{
TXTLETRAS.Text = TXTLETRAS.Text + VALOR.Substring(I,
1);
}
else
{
TXTNUMERO.Text = TXTNUMERO.Text +
VALOR.Substring(I, 1);
}
}
}
Explicación del código.
Declaramos una variable llamada Valor, a la que le
pasomos el contenido del textbox, donde escribimos la información.
string VALOR;
VALOR = TXTVALOR.Text;
Declaramos una variable tipo int llamada number, para
poder darle salida al método TryParse, y asi poder determinar si es número o
no.
int number;
declaramos un ciclo for, para recorrer el contenido
del Textbox.
for (int I=0;I<VALOR.Length;I++)
declaramos una variable tipo bool para almacenar true
o false dependiendo del tipo de datos que se lea.
bool
result = int.TryParse(VALOR.Substring(I, 1), out number);
Si es falso, significa que el character leido es
letra.
if (result==false)
{
TXTLETRAS.Text = TXTLETRAS.Text + VALOR.Substring(I,
1);
}
En caso contrario es numérico.
else
{
TXTNUMERO.Text = TXTNUMERO.Text +
VALOR.Substring(I, 1);
}
Espero, que este ejemplo le sea de utilidad.
Frase para meditar.
Enseñar a quien no quiere aprender es
como sembrar un campo sin ararlo.
lunes, 27 de agosto de 2012
Que es JQuery ?
Que es JQuery ?
Por: Diógenes Amaury MS
JQuery es una biblioteca de JavaScript,o mejor dicho un FrameWork de javaScript, rápida y concisa que simplifica el recorrido documento HTML, manejo de eventos, animación, y las interacciones Ajax para el desarrollo web rápido.
Una de las
ventajas de JQuery es su sencillez y su reducido tamaño.
Una gran
parte del atractivo de jQuery es que le permite una elegante y eficiente forma
de encontrar y manipular los elementos HTML con líneas mínimas de código.
jQuery soporta esta vía un buen "selector" API que permite a los
desarrolladores consultar los elementos
HTML, y luego aplicar comandos para ellos. Una de las características de los
comandos de jQuery es que pueden ser encadenado juntos, de modo que el resultado de un comando puede alimentar
a otro. jQuery también incluye un conjunto integrado de animación API que
pueden utilizarse como comandos.
JQuery es open source, esto nos permite descargar sus librerías, modificarlas o
personalizarlas de acuerdo a nuestras necesidades.
Hoy les presento un ejemplo, simulando un datepicker
para los programadores que vienen de Microsoft, saben a que me refiero, para
los que nos, se trata de un calendario que permite seleccionar una fecha y
pasarla a un objeto, en nuestro ejemplo la pasaremos a un textbox.
A
continuación les presento el ejemplo que pueden copiar y pegar en blog de notas y probarlo en su hogar
Nota: pueden
darle el nombre de ejemplo.html , y en la casilla salvar como ti seleccionar
todos los archivos, de lo contrario se guarda como un texto y el navegador no
lo puede interpretar.
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Uso de DatePiker Por Diógenes Martínez</title>
<link type="text/css"rel="stylesheet"
href="http://jquery-ui.googlecode.com/svn/tags/1.7/themes/redmond/jquery-ui.css"
/>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#txtFechaSimple').datepicker();
});
</script>
</head>
<body>
<form id="form1"
runat="server">
<div>
<label id ="Fecha">Fecha</label>
<input id="txtFechaSimple" type="text"
/>
</div>
</form>
</body>
</html>
Explicación del código.
Primero es
hacer referencia a las bibliotecas de estilos y de Jquery que necesitamos para
el ejemplo anterior, en este caso esto haciendo link de la página oficial,
pero es recomendable bajar estos
archivos para tenerlo físicamente y en caso de que el servidor dejara de
funcionar no afecte nuestra aplicación.
<link type="text/css"rel="stylesheet"
href="http://jquery-ui.googlecode.com/svn/tags/1.7/themes/redmond/jquery-ui.css"
/>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
Segundo
Escribimos la función que mostrar el
calendario cuando nos enfoquemos en el objeto.
<script type="text/javascript">
$(document).ready(function() {
$('#txtFechaSimple').datepicker();
});
</script>
Tercero
Escribimos el cuerpo del document html.
</head>
<body>
<form id="form1"
runat="server">
<div>
<label id ="Fecha">Fecha</label>
<input id="txtFechaSimple" type="text"
/>
</div>
</form>
</body>
</html>
martes, 24 de julio de 2012
Recursividad
en c# y Vb.net
Por Diógenes Amaury MS
Debemos
iniciar por definir, lo que significa recursividad, es cuando un subprograma o
función puede llamarse a sí misma. La recursividad es una alternativa a la
iteración o repetición (el uso de bucles), existen numerosas situaciones en la
que la recursividad es una solución
simple y natural que en caso contrario sería difícil de resolver.
Por esta
razón se puede decir que la recursividad es una herramienta potente y útil en
la resolución de problemas que tengan naturaleza recursiva y, por ende, en la
programación.
Veamos de
una forma más clara estos conceptos en la creación de un programa que determine
el factorial de un número dado, y el cual será digitado en un textbox
En nuestro
formulario, insertamos dos textbox, uno
llamado TXTNUMERO y otro llamado TXTFACTORIAL,
agregamos un botón, que será el que contendrá el evento para llamar a la
función recursiva que determina el factorial de un número N.
Código para
c#
Creado la
función recursiva
int Factorial(int n)
{
if ((n == 0)
|| (n == 1))
return (1);
else
return (n *
Factorial(n - 1));
}
Como pueden
notar, en la codición estoy preguntado si el numero es 0 ó 1 y en tal caso
retorno 1 a función Factorial(el or en c# es representado por este signo || ),
en caso contrario multiplico a n por la misma función factorial, y es aquí
donde se aplica la recursividad, ya que la misma función factorial se llama
dentro de ella.
En el Botón
btncalcular escribo el código para llamar a la función recursiva Factorial.
private void btncalcular _Click(object
sender, EventArgs e)
{
TXTFACTORIAL.Text = Convert.ToString(Factorial(Convert.ToInt32(TXTNUMERO.Text)));
}
Código para vb.net
Function Factorial(ByVal n As Integer) As Integer
If n = 0 Or n = 1 Then
Factorial = 1
Else
Factorial = n * Factorial(n - 1)
End If
End Function
en el botón escribimos este código para llamar la función factorial y mostrarlar en el textbox TXTFACTORIAL.
TXTFACTORIAL.Text
= Factorial(Val(TXTNUMERO.Text))
Cuando la vida te de la espalda, difruta viéndole sus glúteos!!!.
DM.
martes, 17 de julio de 2012
Crear Archivo Binario en C
Trabajando con archivos Binario en .Net, utilizando C#
By Diógenes Amaury MS
By Diógenes Amaury MS
La primera opción para escribir y/o leer datos de una archivo de texto es utilizar la clase FileStream. Esta clase se encuentra en el namespace System.IO y es una clase derivada de la clase Stream. Por lo que debemos declararla donde estan los using de nuestra aplicación, por ejemplo.
using System.IO;
El FileStream actúa como un intermediario entre el sistema de archivos y nuestra aplicación, permitiendo realizar de una manera limpia y sencilla operaciones de escritura y lectura en archivos. Para utilizar el FileStream, lo primero que se debe hacer es crear una instancia que apunte al archivo deseado. Para esto se tiene la opción de utilizar alguno de los constructores ofrecidos, tal y como se muestra a continuación:
Este código se colocara en el botón Escribir, y su función será crear el archivo llamado Binario.txt en la raíz de c.
FileStream fs = new FileStream(@"c:\binario.txt", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs,Encoding.UTF8);
String matricula = TXTMATRICULA.Text;
String estudiante = TXTESTUDIANTE.Text;
int edad = Convert.ToInt16(TXTEDAD.Text);
bool vecado = CHKVECADO.Checked;
bw.Write(matricula);
bw.Write(estudiante);
bw.Write(edad);
bw.Write(vecado);
bw.Close();
Para leer el contenido del archivo en el botón leer escibimos este código.
FileStream fs = new FileStream(@"c:\binario.txt", FileMode.Open);
BinaryReader br = new BinaryReader(fs);
TXTMATRICULA.Text = br.ReadString();
TXTESTUDIANTE.Text = br.ReadString();
TXTEDAD.Text = Convert.ToString(br.ReadInt32());
CHKVECADO.Checked = br.ReadBoolean();
br.Close();
Como pueden ver la forma de crear un archivo y posteriormente leerlo es bien siemple.
Recuerda:A nada te acostumbre, para que nada te haga falta…
viernes, 11 de mayo de 2012
Clases en C#
Clases
en C#
Por Diógenes Amaury MS
Por Diógenes Amaury MS
Para entender el concepto de clase, debemos iniciar por
la definición de objeto. Un objeto es un agregado
de datos y de métodos que permiten manipular dichos datos, y un programa en
C# es
un conjunto de objetos que interaccionan unos con otros a través de sus
métodos.
Una clase es
la definición de las características concretas de un determinado tipo de
objetos. Es decir, de cuáles son los datos y los métodos de los que van a
disponer todos los objetos de ese tipo. Por esta razón, se suele decir que el tipo de dato de un
objeto es la clase que define las características del mismo.
Una clase es un contenedor de uno o más datos (variables
o propiedades miembro) junto a las operaciones de manipulación de dichos datos
(funciones/métodos
Creación de una clase en c#
1 Ir
a el Nombredel Proyecto pulsamos clic derecho y nos ubicamos en la opción Add,
luego seleccionamos la opción que dice Class.
2 Sustituimos Class1 por el
nombre que le vamos a asignar en nuestro caso la llamaremos Estudiante.
class Estudiante
{
}
Como hemos visto simplemente hemos creado el nombre de la
clase, ahora procederemos a declarar los miembros de la clase, que para nuestro
ejemplo seran los datos generales del estudiante que serán almacenados en variables
Para
tal caso procedemos a declarar la variable recordando que para esto necesitamos
la siguiente sintaxis.
<tipovariable>
<nombrevariable>;
public class Estudiante
{
public static string
Matricula;
public static
string Nombre;
public static
string Apellido;
public static
int Edad;
public static
string Direccion;
public static string
Carrera;
}
Llenando una clase, de forma directa.
Imaginemos que deseamos llenar la clase estudiante sin
tener que utilizar objetos adicionales, tales como textbox u otros.
private void btnllenaclase_Click(object
sender, EventArgs e)
{
Estudiante.Matricula = "00-0001";
Estudiante.Nombre = "Juan
Mariano";
Estudiante.Apellido = "Lora
Peralta";
Estudiante.Edad = 19;
Estudiante.Direccion = "Las
Colinas, calle #25";
Estudiante.Carrera = "Inegieria
de Software";
}
Llenando una clase desde textbox u otro objeto.
private void btnllenaclase_Click(object
sender, EventArgs e)
{
Estudiante.Matricula = TXTMATEST.Text;
Estudiante.Nombre = TXTNOMEST.Text;
Estudiante.Apellido = TXTAPEEST.Text;
Estudiante.Edad = Convert.ToInt32(TXTEDAEST.Text);
Estudiante.Direccion = TXTDIREST.Text;
Estudiante.Carrera = TXTCAREST.Text;
}
Si queremos llamar la clase anterior desde otro
formulario el procedimiento sería inverso al anterior:
TXTMATEST.Text =Estudiante.Matricula
;
TXTNOMEST.Text = Estudiante.Nombre
;
TXTAPEEST.Text = Estudiante.Apellido;
TXTEDAEST.Text = Convert.ToString (Estudiante.Edad);
TXTDIREST.Text =Estudiante.Direccion;
TXTCAREST.Text =Estudiante.Carrera
;
Herencia de una clase:
La herencia es un mecanismo que permite la
definición de una clase a partir de la definición de otra ya existente. La
herencia permite compartir automáticamente métodos y datos entre clases,
subclases y objetos.
Sintaxis.
class Clasehija : ClasePadre
{
}
Aquí mostramos un ejemplo de la clase nota
que hereda de la clase Estudiantes todos sus atributos.
public class nota : Estudiante
{
}
Los métodos son un bloque
de código que contiene una serie de instrucciones. En C#, cada instrucción se
ejecuta en el contexto de un método.
Los métodos se declaran en una clase o estructura especificando el nivel de acceso, el valor
devuelto, el nombre del método y los parámetros de método. Los parámetros de
método se incluyen entre paréntesis y separados por comas. Los paréntesis
vacíos indican que el método no requiere ningún parámetro.
public class nota : Estudiante
{
public static double promedio(double
nota1, double nota2, double
nota3)
{
return (nota1 + nota2+ nota3)/3;
}
}
Instancia de Clase:
Una vez que tenemos una clase definida, lo
único de lo que disponemos es de una especie de plantilla o molde a partir del
cual podemos crear objetos en memoria. Logramos estos Mediante la
instrucción new que es la encargada de crear el objeto en la memoria
y asignar la dirección del mismo a la variable usada en la parte izquierda de la
asignación
Form fomulario
= new Form2();
fomulario.Show();
En el ejemplo anterior instanciamos a la
variable fomulario el objeto tipo Form llamado Form2, para luego ser llamado
con el metdodo Show.
Ejemplo: Instanciando la clase Estudiante
Estudiante estu = new Estudiante();
En este caso, la variable estu adquiere todas
las características de la clase Estudiante, ya que es una copia en memoria de
dicho Objeto.
domingo, 29 de abril de 2012
Desarrollo ágil de software
¿Qué es el desarrollo ágil
de software?
Por: Diógenes Amaury MS
El desarrollo
ágil de software, es una metodología de gestión adaptativa, que te permite
llevar a cabo, proyectos de desarrollo de software, adaptándote a los cambios y
evolucionando en forma conjunta con el software. Es muy importante dejar claro
que no se trata de una herramienta o aplicación, sino más bien de un conjunto
de métodos utilizado en el desarrollo de software, que
consiste en la convención de prácticas, métodos, principios, y técnicas
cuya principal utilidad es la de proveer un mejor rendimiento del equipo de
trabajo y sobre todo, permitir la producción
de mejores resultados en lo que se produce durante el proyecto. Esta metodología
no es únicamente utilizada en el desarrollo de software, ya que diferentes
empresas de otra naturaleza también los manejan, como es el caso de la Toyota.
Existen muchos tipos de metodología agiles de desarrollo de software como
son:
eXtreme Programming (XP), Kanban, Scrum, entre otros. Nuestro contenido del
dia de hoy, será enfocado en la metodología Scram.
¿Qué es Scrum?
Scrum es una
metodología ágil de gestión de proyectos de desarrollo de software, basada en
un proceso de trabajo constante, iterativo e incremental, que toma su nombre y
principios de los estudios realizados sobre nuevas prácticas de producción por
Hirotaka Takeuchi e Ikujijo Nonaka a mediados de los 80.
Jeff Sutherland
aplicó el modelo Scrum al desarrollo de software en 1993 en Easel Corporation
(Empresa que en los macro-juegosde compras y fusiones se integraría en VMARK,luego
en Informix y finalmente en Ascential Software Corporation)
Scrum, propone una serie de características
que deben guardarse a fin de lograr resultados óptimos en el desarrollo de
sistemas de alta complejidad. La propuesta de Scrum, consiste en realizar
entregas potencialmente utilizables de forma iterativa e incremental, en
períodos de 2 a 4 semanas denominados "Sprints". Para lograrlo,
establece ciertas pautas organizativas, a simple modo de guía y no de
reglamento invasivo.
Scrum es una
metodología de desarrollo muy simple, que requiere trabajo duro porque no se basa
en el seguimiento de un plan, sino en la adaptación continua a las
circunstancias de la evolución del proyecto.
Se comienza con
la visión general del producto,especificando y dando detalle a las
funcionalidades o partes que tienen mayor prioridad de desarrollo y que pueden
llevarse a cabo en un periodo de tiempo breve (normalmente de 30 días).
Cada uno de
estos periodos de desarrollo es una iteración que finaliza con la producción de
un incremento operativo del producto.
Estas
iteraciones son la base del desarrollo ágil, y Scrum gestiona su evolución a
través de reuniones breves diarias en las que todo el equipo revisa el trabajo
realizado el día anterior y el previsto para el día siguiente.
Los roles en Scrum:
Scrum organiza el trabajo utilizando estos roles : Dueño de
Producto (o Product Owner), Scrum Master y Scrum Team.
Dueño de Producto (o
Product Owner):
El Dueño de Producto es la
única persona autorizada para decidir sobre cuáles funcionalidades y
características funcionales tendrá el producto. Es quien representa al cliente,
usuarios del software y todas aquellas partes interesadas en el producto.
Funciones:
Canalizar las
necesidades del del negocio, sabiendo "escuchar" a las partes
interesadas en el producto y transmitirlas en "objetivos de valor para el
producto", al scrum team.
Maximizar el
valor para el negocio con respecto al Retorno de Inversión (ROI), abogando por
los intereses del negocio.
Revisar el
producto e ir adaptándole sus funcionalidades, analizando las mejoras que éstas
puedan otorgar un mayor valor para el negocio.
Aptitudes que
debe tener un Dueño de Producto:
Excelente
facilicidad de comunicación en las relaciones interpersonales Excelente
conocimiento del negocio Facilidad para análisis de relaciones costo/beneficioVisión
de negocios
Scrum Master:
El Scrum Master es el alma mater de Scrum. Un error frecuente es llamarlo
"líder", puesto que el Scrum Master no es un líder típico, sino que
es un un auténtico Servidor neutral, que será el encargado de fomentar e
instruir sobre los principios ágiles de Scrum.
Funciones:
- Garantizar la correcta aplicación de Scrum. Esto
incluye, desde la correcta trasmición de sus principios a las altas
gerencias, hasta la prevención de la inversión roles (es decir, guardar
especial cuidado en que el dueño de producto no actúe en nombre del Scrum
Team y viceversa, o que la audencia se inmiscuya en tareas que no le son
propicias)
- Resolver los conflictos que entorpezcan el progreso
del proyecto.
- Incentivar y motivar al Scrum Team, creando un clima
de trabajo colaborativo, fomentar la auto-gestión del equipo e impedir la
intervensión de terceros en la gestión del equipo.
Aptitudes
que debe tener un Scrum Master:
- Excelentes conocimientos de
Scrum
- Amplia vocación de servicio
- Tendencia altruista
- Amplia capacidad para la resolución de problemas
- Analítico y observador
- Saber incentivar y motivar
- Capacidad docente e instructiva
- Buen carisma para las
negociaciones
El Scrum Team:
El Scrum Team (o simplemente
"equipo"), es el equipo de desarrolladores multidisciplinario,
integrado por programadores, diseñadores, arquitectos, testers y demás, que en
forma auto-organizada, será los encargados de desarrollar el producto.
Funciones y responsabilidades:
- Llevar el Backlog de producto, a desarrollos
potencialmente funcionales y operativos.
- Aptitudes que deben tener los integrantes de un Scrum
Team:
- Ser profesionales expertos o avanzados en su
disciplina
- Tener "vocación" (la buena predisposición
no alcanza) para trabajar en equipo
- Capacidad de auto-gestión
Backlog de Producto
El Backlog de Producto es un listado dinámico y
públicamente visible para todos los involucrados en el proyecto.
En él, el Dueño de Producto, mantiene una
lista actualizada de requerimientos funcionales para el software. Esta lista,
representa "qué es lo que se pretende" pero sin mencionar "cómo
hacerlo", ya que esta última, como vimos en el capítulo anterior, será tarea
del Scrum Team.
El Backlog de Producto, es creado y
modificado únicamente por el Dueño de Producto. Durante la ceremonia de
planificación, el Scrum Team obtendrá los items del producto, que deberá
desarrollar durante el Sprint. Formato del Backlog de Producto
El Backlog de producto, es una lista de items que representan los requerimientos funcionales esperados para el software.
El Backlog de producto, es una lista de items que representan los requerimientos funcionales esperados para el software.
Para cada uno de estos ítem, será necesario
especificar:
- El grado de prioridad
- Esfuerzo que demanda
- Granulidad
- Criterios de aceptación
Ejemplo
Prioridad Item Estimación Estado Criterios
de aceptación
1 Descripcion
de ítem tiempo en criterio de lo propuesto.
Semana
o días
2 “
” “” “”
3 “” “” “”
Tableros
de Scrum :
Con la lista de tareas ya armada, estamos en condiciones de crear el tablero. Un Scrum Taskboard, básicamente se divide en 3 columnas: pendientes, en curso y terminadas y se complementa la información con un Diagrama de Burndown que mostrará el esfuerzo restante para concluir el Sprint.
Con la lista de tareas ya armada, estamos en condiciones de crear el tablero. Un Scrum Taskboard, básicamente se divide en 3 columnas: pendientes, en curso y terminadas y se complementa la información con un Diagrama de Burndown que mostrará el esfuerzo restante para concluir el Sprint.
Suscribirse a:
Entradas (Atom)