NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

ALM
Application LifeCycle Managament

Idea -> ciclo de vida del proyecto

-> cese

---------------------------------

Team Foundation Server

On premises -> maquina local
Cloud -------> Visual Studio Online
https://www.visualstudio.com/

Amazon Web Services AWS
Azure
Google

<<tu subdominio>>.visualstudio.com

------------------------------------

--------
Prototipos

Maqueta / diseño

App nivel basico
Blend for Visual Studio 2013

(Windows, Web)

Proyecto que dura 12 meses

4 Iteraciones (3 meses cada una)
Iteracion 1 --------------> mediados

de Abril v1
ANA+DIS+CON+PRU+INT+MAN
Iteracion 2 --------------> fines de

Junio v2
ANA+DIS+CON+PRU+INT+MAN

Incremento

Mejoras / Correctivos (Bug)

Mejora continua

RAD
Rapid Application Development

Visual Studio .NET
Blend
Microsoft Test Manager

Aplicaciones Web
ASP.NET

Frameworks
Web Forms -> RAD
MVC -------> Calidad / Testing
Dynamic Data
SignalR
...

http://agilemanifesto.org/

-----------------------------------

Scrum

Roles
Product Owner
Equipo de desarrollo (developers,

analistas, qa, arq, jefe de

proyecto)
Scrum Master
Stakeholders

E.Desarrollo -> Product Owner ->

Stakeholders
E.Desarrollo -> Usuarios finales

Engagement , nexo, intermediario

parte tecnica y la funcional

PO define los requerimientos del

producto y es quien los prioriza

Comunicacion efectiva
Escuchar de manera activa
Tomar notas
Participar, preguntar

PO trae un requerimiento (estimacion

de complejidad) y se lo entrega al

equipo de desarrollo

El equipo de desarrollo es el UNICO

que estima los tiempos

Como estiman los tiempos?

Codigo de proyectos anteriores
Excel con metricas
...
Planning Poker

Se forma una baraja de cartas
Donde cada carta tiene un número que

se va incrementando por ejemplo:

1,2,4,8,16,32,64,128....
1 = muy facil / 2 horas
2 = facil / 4 horas
4 = normal / 8 horas
...

Un miembro del equipo lee el

requerimiento
Cada miembro le asigna un punto
Todos los miembros lanzan la carta

al mismo tiempo

Diana 8
Jorge 8
Juan 1
Luis 64
Maria 4

Se toman las puntuaciones extremas

(mas baja y la mas alta) y se

conversa sobre ello

Diana 8
Jorge 8
Juan 8
Luis 16
Maria 4

El consenso fue 8, por lo tanto son

16 para hacer el requerimiento

El PO define los requerimientos,

estos requerimientos van a formar lo

que se conoce como el Product

Backlog

Product Backlog es la lista de TODOS

los requerimientos que abarca un

producto

Ejemplo
Product Backlog de 100

requerimientos

Se hace la primera estimación usando

por ejemplo la tecnica de Planning

Poker

El PO prioriza y define que

requerimientos van a formar parte de

la proxima iteracion (Sprint)

Ejemplo
En el primer Sprint van a participar

20 requerimientos

Se produce una reunion para

planificar el Sprint, esa reunión se

llama Sprint Planning, ahi el equipo

tiene la oportunidad de sincerar

tiempos

QA
Tiene un input

Requerimientos
Cada requerimiento puede tener 1 o

mas ESCENARIOS

REQ001, Escenario1, prueba de

aceptacion1
REQ001, Escenario2, prueba de

aceptacion2
REQ001, Escenario3, prueba de

aceptacion3

TODO EL EQUIPO DEBE TENER CONSENSO

SOBRE LO QUE SIGNIFICA LA PALABRA

"TERMINADO"

Que significa haber terminado?
Haber creado el prototipo
Haber terminado el desarrollo SIN

PRUEBAS
Haber hecho las pruebas unitarias
Haber hecho las pruebas de

integracion
Haber hecho las pruebas de

