ListManager de Scrum V1.2 no funciona con Scrum V2.1

TFSCrum1

Bueno estoy migrando mis proyectos de Scrum V1.2 en TFS2005 a TFS2008 con Scrum V2.1.

ListManager es una herramienta que permite crear los Team y los Environments para el proyecto. Bueno como en la nueva template no existen la herramientas administrativas que traen la version anterior, pense que si hacia la conexion del ListManager del TFS2005 hacia el TFS2008 todo saldria bien.

Pero sorpresa!! el ListManager no reconoce los proyectos hechos con la version nueva del template. Pense que era problema de conectividad pero no fue asi. les dejo las imagenes.

TFSCrum

Esto es lo que pasa cuando se conecta a TFS2008 con Scrum V2.1

TFSCrum3

Conectividad en ambos servidores. Cabe destacar que son VM de Microsoft. TFSRTM = 2005. TFSRTM08 = 2008

 TFSCrum2

TFSCrum1

Saludos.

Romny

TFS – Resolviendo Error TF30170 – TF218002

Bueno, esta configurando TFS 2008 con el template de Scrum v2.1. Todo parecia bien, hasta que empeze a crear proyectos con el template hasta que salio el primero error. Dice mas o menos asi.

Error TF30170: The plugin Microsoft.ProjectCreationWizard.Portal failed during task SharePointPortal from group Portal. 

Explanation
Plugin error text: “TF218002: Project creation failed. The New Team Project Wizard could not access the Site Service Web Service Web service (Sites.asmx) in Windows SharePoint Services. Be sure that your Windows SharePoint Services server is operating correctly. Review the log for more information appropriate to your version of Windows SharePoint Services.” 

User Action
Contact your Team Foundation Server administrator. 

Bueno, comenze a ver investigar el erro y ver soluciones, pero nada concreto. Asi que probe algo sencillo y es ver si mi usuario tenia los privelegios para wss 3.0 y eh hay el error, falta agregar el grupo de seguridad de sharepoint.

tfs

Saludos.

Romny

Roles que se aplican en Scrum

En el modelo de desarrollo Scrum, existe el concepto técnico de Rol.  En este articulo quiero tratar sobre los diferentes tipos de roles con los cuales la metodología nos ofrece para trabajar.

En cierta forma el funcionamiento de la metodología en la organización depende de unos factores muy  simples.

  • Caracteristicas  del entorno del desarrollo:  Se refiere a la completa colaboración tanto de las personas encargadas del proyecto como de las personas de la empresa.
  • Conociemiento de la metodología tanto de las personas del proyecto, como de la empresa.
  • Manejo de Roles:
    • Rol de producto
    • Rol  de desarrollo
    • Rol de Scrum

Rol de producto – Product Owner

Product Owner

Es la persona designada por el cliente para que se encarge del proyecto. Es la única persona que conoce lo que el cliente quiere y todo el entorno de negocio; como tal en la persona que esta mas interesada en tener un producto final, también es la persona encargada del Product Backlog.

Es la persona encargada de la financiación del proyecto, de que el producto final este de acorde con lo que el cliente quiere.

Rol de Desarrollo –  Team Members

Team

En el equipo todos incluyendo al Scrum Master deben conocer la metodología y son los responsables de que se cumpla.

Estos chicos son los encargados de cubrir todas las necesidades que se presentar para generar el producto final, es un equipo multiciplinar,normalmente consta de un analista, de un diseñador , de un codificador , de una persona que documenta, de una persona de QA(Aseguramiento de la Calidad). 

Son los encargados de coger todos los ítems del Product Backlog y darles forma (Producto Final). Si el equipo tiene dudas en cualquier cosa, pueden llamar a un experto (Mentoring) para que los oriente.

Rol de Scrum – Scrum Master

Scrum Master
Como tal Scrum es una metodología y alguien  tiene que garantizar el funcionamiento de esta, esa es la labor del Scrum Master, velar por que todos los pasos de la metodología se cumplan; además si hay algún tipo de impedimento por el cual el funcionamiento de la metodología se ve afectado, debe darle solución. Igual si el Team  tiene dificultades debe velar por que se resuelvan. En si es el papa de los pollitos.

