MANAGE YOUR PROJECT
    DIFFERENTLY

        Trịnh Minh Cường
     CTO TechMaster Vietnam
       http://techmaster.vn




                              http://techmaster.vn
WHAT IS THIS ?




                 http://techmaster.vn
I HAVE A DREAM
• My project
  o In Time

  o Within Budget

  o Meet Requirements

• Members in my team
  o Creative & responsive

  o Not exhausted and not leave team

                                       http://techmaster.vn
Project Management Triangle




  SCOPE             COST




            TIME
                           http://techmaster.vn
Typical developer
• Personal interest is more than team interest
• Warm up time is long
• Good at patching but bad at designing
  (problem solving style)
• Wait for thing happens but not make thing
  happen




                                          http://techmaster.vn
Waterfall



Analysis   Design      Develop   Test   Deploy




                                            http://techmaster.vn
Parkinson’s Law
“Work expands so as to
fill the time available for its completion”




                                        http://techmaster.vn
Don’t assign one week task,
Break it into smaller sub tasks !




Gantt chart gets bigger & bigger.
 No one can read Gantt chart




                              http://techmaster.vn
Waterfall is easy to understand
 but it is not effective in real




                              http://techmaster.vn
WHAT SCRUM CAN HELP?

                   http://techmaster.vn
Agile
“Methodologies”


                  http://techmaster.vn
Scrum is an Agile framework
Scrum is an iterative, incremental
framework for project management and
agile software development.




Agile … is a group of software
development methodologies based on
iterative and incremental development…
                                  http://techmaster.vn
Agile



Analysis   Design    Develop   Test   Deploy




                                          http://techmaster.vn
Agile



Analysis
   Design Test eploy
      Develop D        Analysis
                          Design Test eploy
                             Develop D            Analysis
                                                     Design Test eploy
                                                        Develop D



                                              !
      ?
                                                            ?
      !


                                                             http://techmaster.vn
Principles of Agile #1
• Deliver valuable software early &
  continuously
• Accommodate changes
• Collaborate with customer or customer
  proxy
• Motivate individuals  Self-organizing
  teams  Self tuning

                                      http://techmaster.vn
Principles of Agile #2
• Enforce effective & transparent
  communication
• Measure of progress by working
  software delivered. Highlight amount of
  work not done
• Maintain a development speed
• Promote technical excellent and good
  design
                                    http://techmaster.vn
DIFFERENCES
      Plan Driven                 Scrum
• Hierarchy team         • Self organizing team
• Lot of document        • Deliver features
• Follow plan            • Response to change
• Structure              • Flexible
• Gantt Chart            • Burn down chart




                                              http://techmaster.vn
Roles in Scrum




                     Scrum Master    Scrum Team
Product Owner




                    Stakeholders &
                        Users



                                              http://techmaster.vn
Product Owner
• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability of the
  product (ROI)
• Prioritize features according to market value
• Adjust features and priority every iteration, as
  needed
• Accept or reject work results

                                           http://techmaster.vn
The Scrum Master
• Manage project

• Enforce Scrum values and practices

• Help team to focus on tasks

• Enable close cooperation across all roles and
  functions

• Shield the team from external interferences



                                           http://techmaster.vn
The team

• Typically 5-9 people
• Cross-functional:
  – Programmers, testers, user experience designers, etc.

• Teams are self-organizing
  – Ideally, no titles but rarely a possibility

• Membership should change only between sprints



                                                     http://techmaster.vn
MResources = More Velocity?




8         16
          12          24
                      16
                              http://techmaster.vn
Scrum of
 Scrums




           http://techmaster.vn
6 Artifacts



Product Vision      Product Backlog    Release Plan




Sprint Backlog     Sprint Burndown    Impediment List




                                                   http://techmaster.vn
Product – Sprint Backlog




                           http://techmaster.vn
Product vs Sprint Backlog


                 Product BackLog   Sprint BackLog
Level of detail  Less detailed     Very detailed
Item             User Story        Task
Estimation Units Story Points      Hours
Doc owner        Product Owner     Team
Revised          Weekly            Daily
Duration         Project           Sprint
Workbook         Product Backlog   Iteration Backlog

                                              http://techmaster.vn
Project Planning
                             Product Backlog
                                    3
                  Sprint 1          3
                                    1
  Product                                         Release 1
                                    3
  Backlog
                  Sprint 2          1
                                    3
                                    3
                  Sprint 3          2
                                    3
                                    3             Release 2
Release Plan      Sprint 4
                                    5

                  Sprint 5          8


                                               http://techmaster.vn
User Story
• Independent
• Negotiable                       User Story <StoryPoint>

• Valuable
                             Task 1         Task 2     Task 3
• Estimatable
• Small
• Testable

As a <USER>   I need to <ACTION>       In order to <REASON>

                                                       http://techmaster.vn
User Story
• User Story == Use Case

• MosCow: Must – Should – Could – Wouldn’t

• Write non-functional requirements as user
  stories

• Estimate Story Point
 http://stackoverflow.com/questions/1232281/what-are-
 estimate-points-story-points-and-how-to-measure-them-
 in-scrum


                                                http://techmaster.vn