aceptacion

Practica interna del equipo:

Revision de codigo (Code Review)

No hay que estar ni a la defensiva

ni a la ofensiva

Ejemplo
Un programador Luis implementa un

requerimiento para loggear al

usuario
Login.aspx
Login.aspx.cs
Capa de datos/Usuario.cs

El codigo es de TODO EL EQUIPO

Maria hizo Code Review del codigo de

Luis

Ceremonias / reuniones

TODO | DOING | DONE
| |
| |
| |
| |
| |


Pendiente / Haciendose / Hecho

User Story
REQ123
Como jefe de logistica, necesito una

pagina que me permita crear

requisiciones

Escenario1: cuando la requisicion

excede el monto de 3UITs se necesita

de la aprobación de la gerencia del

area

...


Test Plan

Test Suite Chrome
- Test case 1 Chrome ->

REQ123/Escenario1

Test Suite Firefox
- Test case 2 Firefox ->

REQ123/Escenario1

Test Suite IE
- Test case 3 IE ->

REQ123/Escenario1

Test Suite Tablet Android
- Test case 4 -> REQ123/Escenario1

------------------------------------

------------
Team Foundation

Permite crear 1 o mas colecciones de

proyectos (Team Project Collection)
Viene una colección por defecto

llamada DefaultCollection

Dentro de una colección se pueden

crear 1 o mas proyectos (Team

Project)

DEBE SER UN PROYECTO YA CREADO Y

SIMPLE

Sistema de Administración de

requerimientos
SAR

Definicion de User Stories

Yo como un / desempeñando el [rol],

necesito / puedo [descripción de la

funcionalidad], con la finalidad de

[descripción de los resultados]

REQ001: COMO desarrollador QUIERO

realizar los pases a pruebas PARA

que revisen el codigo de mi

aplicacion

REQ002: COMO jefe de produccion

QUIERO validacion de fechas de

respuesta PARA un analisis de

incidentes

REQ003: COMO analista de control de

calidad QUIERO adjuntar archivos en

la devolucion de un pase PARA

sustentar mejor las observaciones

------------------------------------

----------
Los PBI (Product Backlog Item) se

miden en esfuerzo usando una metrica

llamada Story Points

User Story 1 -> Esfuerzo (Story

Points)
Task1 (N Horas)
Task2
Task3

Workdown
Descomponer un User Story en 1 o mas

tareas

Ejemplo
REQ001: COMO desarrollador QUIERO

realizar los pases a pruebas PARA

que revisen el codigo de mi

aplicacion

Tareas (diseño, programacion)
1. Diseñar interface de usuario
Trabajo restante: 4, 2
Mockup 2 horas
Ajustes

Levanta un Impedimento
No puedo terminar el diseño de la

pagina bla
Porque el usuario Fulanito no tiene

disponibilidad

2. Logica de negocios
Trabajo restante: 6
Oscar MetodoA
Juan MetodoB

clases parciales
Oscar clsPruebas.cs // public

partial class Prueba
Jua clsPruebas2.cs // public

partial class Prueba

3. Acceso a datos
Trabajo restante: 3.5

http://members.scrumalliance.org/cou

rses/20134153-certified-scrum-

product-owner

Pair-Programming
Tarea -> Trabajo restante: 24
Asignado a Oscar

Felix experto en workflows
5 horas pp

------------------------------------

---------
Conexion de Visual Studio .NET con

Visual Studio Online

Recomendaciones
Visual Studio .NET 2013
Update 4
Edición Ultimate
Premium
Professional

------------------------------------

-------------
Formando equipos de 4/5 personas

1. Designen la cuenta responsable

del equipo
newdesc.visualstudio.com
cocoluchosan.visualstudio.com
mariaesteba.visualstudio.com
lidupray.visualstudio.com
mmaravimmc.visualstudio.com
edgarincaja.visualstudio.com

2. Me agregan al equipo

([email protected])
3. Todos los miembros de cada equipo

se conectan a la cuenta designada

como principal

