visual studio microsoft espaƱol descargar community c# .net process

c# - microsoft - visual studio installer



ConfiguraciĆ³n de equipos y procesos de desarrollo (3)

Basado en tu experiencia

Si le dieron la oportunidad de establecer los procesos de desarrollo para un pequeño equipo de desarrollo.

Por favor detalle

  • Las cosas que implementaría, herramientas, documentos, metodología.
  • ¿Y cómo implementarías esto?

Deseo implementar lo siguiente:

  • Fuente de control
  • Base de datos de seguimiento
  • Plantillas de especificaciones formales
  • Revisiones de código
  • Reunión de la taza de café (simples reuniones informales rápidas con café :))
  • Convención estricta de codificación

Tenga en cuenta que esto sería para un entorno enfocado en C # .NET.


Control de fuente: para un entorno .NET, Team Server es una buena cosa. Si quieres una solución gratuita, me gusta Mercurial.

Seguimiento de errores : FogBugz (por supuesto :)

Plantillas de especificaciones: creo que definirlas debería ser un proceso de colaboración entre el equipo de desarrollo y las unidades de negocio. Comience con un marco muy ligero y permita que evolucionen, no prescriba un documento masivo que incluya información que nunca nadie use.

Revisiones de código: el tiempo de programación de pares ofrece esto en abundancia. Llame a las buenas prácticas para el equipo; no lo use como una forma de humillar a los desarrolladores en público.

Reuniones: Soy un tipo de persona ágil, por lo que las reuniones (standups) deben ser breves, al grano, y ocurren todos los días al mismo tiempo.

Convenciones de codificación: una vez más, si tiene desarrolladores capaces, no debería tener que prescribir convenciones estrictas. Acordar como equipo las convenciones básicas y abordar los puntos de fricción según sea necesario.


Si planea comprar, o ya ha comprado, suscripciones de MSDN, hay un cambio importante en las licencias que juega a su favor para Team Foundation Server 2010. La licencia del servidor ahora se incluye con MSDN, y se le proporciona una CAL por suscripción . Más detalles de licencia están disponibles aquí .

Team Foundation Server cubrirá casi todas sus necesidades en un solo paquete. Soy muy preferente al uso de tan pocas herramientas como para completar un trabajo como sea posible, que es una de las razones por las que recomiendo que estudie también el uso de Team Foundation Server.

Algunas notas en sus requisitos específicos:

  • Control de fuente : una de las principales funciones de Team Foundation Server. Funciona bien y se integra fácilmente con los grupos de AD. Tenemos grupos de seguridad configurados por roles por proyecto y también para roles en todos los proyectos. Un desarrollador de la empresa será parte del SG "Desarrollador" y los SG específicos en los que está involucrado. Esto nos permite darles acceso total a los proyectos en los que están trabajando y leer el acceso a todos los proyectos. El sistema tiene el beneficio de los contratistas que no pertenecen a un grupo de desarrollo generalista, que efectivamente los divide en proyectos.
  • Base de datos de seguimiento de errores : la integración con el control de origen es una ventaja definitiva. Al usar un paquete, tiene una relación integrada entre los elementos de trabajo y los conjuntos de cambios (que puede reforzar si requiere que los conjuntos de cambios solo se creen en el contexto de los elementos de trabajo). Las relaciones de elementos de trabajo son muy buenas, y varían, dependiendo de la elección de su plantilla. Las plantillas SCRUM y Agile de Microsoft están bien pensadas y han servido a nuestras necesidades bastante bien, hasta la fecha.
  • Plantillas de especificaciones formales : hay un par de formas de abordar esto. Podría crear un tipo de elemento de trabajo específico para cada plantilla y rellenar previamente parte del contenido, o si deseaba un enfoque más tradicional, podría almacenar plantillas de documentos dentro del árbol de documentos del proyecto (que es, de hecho, una biblioteca de documentos en Team Project Sitio del portal).
  • Revisiones de código : la funcionalidad básica como anotar (o culpar, si lo prefiere) está integrada. También se proporcionan herramientas Diff, además de que puede cambiar las herramientas de diferencia para otros si no le gusta lo que viene con él. (Personalmente, uso CodeCompare de DevArt .) En cuanto al proceso de revisión real, soy un fanático de TeamReview .
  • Convenciones de codificación estrictas : StyleCop es imprescindible, en mi opinión. Como tal, también creo que ReSharper también es obligatorio. Proporcionar convenciones es una cosa, pero ser capaz de mostrarlos visiblemente frente al usuario es otra. El uso de algo como StyleCop for ReSharper proporcionará retroalimentación en tiempo real sobre las violaciones de las políticas. Todo lo que desee agregar y que no forme parte de StyeCop se puede crear a través de reglas personalizadas, y puede poner la configuración de ReSharper para SCFR en TFS, para que el equipo la comparta.