Meetings in SCRUM
 Meeting               Purpose              Duration   Frequency
Sprint      Determine what work to do in   2 hours per Once per
Planning    the coming sprint.             week        sprint
Daily       Allow team members to          15 minutes Daily
Scrum       commit, collaborate, and
            communicate risks.
Sprint      Show the customer and other 2 hours per Once per
Review      stakeholders the work that the week     sprint
            team accomplished in the
            sprint, and receive feedback.

Retrospect Identify and implement ideas    3 hours     Once per
ive        for process improvement.                    sprint
                                                        http://techmaster.vn
Daily Scrum
• Daily, 15 minutes, whole team
• What did you do yesterday ?
• What will you do today ?
• What are impediments?


No need minutes meeting
Need a tool to keep track
  user story, task, bug…

                                  http://techmaster.vn
Sprint Task Board
   User Stories    Not Done             In Progress             Done   Deferred
                  Do this               Do this       Do this
As a user I       and                   and           and
want this to      that.                 that.         that.
do that.

                                        Do this
                                        and
                                        that.




As a user I       Do this    Do this
                  and        and
want this to
                  that.      that.
do that.




As a user I        Do this    Do this
                   and        and
want this to
                   that.      that.
do that.

                   Do this
                   and
                   that.




                                                                         http://techmaster.vn
“Music Store” web site
• Team : 1 PM - 1 dev – 1 ux designer
• Mission: Develop “Music Store” site in 3
  months.
• Every 2 weeks must show customer progress
• Team work 5 days a week, 8 hours per day
 (Utilize rate 75% ~ 6 hours per day)




                                         http://techmaster.vn
Example Solution
• Each Sprint takes 2 weeks
• 4 months  8 Sprints
• Each sprint, a person burns 5*2*6=60 hours.
  A team burns 60*3=180 hours


          Idle hours will not be counted

      Hours which used to complete task
        will be counted as burnt hours

                                           http://techmaster.vn
Process to develop a web site




                            http://techmaster.vn
Product backlog
                                                                            Story Point
Priority                         Backlog item
                                                                             Estimate
   1       User can see list of category                                           3
           User clicks on a category, list of product under category will
   2                                                                               5
           show
   3       At front page, user sees 20 suggested item                              3

   4       Registered user can rate, commend a item                                8

   5       Administrator can send message to registered user                       8

   6       Administrator can create new item                                      30

   7       ….


                                                                            http://techmaster.vn
The sprint goal
     A short statement of what the work will be
             focused on during the sprint
 UX Prototyping
Design static prototype web site      Database Design
XHTML, CSS validation                CodeFirst EF 4 to generate data
jQuery interaction                   Generate sample data

                                        Performance
                                      Tune render speed at client
   Restaurant List                    Tune server response
 Show top 20 restaurants              Configure memcached caching
 Personalize data per user
 List restaurant by A-Z, styles, …
                                                              http://techmaster.vn
Burn Down Chart

                       180 hrs.         Learning Curve
Work Hours Remaining




                                                              Team speeds up




                                                                    0 hrs.

                                    Time 1 Sprint = 2 weeks
                                                                               http://techmaster.vn
What happen?

                       180 hrs.
                                           Bugs happen
Work Hours Remaining




                                                            Urgent task




                                                             0 hrs.

                                  Time 1 Sprint = 2 weeks
                                                                      http://techmaster.vn
Summarize
  Roles

•Product owner
•ScrumMaster         Event
•Team
                 •Sprint planning
                 •Sprint review
                 •Sprint retrospective
                 •Daily scrum meeting
                                          Artifacts

                                         •Product backlog
                                         •Sprint backlog
                                         •Burndown charts

                                                        http://techmaster.vn
http://techmaster.vn
WHAT
TEAM FOUNDATION SERVER
       CAN HELP ?

                    http://techmaster.vn
Big picture




              http://techmaster.vn
SubVersion, CVS, GIT are SCM only



                     Bug Tracking      Deployment

                     Project Management

                     Quality Control   Report




SCM: Source Code Management
                                                    http://techmaster.vn
Much more than a SCM




                               Developer    Database
                    Designer
                                           Professional


       Architect
                                                          Tester




Business                                                            Project
Analyst                 Team Foundation Server                     Manager

                                                           http://techmaster.vn
What TFS can do




                                                                                                                                                            Team Foundation Server
 Process Focused
             Version Control
Process Templates
SharePoint
Customizable

                         Work Item Tracking
                    Integrated Check-in
                    Check-in Policies
                    Shelving

                                     Build Automation
                                            Manage work
                                            Bugs, Tasks, Requirements, Stories, Risks, etc.
                                            Very Extensible

                                                 Reporting                                    Continuous Integration
                                                                                              Scheduled
                                                                                              Ad Hoc

                                                                                                                       Decision Support
                                                                                                                       Track Project Progress




                                                                                                                                                http://techmaster.vn
From S To XXL




                http://techmaster.vn
Building blocks

