Microsoft Techdays Paris - Day Two

/*

Author: Jiangong SUN

*/

The theme for second day is more about ALM, TFS and Agile.

Session 1: ALM as a Service with TFS (OBS IT&Labs)

Global objectif: 
->professionalisation
->coherence: shared best practices, code rules etc
->unification

Working principle:
DSI manage TFS Server which includes project collections
Departement manager manage project collection
Project leader manager team project

Tools:
Team System Web Access portal is userful as a tool for Application Lifecycle Management.
TFS Administration tools is a tool for managing user rights.

Team Project templates: Scrum, Agile, CMMI

Session 2: Agile Patterns with VS 2012 and TFS 2012 (MediaPost, Cellenza)

Scrum principles:

->Non-negotiable Quality
->Business oriented
->Rapide delivery

Scrum actors:
->Scrum master:
Has no management authority
Doesn't have a project role
Facilitator, protect the team from distraction
->Product owner: project manager
Resposible for ROI(return on invertissement)
Final arbiter of requirement questions
Focused more on the what than on the how
->Scrum Developmer Team: analyse backlog, develop and deliver product
Crosse-functional group
Attempts to build a "potentially shippable product increment" every sprint
Collaborates
Self-organizing
Small team more often from 4 to 9 people

Terms:
PBI Product Backlog Item
PO Product Owner

Agile ALM Tools: Collabnet Teamforge

Scrum has three artifacts: the Product Backlog, the Sprint Backlog, and a Burndown Chart.

Scrum board: Story->To do->In Process->To Verify->Done
Product Backlog: List of all the items in one application and ordered by priorities from high to low
Sprint Backlog: What we have agreed to do during the current sprint


Scrum meetings(ceremonies):
Planning poker->Sprint planning meeting -> daily scrum (iterates) -> Sprint review meeting -> Sprint Retrospective meeting(return to beginning)
Backlog refinement meeting is paralleled.

Daily scrum: what have been done, what have to do today, what difficulties have been met
Sprint review meeting(demo): scrum dev team show shippable product to the product owner and other related persons.
Retrospective meeting(bilan): what went well, what could be improved, feedback
Backlog refinement meeting: divide big items into several small items

Backlog refinement meeting:
Backlog Refinement meeting can be called: Product Backlog Grooming or Backlog Estimation or Story Time
The most important objectif of backlog refinement meeting is get better understanding of the upcoming work and split it into small items
Estimation of efforts
Clarification of effort
Decomposition of large tasks into small ones

Sprint Characteristics:
Independent
Negotiable
Valuable
Estimable
Small
Testable

Sprint Planning Meeting:
A sprint should include analysis, design, implementation, testing, integration and deployment.
A 30-day sprint uses 1 day for sprint planning meeting
A two-week sprint use 4 hours for sprint planning meeting

Definition of "done" in a sprint:
->properly tested
->refactored
->potentially shippable

only 60% of the tasks are likely to be identified during the sprint planning meeting. 
Other tasks, such as unanticipated dependecies, will be discovered during sprint execution.

Each sprint is an iteration, it includes: evaluation & priorization, detailed requirements, 
design & analysis, implementation & developer testing, acceptance testing, deployment

Agile Benefice: 
->Visibility of realized work by the team
->Coherence between the tools and methods
->Reduction of time for PO(product owner)

Daily Scrum meeting: 
15 minutes each day
PO can attend or not attend daily scrum

A sprint task good size is one person-day task, so than other team member can detect whether a task is stuck

TDD is not a part of Scrum
TDD principle: write failed test  -> write successful product code -> refactor code -> repeat the same operation

Who will be responsible for tool selection and configuration for Agile methods? 
Answer: the team

When is sprint execution completed?
Answer: when the timebox expires

Sprint review meeting:
The first thing should see at the sprint review meeting?
Answer: live demonstration of a potientially shippable(properly tested) product increment

The stackholder complains to who directly?
Answer: product owner

What's the best time with sprint review meeting to discuss feedback from outside stakeholders?
Answer: the end; after the demonstration and measurement of which goals have achieved

If we keep the product visible and encourage open communication, will the product backlog usually get bigger or smaller over time?
Answer: The product backlog will grow because people ask for things in response to what they've seen

Sprint Retrospective meeting:
1)Safety check
Is retrospective safety enchanced by inviting outside spectators who weren't working on the team?
Answer: No. If the team needs to discuss issues with outsiders it's usually better to do this after the retrospective

Is a safety check by itself a complete sprint retrospective?
Answer: No.

2) Classic scrum retrospective
What went well 
what can be improved

In scrum, how often is the sprint retrospective meeting conducted?
Answer: Every sprint

3) focused conversation principles
Objective questions(what happened?)
Relective questions(how do we feel about it?)
Interpretive questions(what does it mean?)
Decision questions(what are we going to do about it?)

4) silent writing

5) timeline retrospective

6) decisions

reference:
http://scrummethodology.com/scrum-sprint/
scrumtrainingseries.com
http://www.scrummasterchecklist.org/pdf/scrummaster_checklist09.pdf
http://www.collab.net/services/training/agile_e-learning


Session 3: TypeScript for dummies (MCNEXT)

TypeScript is a language for application-scale JavaScript development.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript, it's 100% compatible with JavaScript
Any browser. Any host. Any OS. Open Source.
TypeScript compiler is a console application.
TypeScript extension is .ts

Example:
1) var toto :Any = 12;
var toto :number 
var toto :int

2) function mymethod(x:bool, y:number){...}

3) optional parameter
function mymethod(k?:string, l:number=10){...}

4) export class

5) method override:
modifier()
modifier(poid:number)
modifier(k?:Any)

6) arrow function

7) casting

8) ambient declaration
declare var $; (it doesn't generate javascript code)

9) reference to files
///<reference path="...ts" />

Session 4: ALM & e-commerce, le challenge continu! (SOGETI)

A big team project is recommended!
user right is controled 

Checkin policy:
->comment mandatory
->work item mandatory(commit attached to work item)
->personalized policy
->observation

I hope this post can do help!

Enjoy coding!

你可能感兴趣的:(Scrum,agile,ALM)