Ejercicio

1. Crear un Team Project nuevo
2. Definir areas
3. Definir sprints y fechas
4. Crear 4 User Story por

participante
Como
quiero
para
5. Enviar los PBIs al primer sprint
6. Hacer el workdown (crear las

tareas)
7. El 50% las tareas deben estar en

estado In Progress


RQ004: COMO Asistente de Operaciones
QUIERO realizar transferencias

interbancarias de las 5 principales

entidades financieras
PARA

RQ010: COMO Asistente Senior de

Contabilidad QUIERO informacion

contable de transacciones PARA

reportar a la SBS.

RQ015: COMO Asistente de Operaciones
QUIERO medir el tiempo de atención

de transferencias
PARA medir la satisfacción del

usuario.

indicadores, metricas

1=2
2=4
3=8
5=16
8=32
13=64

REQ003: COMO Analista de Crédito
QUIERO que se muestre los datos de

identidad de los vinculados con el

deudor

que se reporte/consulte los datos de

identidad de los vinculados con el

deudor

PARA realizar una evaluación al

cliente

REQ012: COMO Analista de Crédito
QUIERO que se muestre el porcentaje

de morosidad ((deficiente + dudoso +

perdida )/ cartera bruta) del deudor

al último mes
PARA realizar una evaluación al

cliente

REQ015: COMO Analista de Crédito
QUIERO que se muestre si el cliente

tiene infracciones en sunat, osce y

otros al ultimo mes
PARA realizar una evaluación al

cliente

3=12
5=18

REQCE004:Yo como coordinador de

canales electronicos
quiero que se puedan realizar

transacciones en linea de

transferencias a terceros
para que los clientes no tengan que

venir hasta nuestras oficinas.
....

REQRH004: COMO Asistente de

Selección de Personal
QUIERO poder declarar procesos de

selección como desierto
PARA informar a los postulantes que

el proceso se da por finalizado.

REQAU003: COMO Oficial de Atencion

al Usuario
QUIERO habilitar una seccion en la

que se pueda visualizar las NORMAS

DE ATENCIÓN PREFERENTE
PARA que el usuario esté al tanto de

la Normativa vigente en la

Institución

2=4
3=8
4=12
7=16
8=15
10=
12=
20=

REQ003: COMO jefe del área TI
QUIERO se habilite un campo en la

pestaña de cierre del SAR en donde

adjunte un archivo en Excel
PARA tener un reporte detallado de

los incidentes que se ingresan en el

sistema con archivos sustentados

REQ018: COMO desarrollador/usuario
QUIERO buscar un requerimiento
PARA visualizar como un reporte el

resultado

REQ015: COMO desarrollador
QUIERO que al registrar un objeto de

base de datos en el pase a testing

valide si este objeto es modificado

o es una creación
PARA evitar el error en el ingreso

del tipo de cambio en el registro

del pase.

1=4
2=8
3=20
5=40
8=60

REQ006 Como Soporte de Negocios
QUIERO que para las garantias

ingresadas se valida que no se

duplique la direccion
PARA EVITAR la duplicidad de

Garantías

PARA obtener datos correctos

REQ011 Como Subgerente de Negocios
quiero una opcion que muestre el

cumplimiento de metas de los jefes

regionales
para poder llevar el control y

seguimiento.

REQ018 COMO Auxiliar de Operaciones
QUIERO poder registrar el motivo de

cancelacion de una carta fianza
PARA poder realizar el seguimiento

posterior

1=4
2=8
3=12
5=20
8=32
13=52

REQ03:COMO asistenta de seleccion de

personal de GTH
QUIERO mostrar las diferentes

convocatorias que esten en la etapa

de entrevista personal
PARA coordinar con los evaluadores a

fin de que no se crucen con sus

vacaciones, comision de servicios y

otros

REQ07: COMO Asistente de selección

de personal
QUIERO una interfaz para realizar el

lanzamiento de la convocatoria

atravez de la pagina web
PARA convocar personal

PARA poder reclutar personal