Client Interface                                                       Version Control         Build
                                                                       Proxy                   Environment
      Visual
                         MS Excel       Command Line
      Studio                                                                   Version
                                                                               Control               Build
                                                                                Proxy               Process
                                                                               Service
    MS Project         Team Explorer        TFS SDK




Application Tier
        SQL Reporting Services               Windows SharePoint Services                 Web Services




                                                 SQL Server


                                       Version                       Data
                       Work Items                     Team Build
                                       Control                     Warehouse


                                                                                                        Data Tier

                                                                                               http://techmaster.vn
Deployment

                   Business User                Dev Team (Local)
                                                                   Dev Team (Remote)




    Build Server

                            Win 2008 Server
                            SQL Server 2008
                            IIS 7.0




                                                                      Version Control
Active Directory                                                      Proxy (Remote)

                                                                          HTTP / S
                                                                          TCP/IP

                                    Team Foundation Server

                                                                         http://techmaster.vn
Topology: single server


 Single Server
      TFS



                          HR
             TFS AT
                      Applications




                                     http://techmaster.vn
Consolidate backend DB


                                Data Tier




                TFS AT                   HR
                                     Applications


                              Clustered SQL
                                  Server




Scale (a little), SQL Consolidation
                                                    http://techmaster.vn
Bigger
      Network Load
       Balancing


                                             HR
                     TFS AT
                                         Applications

                                                        Team Project
      N                                    Finance
                                                         Collection
VIP   L              TFS AT
                                         Applications

      B
                                          Company
                     TFS AT               Web site


                                  Another SQL
                                    Server


                 Isolation, Reliability, Scale
                                                         http://techmaster.vn
More Bigger

                                          HR                TFS Build
                 TFS AT                                       Farm
                                      Applications

N                                       Finance
                                      Applications             TFS
L                TFS AT
                                                             Proxies
B
                                       Company
                 TFS AT                Web site
                                                            Test Rig




    SharePoint              Data                              Virtual
                                                  Project
      Farm                Warehouse                          Machine
                                                  Server
                                                             Manager



                                                                http://techmaster.vn
VERSION CONTROL




                                                                                                                                                      Team Foundation Server
 Process Focused
Process Templates
SharePoint
                     Version Control
Customizable

                                   Work Item Tracking
                    Integrated Check-in
                    Check-in Policies
                    Shelving

                                          Manage work
                                          Bugs, Tasks, Requirements, Stories, Risks, etc.
                                                                                             Build Automation
                                          Very Extensible

                                                                                            Continuous Integration
                                                                                            Scheduled
                                                                                                                      Reporting
                                                                                            Ad Hoc

                                                                                                                     Decision Support
                                                                                                                     Track Project Progress




                                                                                                                                              http://techmaster.vn
Workspaces: local working copy



    Map Server to     Per User, Per
       Local          Workstation



     Changes in
                      Also Used for
   Workspace create
                          Builds
  “Pending Changes”



                                      http://techmaster.vn
Changesets
• Logical container of data related to check-in
   – File and branch information

   – Links to work items

   – Check-in notes

   – Check in Policy

   – Metadata (date-time, user)

   – Atomic checkin

• Uniquely identified
• Trace & query easilly


                                                  http://techmaster.vn
Other terms of TFS version control
• Integrated Check-in
• Check-in policies
• Shelve
• Label
• Branch / Merge
More at
http://www.slideshare.net/stevenl/team-
foundation-server-2010-version-control

                                          http://techmaster.vn
Check-in Policies
• Soft requirements for check-in

• Extensible

• Can be overridden




                                   http://techmaster.vn
Client Server vs                Distributed SCM




• Clients push-pull master         Exchanging patches
  repository.                      (change-sets) from
                                   peer to peer
• A client hold only a working
  copy of a project tree
• Changes by client commits the
  master repository before they
  propagate to other users
                                                   http://techmaster.vn
Client Server vs. Distributed
• TFS, CVS, SVN, Perforce, Vault are client-
  server SCM
• Git, Mercurial are distributed SCM
• Distributed SCM:
  o No canonical, reference copy of the codebase
    exists by default; only working copies
  o Basic operations (c-in, c-out) are fast
  o Each working copy acts as remote backup
  o Suitable for Open Source development but not
    commercial development
                                           http://techmaster.vn
TFS & FRIENDS
                http://techmaster.vn
Visual Studio  TFS

Visual Studio 2005




                                   Team Foundation
                                     Server 2010
Visual Studio 2008




Visual Studio 2010
                                   Team Foundation
                                     Server 2008
                                                     http://techmaster.vn
With VB, VC++ 6.0, VS2003
• Upgrade to Service Pack 6
• Install Team Foundation Server MSSCCI
  Provider




                                          http://techmaster.vn
Excel  TFS




              http://techmaster.vn
Outlook  TFS
• Email notification
• TeamCompanion
• TeamLook




                        http://techmaster.vn
Think TFS as web service provider
• Include these namespace
  – Microsoft.TeamFoundation.Proxy;
  – Microsoft.TeamFoundation.Client;
  – Microsoft.TeamFoundation.Server;
  – Microsoft.TeamFoundation.WorkItemTracking.Client