Saludos.

Romny

Lo importante del Sprint 0

sprint 0

Habia dejado este tema un poco olvidado por motivo ajenos, pero seguiremos con scrum.

Hoy quisiera comentar sobre al uy importante y que tal vez no se le da la prioridad que merece.

Cuando nos enfrascamos en un proyecto y escoges como metodologia scrum, solemos iniciar centrarnos en un sprint el cual habar directamente el desarrollo del proyecto, como lo es el sprint 1, pero antes del 1 esta el 0 y es hay donde pecamos por asi decirlo; por que es en el sprint 0 donde voy a prepararme tanto tecnologicamente como metodologicamente para que el desarrollo de nuestro proyecto tenga un buen comienzo y mas si no conocemos bien la metodologia.

Entoces el sprint 0 nos ayudara a eso. Ah entender la metodologia, con esto lo digo para el equipo, ya que no todos saben de la metodologia  y mucho menos de como adaptarla a nuestro proceso; ah preparar nuestro ambiente de trabajo, con esto me refiero a preparar nuestro amigo incodicional TFS, por que bueno, no todo el personal del equipo ah trabajo con la herramienta.

Ademas el sprint 0 no sirve para estudiar, y estudiar que?; pues basicamente todo lo referente con la parte de programación o refrescar conceptos por ejemplo la arquitectura en tres capas o de la arquitectura que se haya escogido para el desarrollo.

Con el desarrollo de este sprint nos vamos a ahorrar tiempo en los siguientes sprint cuando surgan dudas de este tipo.

 

Saludos.

Romny

Truquitos sql

Bueno en mi trabajo me encomendaron la tarea de hacer informe de la metadatos de nuestras BD. Basicamente se refieren con metadatos a la informacion interna del las BS’s de nuestros Server’s de Sql Server.

Realmente en mi vida profesiona habia trabajado con este tema, como primera tarea busque en los libros online de sql server y encontre lo buscaba. System Views (Transact-SQL) contine la informacion de nuestra metada de las BD’s.

Que es lo que  uno quiere saber normalmente.

# de tablas con sys

   1: /* numero de tablas */
   2: USE AdventureWorks
   3: SELECT count(*) from sys.tables
   4: go

# de tablas con INFORMATION_SCHEMA

   1: /* numero de tablas */
   2: USE AdventureWorks
   3: SELECT count(*) from INFORMATION_SCHEMA.TABLES
   4: WHERE TABLE_TYPE='BASE TABLE'
   5: go

# de vistas

   1: /* numero de vistas */
   2: USE AdventureWorks
   3: SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
   4: WHERE TABLE_TYPE='VIEW'
   5: GO

# de diagramas

   1: /* numero de diagramas */
   2: USE AdventureWorks
   3: SELECT COUNT(*) FROM dbo.sysdiagrams
   4: go

# de prodecimientos almacenados

   1: /* numero de procedimientos almacenados */
   2: use AdventureWorks
   3: select COUNT(*) from sys.procedures
   4: go

# de Schemas

   1: /* numero de Schemas*/
   2: USE AdventureWorks
   3: SELECT COUNT(*) from INFORMATION_SCHEMA.SCHEMATA
   4: go

Listado de Schemas

   1: /*listados de Schemas*/
   2: USE AdventureWorks
   3: SELECT * from INFORMATION_SCHEMA.SCHEMATA
   4: go

En fin podemos hacer diversidad de informes con estas consultas.

Espero os agrade.

Nota: Gracias Percy.

Por que te casas con una herramienta?

Hola que tal, bueno disculpadme por demorarme en colocar articulos.

El titulo de este post es algo traumatico, pero no encontre algo mejor. Sencillamente quiero hablar de un tema trillado, pero que es mi concepto de por que los desarrolladores nos inclinamos en determinado caso a progamar tanto para software propietario (Microsoft) o escojemos el lado del software libre.