REQ11: COMO auxiliar de selección de

personal
QUIERO que se muestre una lista

desplegable cuando se registran los

diferentes documentos que presente

un postulante
PARA un mejor y rápido registro de

los documentos de los postulantes

1=1
2=2
3=4
5=6
8=8
13=16
21=32
34=60

++++++++++++++++++++++++++++
Sesion 2
++++++++++++++++++++++++++++

Pruebas unitarias

Buenas practicas
1. Deben ser lo mas especificas

posible, no probar varias

funcionalidades en una sola prueba
2. Es para validar que un

requerimiento se esta cumpliendo,

pero no para evaluar performance
3. El nombre de la prueba debe ser

lo mas descriptivo posible, por

ejemplo
Devuelve_Estado_Cliente_con_credito_

aprobado
4. Se debe crear de tal manera que

cualquier desarrollador pueda

entenderla, no solo el que la creó
5. No debe tener parametros de

entrada
6. Solo debe devolver un resultado

SI o NO, TRUE o FALSE, FALLO o PASO
7. Pueden validar casos exitosos

(Happy Path) como condiciones de

error

Pruebas ayudan a mejorar la calidad

del código

Existen frameworks de pruebas, que

ayudan a la creacion rapida de éstas

Visual Studio incluye un framework

de caja llamado MS Test

En el mercado existen otros

frameworks de pruebas, como Nunit,

xUnit, etc

VS es compatible con varios

frameworks de pruebas

------------------------------------

-
Stored Procedures

Sean lo mas atomicos, precisos,

concretos posible

usp_ValidarCondicion1Cliente
usp_ValidarCondicion2Cliente
usp_ValidarCondicion3Cliente
...

usp_ValidarCliente
if condicion1
...
if condicion2
...

Refactorizar = basado en

herramientas de Visual Studio,

organizamos mejor nuestro codigo

Terminos de Testing
SUT = System Under Test, lo que voy

a probar

Una prueba unitaria esta dividida en

3 secciones (3A):
Arrange (preparas la prueba, defines

variables, inicializas objetos)
Act (prueba en si misma, normalmente

es una asignacion de valor a una

propiedad o una llamada a un metodo)
Assert (evaluación del resultado

obtenido, puede ser una o mas

evaluaciones)



Arquitectura DDD
Domain Driven Design

Se recomienda para proyectos donde

existen una gran cantidad de

entidades y una logica de negocios

muy compleja y muy cambiante

Lenguaje de dominio ubicuo
Conjunto de palabras y tecnicismos

propios de un rubro de negocio, y

que todos debemos compartir y

entender de la misma manera

Dominio = know how del negocio

-----------------------------------

Ejemplo
Quiero crear una prueba unitaria que

valide una carga masiva de pedidos

en mi bd sql

~500
~40,000
~5 mins, 1s

reemplazo la bd por una bd sql pero

mas simplificada

Mocking
Reemplazar una funcionalidad por

otra simulada que a mi me conviene

para que la prueba unitaria sea mas

rapida y se centre solo en lo

funcional

-----------------------------------

ALM = se atiende con una herramienta

que se llama TFS

portal.azure.com

Layer <> Tier

Layer = nivel logico
Tier = nivel fisico

3-Layers/N-Layers
Presentacion
Logica de negocios
Acceso a datos

Despliegue
Tier = uno o mas servidores en los

que se despliega una parte de la

aplicacion

Front-End
Cache
Servicios
Datos

TFS.exe
Command Prompt

PowerShell
Commandlets

--------------------------------
Check-in, Check-out

Ejercicio de Shelving

1. Crear un metodo en cualquiera de

las clases
2. Hacer Shelve
3. Hacer Undo changes
4. Hacer Unshelve
5. Ver que el metodo no se ha

perdido

------------------------

Branching

En produccion (mantenimiento)
Solucion_Seguridad v1

Mejora

Nuevo proyecto (construccion)
Solucion_Seguridad v2

Noviembre





































































































     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.