• Windows Form app connects to TFS
  http://blogs.microsoft.co.il/blogs/shair/archiv
  e/tags/TFS+API/default.aspx?PageIndex=2

                                                  http://techmaster.vn
With SharePoint Server


• Install on SharePoint Foundation 2010



• Install on SharePoint Server 2010: full
  features


• Connect to MS Project Server 2010

                                            http://techmaster.vn
For Non-.NET Development
• Team Explorer Everywhere
  – Eclipse plug-in for TFS
  – Rich client (Java-based)
  – Command-Line




                                 http://techmaster.vn
http://techmaster.vn
Team Foundation Server
 Process
Process Templates
SharePoint
                     Version Control
Customizable

                                   Work Item Tracking
                    Integrated Check-in
                    Check-in Policies
                    Shelving

                                          Manage work
                                          Bugs, Tasks, Requirements, Stories, Risks, etc.
                                                                                             Build Automation
                                          Very Extensible

                                                                                            Continuous Integration
                                                                                            Scheduled
                                                                                                                      Reporting
                                                                                            Ad Hoc

                                                                                                                     Decision Support
                                                                                                                     Track Project Progress




                                                                                                                                              http://techmaster.vn
Process Templates


CMMI 5.0    Agile 5.0   Default templates




SCRUM 1.0   MPT 1.0
                        Customed templates

   X            Y

                                   http://techmaster.vn
A Process Template

                              Process Guidance


                       User Story
                           Task
                              Bug       Work Item
Process Template               Issue
                               Test Case
                                  Custom Work
                                      Item




                                Reportings

                                                http://techmaster.vn
Work Item
          Agile 5.0                  CMMI 5.0
• User Story               • Task
• Task                     • Bug
• Test Case                • Change Request
• Bug                      • Test Case

• Issue                    • Requirement
                           • Review
• Shared Steps
                           • Issue
                           • Risk
                           • Shared Steps
                                                http://techmaster.vn
Work Item Tracking
• Create, Update, Change status
• Link
• Associate with changeset
• Query




                                  http://techmaster.vn
User Story




Implementation


                    http://techmaster.vn
REPORTING



 Process Focused
Process Templates
SharePoint
                     Version Control
Customizable

                                   Work Item Tracking
                    Integrated Check-in
                    Check-in Policies
                    Shelving

                                          Manage work
                                          Bugs, Tasks, Requirements, Stories, Risks, etc.
                                                                                             Build Automation
                                          Very Extensible

                                                                                            Continuous Integration
                                                                                            Scheduled
                                                                                                                      Reporting
                                                                                            Ad Hoc

                                                                                                                     Decision Support
                                                                                                                     Track Project Progress




                                                                                                                                              http://techmaster.vn
http://techmaster.vn
Using SCRUM/Agile likes driving fast car
You need reliable brake and airbag system




                                      http://techmaster.vn
QUALIT Y CONTROL



                   http://techmaster.vn
http://techmaster.vn
Automated Unit Test
• Write Once, Run Often
• Configurable Test Script
• Programmable Test Logic
• No human input
• Auto generate bug report
• Trigger action: build / notification



                                         http://techmaster.vn
Traditional Test

Design



           Implement



                            Test



                                   http://techmaster.vn
TDD: Test Driven Design

Design



                 Test



                           Implement



                                   http://techmaster.vn
Acceptance Test

             1             1..n
User Story                        Acceptance Test
     1

     1..n

             1             1..n
  Task                               Unit Test




                                                 http://techmaster.vn
State transition of a user story




                              http://techmaster.vn
CONTINOUS INTEGRATION




                                                                                                                                                         Team Foundation Server
 Process Focused
Process Templates
SharePoint
                      Version Control
Customizable

                                    Work Item Tracking
                     Integrated Check-in
                     Check-in Policies
                     Shelving

                                           Manage work
                                           Bugs, Tasks, Requirements, Stories, Risks, etc.
                                                                                              Build Automation
                                           Very Extensible

                                                                                             Continuous Integration
                                                                                             Scheduled
                                                                                                                       Reporting
                                                                                             Ad Hoc

                                                                                                                      Decision Support
                                                                                                                      Track Project Progress




                                                                                                                                               http://techmaster.vn
CI in TFS 2010




                 http://techmaster.vn
Team Foundation Build
• Manual: run by team member
• Continous: queued by a check-in
• Rolling: accumulated until previous build
  finishes
• Gated check in: Check-in is accepted only if
  submitted changes merge and build
  successfully
• Scheduled: run on a defined schedule

                                          http://techmaster.vn
ARCHITECT & MODELLING



                    http://techmaster.vn
http://techmaster.vn
http://techmaster.vn
http://techmaster.vn
http://techmaster.vn
http://techmaster.vn
ROI ANALYSIS OF SUCCESSFUL
 SCRUM & TFS DEPLOYMENT

                        http://techmaster.vn
ROI Analysis for dev team


More productive       120-150%


Fix bug earlier. Fixing cost     70-90%

Amount of captured know-how           200-300%




                                          http://techmaster.vn