Ah titulo personal eh programado tanto en software libre como en software propietario, ambos tienes sus cosas buenas, como sus cosas malas, es como todo en este mundo de la informatica. la cuestion es por que lado irnos. En la univiersidad tu programas en todo, lo que te coloquen, en eso programas, estudias, aprendes, practicas. En fin hay tantas tecnologias que no sabes que hacer y por donde ir.

Todo este rollo se simplifica; en la vida profesional tienes que decidir por que lado ir. y por que lado especializarte. Te comienzan a llegar trabajos, ya tienes responsabilidades y tu jefe te esta poniendo a prueba constantemente, que lo unico que quieres es hacer las cosas rapido y que funcionen claro esta. Entra en juego que IDE usas para programar de acuerdo a la tecnologia que usas. eh hay la priedra angular del resto de tu vida como profesional.

Como lenguajes tanto libres como propietario tienen muchas cosas de las que me cansaria de hablar y no llegaria a una conclusion. La cuestion es que IDE me ofrece mayor productividad como desarrollador y esta claro que Microsoft en ese sentido es uno de los pioneros y de las empresas que se preocupa por el IDE. Visual Studio ofrece una infinidad de ayudas a la hora de codificar que te cansarias de estudiar la herramienta y aun asi, cada dia encontrarias mas cosas que no conocias. Añadiendo a esto que la comunidad desarrolla sus propios plugins para integrar con Visual Studio. En el otra lado de la moneda, hay IDE’s se software libre que son muy buenos, no discuto eso. pero creo que le hace falta mucho.

Con esto no digo otra cosa mas de el por que me gusta programar con tecnologias Microsot. Claro esta que sigo programando con software libre, aun que no es mi fuerte, pero lo sigo haciendo y me gusta integrarlas con tecnologias Microsoft como en mi articulos de Windows Form con postgres.

Nota: no quiero entrar en polemica, solo doy a conocer mi opinion.

Siguiendo con WindowsFormsHost WPF

Siguiendo con el tema de WindowsFormsHost en WPF, esta vez quize hacer una sencilla aplicacionn para hacer test con conexion a DB.

Primero cargo datos en un Listbox para que me muestre que examen hay disponible.

    <ListBox x:Name="lb"
                HorizontalAlignment="Left"
                ItemsSource="{Binding Path=QuizContactData}"
                ItemTemplate  ="{StaticResource QuizItemTemplate}"
                ItemContainerStyle="{StaticResource liStyle}"
                IsSynchronizedWithCurrentItem="True"
                Background="Honeydew"
      
                Grid.Row="1" 
                Grid.Column="0" Grid.ColumnSpan="3"/>

 

   1: private void OnInit(object sender, EventArgs e)
   2:         {
   3:             //Conexion a la Bd
   4:             string connectionString = @"Initial Catalog=Exam;Data Source=localhost;Integrated Security=SSPI;";
   5:             DataSet dataSet = new DataSet();
   6:             using (SqlConnection connection = new SqlConnection(connectionString))
   7:             {
   8:                 SqlDataAdapter adapter = new SqlDataAdapter();
   9:                 adapter.SelectCommand = new SqlCommand(
  10:                     "SELECT * FROM Exam ", connection);
  11:                 adapter.Fill(dataSet, "QuizContactData");
  12:             }
  13:             
  14:             lb.DataContext = dataSet;
  15:             
  16:         }

Para la aplicacion voy a usar un panel y un radiobutton de windows form y los voy a agregar al xalm por codigo.

   1: System.Windows.Forms.Panel wpanel = new System.Windows.Forms.Panel();
   2: wpanel.AutoSize = true;                      
   3: wpanel.Controls.Clear();