Artículos de bonificación que obtienes que no mencionaste explícitamente:

  • Administración de compilación: las herramientas de compilación en Team Foundation Server 2010 están completamente revisadas. Ahora, las compilaciones se definen como flujos de trabajo utilizando Workflow Foundation, pero aún pueden manipularse manualmente para escenarios de construcción más complejos. Los check-ins cerrados, a menudo denominados "compilaciones de compinches", ayudan a mantener el código defectuoso fuera del tronco.
  • Gestión de pruebas : los evaluadores pueden beneficiarse de las herramientas de prueba simplificadas en Visual Studio 2010. La automatización de las pruebas CodedUI y las herramientas de Test Lab Management son grandes avances en la evolución de Visual Studio. Tener un probador capaz de capturar el estado de la máquina e insertarlo automáticamente en un elemento de trabajo es brillante, y hace mucho tiempo. Además, si termina usando las herramientas de Test Lab, realmente poder capturar una instantánea de la máquina virtual en el momento del choque es pura salsa.
  • Colaboración : incluso si no planea usarlo al principio, los portales de Team Project que se crean para cada proyecto de equipo están listos para la colaboración. Solo para la administración de documentos y proyectos de wikis, vale su peso en oro.
  • Informes : los informes varían según las plantillas que usa, pero la mayoría de las plantillas tienen el tipo de informes que la administración se preocupa por estar listos para usar. Agregar nuevos informes es bastante simple, debido a la forma en que el equipo TFS también presentó datos en el cubo. Un poco de conocimiento de SSRS le hará crear informes personalizados detallados en muy poco tiempo.
  • Planificación : no mencionas el tipo de metodología que estás utilizando, pero la plantilla Agile tiene algunas herramientas de planificación de sprints realmente bonitas. Lanzas literalmente una hoja de cálculo de Sprint de Visual Studio, que se abre en Excel, y cualquier cambio que realices es reflejado en TFS. Realmente funciona muy bien para una sesión de planificación grupal.
  • Soporte : este es uno de los factores más importantes para mí. Tener todo lo anterior en un solo paquete también significa que solo necesito recurrir a un proveedor para obtener asistencia. Para mí es invaluable poder tener un número de teléfono para llamar en la rara ocasión en que algo sale mal, y saber que tengo los incidentes de soporte para cubrirlo ya pagados, gracias a mi suscripción a MSDN.

Dicho todo esto, TFS tiene un poco de una curva de aprendizaje. La instalación y la configuración son bastante simples, suponiendo que sigas la documentación. La curva de aprendizaje proviene del hecho de que hay tanto que ver con TFS. Es posible que no use todas las funciones, por lo que la cantidad de tiempo que realmente necesita para pasar el aprendizaje puede variar. Sin embargo, la integración nativa con Visual Studio (y Office) proporciona una sensación perfecta que se debe traducir bien a los desarrolladores que usan el sistema.


Si su equipo puede pagar la factura de Team Foundation Server, tendrá la mayoría de lo que desea en un paquete conveniente.

  • Control de fuente : sistema de control de configuración basado en el conjunto de cambios con soporte completo de bifurcación.
  • Base de datos de seguimiento de errores: Elementos de trabajo: configurables, incluidos el seguimiento de errores y los informes.
  • Plantillas de especificaciones formales : elementos de trabajo: configurables, incluidos los requisitos (CMMI), escenarios (Agile), tipos personalizados, etc.
  • Revisiones de código : elementos de trabajo: haga un seguimiento de sus revisiones al igual que cualquier otro trabajo de TFS. Un elemento de trabajo de revisión se envía con la plantilla de proceso CMMI.
  • Estricta convención de codificación : he oído hablar de personas que integran StyleCop con su política de check-in .

En cuanto a las reuniones de taza de café, no necesitará una herramienta para eso. :)