ROI Analysis for customer
Receive workable software regularly

Control investment better


Get better quality software




                                  http://techmaster.vn
keywords to remember




                       http://techmaster.vn
Khổng Tử said


What U listen, U forget

What U see, U
remember

What U do, U
understand
                             http://techmaster.vn
Learning Resource
• Web
  – 12 Principles of Agile
• SlideShare
  – Project Management with SCRUM
  – Intro to Agile
• Blogs
  – http://blog.mountaingoatsoftware.com/
  – http://blogs.msdn.com/b/aaronbjork/
                                            http://techmaster.vn

Manage your project differently

  • 1.
    MANAGE YOUR PROJECT DIFFERENTLY Trịnh Minh Cường CTO TechMaster Vietnam http://techmaster.vn http://techmaster.vn
  • 2.
    WHAT IS THIS? http://techmaster.vn
  • 3.
    I HAVE ADREAM • My project o In Time o Within Budget o Meet Requirements • Members in my team o Creative & responsive o Not exhausted and not leave team http://techmaster.vn
  • 4.
    Project Management Triangle SCOPE COST TIME http://techmaster.vn
  • 5.
    Typical developer • Personalinterest is more than team interest • Warm up time is long • Good at patching but bad at designing (problem solving style) • Wait for thing happens but not make thing happen http://techmaster.vn
  • 6.
    Waterfall Analysis Design Develop Test Deploy http://techmaster.vn
  • 7.
    Parkinson’s Law “Work expandsso as to fill the time available for its completion” http://techmaster.vn
  • 8.
    Don’t assign oneweek task, Break it into smaller sub tasks ! Gantt chart gets bigger & bigger. No one can read Gantt chart http://techmaster.vn
  • 9.
    Waterfall is easyto understand but it is not effective in real http://techmaster.vn
  • 10.
    WHAT SCRUM CANHELP? http://techmaster.vn
  • 11.
    Agile “Methodologies” http://techmaster.vn
  • 12.
    Scrum is anAgile framework Scrum is an iterative, incremental framework for project management and agile software development. Agile … is a group of software development methodologies based on iterative and incremental development… http://techmaster.vn
  • 13.
    Agile Analysis Design Develop Test Deploy http://techmaster.vn
  • 14.
    Agile Analysis Design Test eploy Develop D Analysis Design Test eploy Develop D Analysis Design Test eploy Develop D ! ? ? ! http://techmaster.vn
  • 15.
    Principles of Agile#1 • Deliver valuable software early & continuously • Accommodate changes • Collaborate with customer or customer proxy • Motivate individuals  Self-organizing teams  Self tuning http://techmaster.vn
  • 16.
    Principles of Agile#2 • Enforce effective & transparent communication • Measure of progress by working software delivered. Highlight amount of work not done • Maintain a development speed • Promote technical excellent and good design http://techmaster.vn
  • 17.
    DIFFERENCES Plan Driven Scrum • Hierarchy team • Self organizing team • Lot of document • Deliver features • Follow plan • Response to change • Structure • Flexible • Gantt Chart • Burn down chart http://techmaster.vn
  • 18.
    Roles in Scrum Scrum Master Scrum Team Product Owner Stakeholders & Users http://techmaster.vn
  • 19.
    Product Owner • Definethe features of the product • Decide on release date and content • Be responsible for the profitability of the product (ROI) • Prioritize features according to market value • Adjust features and priority every iteration, as needed • Accept or reject work results http://techmaster.vn
  • 20.
    The Scrum Master •Manage project • Enforce Scrum values and practices • Help team to focus on tasks • Enable close cooperation across all roles and functions • Shield the team from external interferences http://techmaster.vn
  • 21.
    The team • Typically5-9 people • Cross-functional: – Programmers, testers, user experience designers, etc. • Teams are self-organizing – Ideally, no titles but rarely a possibility • Membership should change only between sprints http://techmaster.vn
  • 22.
    MResources = MoreVelocity? 8 16 12 24 16 http://techmaster.vn
  • 23.
    Scrum of Scrums http://techmaster.vn
  • 24.
    6 Artifacts Product Vision Product Backlog Release Plan Sprint Backlog Sprint Burndown Impediment List http://techmaster.vn
  • 25.
    Product – SprintBacklog http://techmaster.vn
  • 26.
    Product vs SprintBacklog Product BackLog Sprint BackLog Level of detail Less detailed Very detailed Item User Story Task Estimation Units Story Points Hours Doc owner Product Owner Team Revised Weekly Daily Duration Project Sprint Workbook Product Backlog Iteration Backlog http://techmaster.vn
  • 27.
    Project Planning Product Backlog 3 Sprint 1 3 1 Product Release 1 3 Backlog Sprint 2 1 3 3 Sprint 3 2 3 3 Release 2 Release Plan Sprint 4 5 Sprint 5 8 http://techmaster.vn
  • 28.
    User Story • Independent •Negotiable User Story <StoryPoint> • Valuable Task 1 Task 2 Task 3 • Estimatable • Small • Testable As a <USER> I need to <ACTION> In order to <REASON> http://techmaster.vn
  • 29.
    User Story • UserStory == Use Case • MosCow: Must – Should – Could – Wouldn’t • Write non-functional requirements as user stories • Estimate Story Point http://stackoverflow.com/questions/1232281/what-are- estimate-points-story-points-and-how-to-measure-them- in-scrum http://techmaster.vn
  • 30.
    Meetings in SCRUM Meeting Purpose Duration Frequency Sprint Determine what work to do in 2 hours per Once per Planning the coming sprint. week sprint Daily Allow team members to 15 minutes Daily Scrum commit, collaborate, and communicate risks. Sprint Show the customer and other 2 hours per Once per Review stakeholders the work that the week sprint team accomplished in the sprint, and receive feedback. Retrospect Identify and implement ideas 3 hours Once per ive for process improvement. sprint http://techmaster.vn
  • 31.
    Daily Scrum • Daily,15 minutes, whole team • What did you do yesterday ? • What will you do today ? • What are impediments? No need minutes meeting Need a tool to keep track user story, task, bug… http://techmaster.vn
  • 32.
    Sprint Task Board User Stories Not Done In Progress Done Deferred Do this Do this Do this As a user I and and and want this to that. that. that. do that. Do this and that. As a user I Do this Do this and and want this to that. that. do that. As a user I Do this Do this and and want this to that. that. do that. Do this and that. http://techmaster.vn
  • 33.
    “Music Store” website • Team : 1 PM - 1 dev – 1 ux designer • Mission: Develop “Music Store” site in 3 months. • Every 2 weeks must show customer progress • Team work 5 days a week, 8 hours per day (Utilize rate 75% ~ 6 hours per day) http://techmaster.vn
  • 34.
    Example Solution • EachSprint takes 2 weeks • 4 months  8 Sprints • Each sprint, a person burns 5*2*6=60 hours. A team burns 60*3=180 hours Idle hours will not be counted Hours which used to complete task will be counted as burnt hours http://techmaster.vn
  • 35.
    Process to developa web site http://techmaster.vn
  • 36.
    Product backlog Story Point Priority Backlog item Estimate 1 User can see list of category 3 User clicks on a category, list of product under category will 2 5 show 3 At front page, user sees 20 suggested item 3 4 Registered user can rate, commend a item 8 5 Administrator can send message to registered user 8 6 Administrator can create new item 30 7 …. http://techmaster.vn
  • 37.
    The sprint goal A short statement of what the work will be focused on during the sprint UX Prototyping Design static prototype web site Database Design XHTML, CSS validation CodeFirst EF 4 to generate data jQuery interaction Generate sample data Performance Tune render speed at client Restaurant List Tune server response Show top 20 restaurants Configure memcached caching Personalize data per user List restaurant by A-Z, styles, … http://techmaster.vn
  • 38.
    Burn Down Chart 180 hrs. Learning Curve Work Hours Remaining Team speeds up 0 hrs. Time 1 Sprint = 2 weeks http://techmaster.vn
  • 39.
    What happen? 180 hrs. Bugs happen Work Hours Remaining Urgent task 0 hrs. Time 1 Sprint = 2 weeks http://techmaster.vn
  • 40.
    Summarize Roles •Productowner •ScrumMaster Event •Team •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting Artifacts •Product backlog •Sprint backlog •Burndown charts http://techmaster.vn
  • 41.
  • 42.
    WHAT TEAM FOUNDATION SERVER CAN HELP ? http://techmaster.vn
  • 43.
    Big picture http://techmaster.vn
  • 44.
    SubVersion, CVS, GITare SCM only Bug Tracking Deployment Project Management Quality Control Report SCM: Source Code Management http://techmaster.vn
  • 45.
    Much more thana SCM Developer Database Designer Professional Architect Tester Business Project Analyst Team Foundation Server Manager http://techmaster.vn
  • 46.
    What TFS cando Team Foundation Server Process Focused Version Control Process Templates SharePoint Customizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Build Automation Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Very Extensible Reporting Continuous Integration Scheduled Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  • 47.
    From S ToXXL http://techmaster.vn
  • 48.
    Building blocks Client Interface Version Control Build Proxy Environment Visual MS Excel Command Line Studio Version Control Build Proxy Process Service MS Project Team Explorer TFS SDK Application Tier SQL Reporting Services Windows SharePoint Services Web Services SQL Server Version Data Work Items Team Build Control Warehouse Data Tier http://techmaster.vn
  • 49.
    Deployment Business User Dev Team (Local) Dev Team (Remote) Build Server Win 2008 Server SQL Server 2008 IIS 7.0 Version Control Active Directory Proxy (Remote) HTTP / S TCP/IP Team Foundation Server http://techmaster.vn
  • 50.
    Topology: single server Single Server TFS HR TFS AT Applications http://techmaster.vn
  • 51.
    Consolidate backend DB Data Tier TFS AT HR Applications Clustered SQL Server Scale (a little), SQL Consolidation http://techmaster.vn
  • 52.
    Bigger Network Load Balancing HR TFS AT Applications Team Project N Finance Collection VIP L TFS AT Applications B Company TFS AT Web site Another SQL Server Isolation, Reliability, Scale http://techmaster.vn
  • 53.
    More Bigger HR TFS Build TFS AT Farm Applications N Finance Applications TFS L TFS AT Proxies B Company TFS AT Web site Test Rig SharePoint Data Virtual Project Farm Warehouse Machine Server Manager http://techmaster.vn
  • 54.
    VERSION CONTROL Team Foundation Server Process Focused Process Templates SharePoint Version Control Customizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Build Automation Very Extensible Continuous Integration Scheduled Reporting Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  • 55.
    Workspaces: local workingcopy Map Server to Per User, Per Local Workstation Changes in Also Used for Workspace create Builds “Pending Changes” http://techmaster.vn
  • 56.
    Changesets • Logical containerof data related to check-in – File and branch information – Links to work items – Check-in notes – Check in Policy – Metadata (date-time, user) – Atomic checkin • Uniquely identified • Trace & query easilly http://techmaster.vn
  • 57.
    Other terms ofTFS version control • Integrated Check-in • Check-in policies • Shelve • Label • Branch / Merge More at http://www.slideshare.net/stevenl/team- foundation-server-2010-version-control http://techmaster.vn
  • 58.
    Check-in Policies • Softrequirements for check-in • Extensible • Can be overridden http://techmaster.vn
  • 59.
    Client Server vs Distributed SCM • Clients push-pull master Exchanging patches repository. (change-sets) from peer to peer • A client hold only a working copy of a project tree • Changes by client commits the master repository before they propagate to other users http://techmaster.vn
  • 60.
    Client Server vs.Distributed • TFS, CVS, SVN, Perforce, Vault are client- server SCM • Git, Mercurial are distributed SCM • Distributed SCM: o No canonical, reference copy of the codebase exists by default; only working copies o Basic operations (c-in, c-out) are fast o Each working copy acts as remote backup o Suitable for Open Source development but not commercial development http://techmaster.vn
  • 61.
    TFS & FRIENDS http://techmaster.vn
  • 62.
    Visual Studio TFS Visual Studio 2005 Team Foundation Server 2010 Visual Studio 2008 Visual Studio 2010 Team Foundation Server 2008 http://techmaster.vn
  • 63.
    With VB, VC++6.0, VS2003 • Upgrade to Service Pack 6 • Install Team Foundation Server MSSCCI Provider http://techmaster.vn
  • 64.
    Excel  TFS http://techmaster.vn
  • 65.
    Outlook  TFS •Email notification • TeamCompanion • TeamLook http://techmaster.vn
  • 66.
    Think TFS asweb service provider • Include these namespace – Microsoft.TeamFoundation.Proxy; – Microsoft.TeamFoundation.Client; – Microsoft.TeamFoundation.Server; – Microsoft.TeamFoundation.WorkItemTracking.Client • Windows Form app connects to TFS http://blogs.microsoft.co.il/blogs/shair/archiv e/tags/TFS+API/default.aspx?PageIndex=2 http://techmaster.vn
  • 67.
    With SharePoint Server •Install on SharePoint Foundation 2010 • Install on SharePoint Server 2010: full features • Connect to MS Project Server 2010 http://techmaster.vn
  • 68.
    For Non-.NET Development •Team Explorer Everywhere – Eclipse plug-in for TFS – Rich client (Java-based) – Command-Line http://techmaster.vn
  • 69.
  • 70.
    Team Foundation Server Process Process Templates SharePoint Version Control Customizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Build Automation Very Extensible Continuous Integration Scheduled Reporting Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  • 71.
    Process Templates CMMI 5.0 Agile 5.0 Default templates SCRUM 1.0 MPT 1.0 Customed templates X Y http://techmaster.vn
  • 72.
    A Process Template Process Guidance User Story Task Bug Work Item Process Template Issue Test Case Custom Work Item Reportings http://techmaster.vn
  • 73.
    Work Item Agile 5.0 CMMI 5.0 • User Story • Task • Task • Bug • Test Case • Change Request • Bug • Test Case • Issue • Requirement • Review • Shared Steps • Issue • Risk • Shared Steps http://techmaster.vn
  • 74.
    Work Item Tracking •Create, Update, Change status • Link • Associate with changeset • Query http://techmaster.vn
  • 75.
    User Story Implementation http://techmaster.vn
  • 76.
    REPORTING Process Focused ProcessTemplates SharePoint Version Control Customizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Build Automation Very Extensible Continuous Integration Scheduled Reporting Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  • 77.
  • 78.
    Using SCRUM/Agile likesdriving fast car You need reliable brake and airbag system http://techmaster.vn
  • 79.
    QUALIT Y CONTROL http://techmaster.vn
  • 80.
  • 81.
    Automated Unit Test •Write Once, Run Often • Configurable Test Script • Programmable Test Logic • No human input • Auto generate bug report • Trigger action: build / notification http://techmaster.vn
  • 82.
    Traditional Test Design Implement Test http://techmaster.vn
  • 83.
    TDD: Test DrivenDesign Design Test Implement http://techmaster.vn
  • 84.
    Acceptance Test 1 1..n User Story Acceptance Test 1 1..n 1 1..n Task Unit Test http://techmaster.vn
  • 85.
    State transition ofa user story http://techmaster.vn
  • 86.
    CONTINOUS INTEGRATION Team Foundation Server Process Focused Process Templates SharePoint Version Control Customizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Build Automation Very Extensible Continuous Integration Scheduled Reporting Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  • 87.
    CI in TFS2010 http://techmaster.vn
  • 88.
    Team Foundation Build •Manual: run by team member • Continous: queued by a check-in • Rolling: accumulated until previous build finishes • Gated check in: Check-in is accepted only if submitted changes merge and build successfully • Scheduled: run on a defined schedule http://techmaster.vn
  • 89.
    ARCHITECT & MODELLING http://techmaster.vn
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
    ROI ANALYSIS OFSUCCESSFUL SCRUM & TFS DEPLOYMENT http://techmaster.vn
  • 96.
    ROI Analysis fordev team More productive 120-150% Fix bug earlier. Fixing cost 70-90% Amount of captured know-how 200-300% http://techmaster.vn
  • 97.
    ROI Analysis forcustomer Receive workable software regularly Control investment better Get better quality software http://techmaster.vn
  • 98.
    keywords to remember http://techmaster.vn
  • 99.
    Khổng Tử said WhatU listen, U forget What U see, U remember What U do, U understand http://techmaster.vn
  • 100.
    Learning Resource • Web – 12 Principles of Agile • SlideShare – Project Management with SCRUM – Intro to Agile • Blogs – http://blog.mountaingoatsoftware.com/ – http://blogs.msdn.com/b/aaronbjork/ http://techmaster.vn