el panel le coloco la propiedad de AutoSize ya que si no tendremos problemas con el propio panel para visualizar el radiobutton.

   1: System.Windows.Forms.RadioButton rb = new System.Windows.Forms.RadioButton();
   2:                         
   3: rb.Text = r.GetString(1);
   4: rb.Tag = r.GetInt32(0);
   5: wpanel.Controls.Add(rb);
   6:  
   7:  
   8: rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
   9:  
  10: rb.Location = new System.Drawing.Point(0, 32 * c);
  11: if ((int)rb.Tag == selectedAnswers[CurrentAsk])
  12:     rb.Checked = true;
  13: host.Child = wpanel;

como podra ver el radiobutton en la propiedad location, tengo que indentificarlo como System.Drawing.Point, ya que si solamente le digo Point, lo toma de windows forms y hay problema al compilarlo por incompatibilidad del Point. Por supuesto las imagenes.

WP1

WP2

WP3

 

 

Bueno eso es todo. Espero les sirva.

Enterprise Library 3.1 – VS2008

Sigo trabajando con Web Client Software Factory v2.0, tambien instale Enterprise Library 3.1 – May 2007 . la forma facil de configurar en nuestra aplicacion cualquier opcion de EnterPrise Library es desplegar las opciones y editar el archivo. pero esto en VS2008 no funciona.

VS2005

SF4  

VS2008

SF1

Hay que esperar la siguiente version de Enterprise Library para que aparescan estas opciones.

Probando Search Bundle – Web Client Software Factory v2.0

Hola, otra vez por aquí.


Yo comentaba de Web Client Software Factory v2.0 y una de sus features. Pero no me contube y lo probre en una sencilla aplicacion con acceso a datos, ya que en el ejemplo lo hacen con un archivo XML. En este ejemplo lo hare con Nortwind pues para probar.


Si ya an usado Web Client Software Factory v2.0 se habran dado cuenta que no funciona para VS 2005, por tanto hay que compilarlo en un VS2008, para que genere el asembly y poder usarlo en nuestra aplicaciones normales desarrollados con VS2008, ya que se lo usan en las desarrolladas con VS2005 generara un error con assembly=«System.Web.Extensions, Version=3.5.0.0, Basicamente es por que en VS2005 usa la version 1.1……. y bueno crear conflictos, este assembly es el encarcado de manejar el entorno AJAX.


Primero hay que vincular el assembly necesario para trabajar.


SF3


SF2 


le indicamos al control de RealTimeSearch que monitore lo que ocurra con el UpdatePanel para hacer los respectivos cambios.

 <asp:TextBox ID=»CompanyNameTextBox» runat=»server»
OnTextChanged=»CompanyNameTextBox_TextChanged»>
 </asp:TextBox><br />

<cc1:RealTimeSearchMonitor ID=»CustomerRealTimeSearchMonitor»
runat=»server» AssociatedUpdatePanelID=»UpdatePanel1″ Interval=»700″>
<ControlsToMonitor>
<cc1:ControlMonitorParameter TargetID=»CompanyNameTextBox»></cc1:ControlMonitorParameter>
</ControlsToMonitor>
</cc1:RealTimeSearchMonitor>
En el evento TextChange del Texbox ejecutamos la siguiente instruccion.
protected void CompanyNameTextBox_TextChanged(object sender, EventArgs e)
{
GridView1.DataSource =

CustomerDataSource.GetCustomers(CompanyNameTextBox.Text);

GridView1.DataBind();

}

y aqui tenemos  lo necesario para la busqueda dentro del campo elejido.
  
public static IDataReader GetCustomers(string prefixText)
{

Database db = DatabaseFactory.CreateDatabase();
string sql = null;
if (string.IsNullOrEmpty(prefixText))
sql = «SELECT CompanyName, ContactName, Address, City FROM Customers»;
else
sql = «SELECT CompanyName, ContactName, Address, City FROM Customers WHERE CompanyName LIKE ‘»
+ prefixText + «%'»;
return db.ExecuteReader(CommandType.Text, sql);

}


Recuerden que para hacer la busqueda el GridView debe contener datos y para llenar el GridView lo deben de hacer por otro metodo que no sea un enlazac a datos ya que generara problemes cuando hagan el GridView1.DataBind();.


les dejo la imagen de como quedaria.


SF$


Codigo