Editor's Notes

  • #10 http://en.wikipedia.org/wiki/Waterfall_model#Criticism
  • #11 Giải thích SCRUMSCRUM khác gì với Agilehttp://en.wikipedia.org/wiki/Scrum_(development)
  • #16 http://agilemanifesto.org/principles.html
  • #17 http://agilemanifesto.org/principles.html
  • #26 Product backlogThe product backlog is a high-level document for the entire project. It contains backlog items: broad descriptions of all required features, wish-list items, etc. prioritized by business value. It is the “What” that will be built. It is open and editable by anyone and contains rough estimates of both business value and development effort. Those estimates help the Product Owner to gauge the timeline and, to a limited extent, prioritize. For example, if the “add spellcheck” and “add table support” features have the same business value, the one with the smallest development effort will probably have higher priority, because the ROI (Return On Investment) is higher.The product backlog is the property of the Product Owner. Business value is set by the Product Owner. Development effort is set by the Team.Sprint backlogThe sprint backlog is a document containing information about how the team is going to implement the features for the upcoming sprint. Features are broken down into tasks; as a best practice, tasks are normally estimated between four and sixteen hours of work. With this level of detail the whole team understands exactly what to do, and anyone can potentially pick a task from the list. Tasks on the sprint backlog are never assigned; rather, tasks are signed up for by the team members as needed, according to the set priority and the team member skills.The sprint backlog is the property of the Team. Estimations are set by the Team. Often an accompanying Task Board is used to see and change the state of the tasks of the current sprint, like “to do”, “in progress” and “done”.Burn downThe sprint burn down chart is a publicly displayed chart showing remaining work in the sprint backlog. Updated every day, it gives a simple view of the sprint progress. It also provides quick visualizations for reference. There are also other types of burndown, for example the Release Burndown Chart that shows the amount of work left to complete the target commitment for a Product Release (normally spanning through multiple iterations) and the Alternative Release Burndown Chart[14], which basically does the same, but clearly shows scope changes to Release Content, by resetting the baseline.It should not be confused with an earned value chart.
  • #30 http://blog.mountaingoatsoftware.com/non-functional-requirements-as-user-storieshttp://www.aqris.com/display/DEV/2009/03/25/Representing+non-functional+requirements+with+user+stories
  • #48 Team Foundation Server 2010 is for everyone…regardless of the size of your team. Whether its 2,000 or 2, or even if you are a team of one. With TFS 2010, you start with a basic configuration that meets your current needs. You can start on top of SQL Server 2008 Express Edition and easily upgrade to SQL Server 2008 Standard or Enterprise editions when and if your needs demand it. Use the features you want now and enable other features when you’re ready.
  • #57 Demo
  • #60 http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
  • #63 http://blogs.msdn.com/b/team_foundation/archive/2010/04/13/compat-matrix-for-2010-rtm-team-foundation-server-to-team-explorer-2008-and-2005.aspxhttp://coderjournal.com/2010/02/connecting-visual-studio-2008-to-team-foundation-server-2010/Visual Studio 2005 to TFS 2010http://support.microsoft.com/kb/979258
  • #64 http://visualstudiogallery.msdn.microsoft.com/en-us/bce06506-be38-47a1-9f29-d3937d3d88d6
  • #67 Some morehttp://www.woodwardweb.com/vsts/tfs_2010_api_by.html
  • #80 Giải thích SCRUMSCRUM khác gì với Agile