SlideShare ist ein Scribd-Unternehmen logo
1 von 81
Start Up and Git Done: 
Using Visual Studio Online 
Jeff McKenzie 
@jeffreymckenzie 
jmckenzie@icct.com
@jeffreymckenzie 
Invest in my startup. 
2 © 2014, Information Control Company
@jeffreymckenzie 
3 © 2014, Information Control Company
@jeffreymckenzie 
4 © 2014, Information Control Company
@jeffreymckenzie 
Invest in my startup. 
5 © 2014, Information Control Company
@jeffreymckenzie 
$$$ 
6 © 2014, Information Control Company
@jeffreymckenzie 
!!! 
7 © 2014, Information Control Company
@jeffreymckenzie 
VSO 
git 
8 © 2014, Information Control Company
@jeffreymckenzie 
Loading…. 
This may take a few minutes. 
9 © 2014, Information Control Company
@jeffreymckenzie 
10 © 2014, Information Control Company
@jeffreymckenzie 
Easy. 
11 © 2014, Information Control Company
@jeffreymckenzie 
Flexible. 
12 © 2014, Information Control Company
@jeffreymckenzie 
Complete. 
13 © 2014, Information Control Company
@jeffreymckenzie 
14 © 2014, Information Control Company
@jeffreymckenzie 
15 © 2014, Information Control Company
@jeffreymckenzie 
Sign Up. 
16 © 2014, Information Control Company
@jeffreymckenzie 
Login. 
17 © 2014, Information Control Company
@jeffreymckenzie 
Account. 
18 © 2014, Information Control Company
@jeffreymckenzie 
You’re 
In. 
19 © 2014, Information Control Company
@jeffreymckenzie 
Create. 
20 © 2014, Information Control Company
@jeffreymckenzie 
Wait. 
21 © 2014, Information Control Company
@jeffreymckenzie 
Done. 
22 © 2014, Information Control Company
@jeffreymckenzie 
Home. 
23 © 2014, Information Control Company
@jeffreymckenzie 
Team. 
24 © 2014, Information Control Company
@jeffreymckenzie 
Invite. 
25 © 2014, Information Control Company
@jeffreymckenzie 
Team. 
26 © 2014, Information Control Company
@jeffreymckenzie 
Profile. 
27 © 2014, Information Control Company
@jeffreymckenzie 
Me. 
28 © 2014, Information Control Company
@jeffreymckenzie 
See Me. 
29 © 2014, Information Control Company
@jeffreymckenzie 
Loading…. 
This may take a few minutes. 
30 © 2014, Information Control Company
@jeffreymckenzie 
The Ballmer Peak. 
31 © 2014, Information Control Company
@jeffreymckenzie 
XKCD 
323 
32 © 2014, Information Control Company
@jeffreymckenzie 
The Idea. 
33 © 2014, Information Control Company
@jeffreymckenzie 
34 © 2014, Information Control Company
@jeffreymckenzie 
192% Awesomer. 
35 © 2014, Information Control Company
@jeffreymckenzie 
The Tweetalyzer. 
36 © 2014, Information Control Company
@jeffreymckenzie 
Code. 
Work. 
Build. 
Test. 
37 © 2014, Information Control Company
@jeffreymckenzie 
TFVC. Centralized. Server. 
Git. Distributed. Local. 
38 © 2014, Information Control Company
@jeffreymckenzie 
Code. 
Work. 
Build. 
Test. 
39 © 2014, Information Control Company
@jeffreymckenzie 
Creds. 
40 © 2014, Information Control Company
@jeffreymckenzie 
Git Init. 
Git Status. 
1 
2 
3 
4 
5 
41 © 2014, Information Control Company
@jeffreymckenzie 
Git Remote. 
6 
7 
8 
42 © 2014, Information Control Company
@jeffreymckenzie
@jeffreymckenzie 
44 © 2014, Information Control Company
@jeffreymckenzie 
Git Add. 9 
10 
45 © 2014, Information Control Company
@jeffreymckenzie 
Git Commit. 
11 
12 
46 © 2014, Information Control Company
@jeffreymckenzie 
Git Hist. 
Git Push. 
13 
14 
47 © 2014, Information Control Company
@jeffreymckenzie 
Explore. 
48 © 2014, Information Control Company
@jeffreymckenzie 
Commits. 
49 © 2014, Information Control Company
@jeffreymckenzie 
Branches. 
50 © 2014, Information Control Company
@jeffreymckenzie 
Pull 
Requests. 
51 © 2014, Information Control Company
@jeffreymckenzie 
VS2013. 
52 © 2014, Information Control Company
@jeffreymckenzie 
Code. 
Work. 
Build. 
Test. 
53 © 2014, Information Control Company
@jeffreymckenzie 
Backlog. 
54 © 2014, Information Control Company
@jeffreymckenzie 
Item. 
55 © 2014, Information Control Company
@jeffreymckenzie 
Sprint. 
56 © 2014, Information Control Company
@jeffreymckenzie 
Task. 
57 © 2014, Information Control Company
@jeffreymckenzie 
Board. 
58 © 2014, Information Control Company
@jeffreymckenzie 
Change. 
59 © 2014, Information Control Company
@jeffreymckenzie 
Git Diff. 
15 
16 
60 © 2014, Information Control Company
@jeffreymckenzie 
17 
18 
Git Push.19 
61 © 2014, Information Control Company
@jeffreymckenzie 
Task Links. 
62 © 2014, Information Control Company
@jeffreymckenzie 
Add Link. 
63 © 2014, Information Control Company
@jeffreymckenzie 
Find 
Commit. 
64 © 2014, Information Control Company
@jeffreymckenzie 
Links. 
65 © 2014, Information Control Company
@jeffreymckenzie 
Commit 
Detail. 
66 © 2014, Information Control Company
@jeffreymckenzie 
Code. 
Work. 
Build. 
Test. 
67 © 2014, Information Control Company
@jeffreymckenzie 
Build 
Trigger. 
68 © 2014, Information Control Company
@jeffreymckenzie 
Source 
Settings. 
69 © 2014, Information Control Company
@jeffreymckenzie 
Cloud. 
70 © 2014, Information Control Company
@jeffreymckenzie 
Azure. 
71 © 2014, Information Control Company
@jeffreymckenzie 
Deploy. 
72 © 2014, Information Control Company
@jeffreymckenzie 
Code. 
Work. 
Build. 
Test. 
73 © 2014, Information Control Company
@jeffreymckenzie 
Test Suite. 
74 © 2014, Information Control Company
@jeffreymckenzie 
Load Test. 
75 © 2014, Information Control Company
@jeffreymckenzie 
Chat. 
76 © 2014, Information Control Company
@jeffreymckenzie 
Events. 
77 © 2014, Information Control Company
@jeffreymckenzie 
Pricing 
78 © 2014, Information Control Company
@jeffreymckenzie 
Monaco. 
79 © 2014, Information Control Company
@jeffreymckenzie 
Invest in my startup. 
80 © 2014, Information Control Company
Start Up and Git Done: 
Using Visual Studio Online 
Jeff McKenzie 
@jeffreymckenzie 
jmckenzie@icct.com

Weitere ähnliche Inhalte

Ähnlich wie Start Up and Git Done: Using Visual Studio Online

Azure Mobile Services .NET Backend
Azure Mobile Services .NET BackendAzure Mobile Services .NET Backend
Azure Mobile Services .NET BackendFilip Ekberg
 
Tests with knock out results - Justin Rondeau #ab40
Tests with knock out results - Justin Rondeau #ab40Tests with knock out results - Justin Rondeau #ab40
Tests with knock out results - Justin Rondeau #ab40Online Dialogue
 
Internet of Things: The Next Bubble? a talk by Sce Pike, CXO, Citizen, Inc.
Internet of Things: The Next Bubble? a talk by Sce Pike, CXO, Citizen, Inc.Internet of Things: The Next Bubble? a talk by Sce Pike, CXO, Citizen, Inc.
Internet of Things: The Next Bubble? a talk by Sce Pike, CXO, Citizen, Inc.Citizen, Inc.
 
eMarketer Webinar: The Multitasking Consumer—So Many Screens, So Little Time
eMarketer Webinar: The Multitasking Consumer—So Many Screens, So Little TimeeMarketer Webinar: The Multitasking Consumer—So Many Screens, So Little Time
eMarketer Webinar: The Multitasking Consumer—So Many Screens, So Little TimeeMarketer
 
Building Saas for the Enterprise
Building Saas for the EnterpriseBuilding Saas for the Enterprise
Building Saas for the EnterpriseBeau Christensen
 
Winning the Tech Talent War
Winning the Tech Talent WarWinning the Tech Talent War
Winning the Tech Talent WarGlassdoor
 
20-year evolution with a 5-year strategic plan
20-year evolution with a 5-year strategic plan20-year evolution with a 5-year strategic plan
20-year evolution with a 5-year strategic planMegan Gilhooly
 
Location-based Mobile Market Research at the Point of Influence
Location-based Mobile Market Research at the Point of InfluenceLocation-based Mobile Market Research at the Point of Influence
Location-based Mobile Market Research at the Point of InfluenceField Agent
 
Get to Green: How to Safely Refactor Legacy Code
Get to Green: How to Safely Refactor Legacy CodeGet to Green: How to Safely Refactor Legacy Code
Get to Green: How to Safely Refactor Legacy CodeGene Gotimer
 
How to Create Computer-Free Digital Experiences (Planningness 2013)
How to Create Computer-Free Digital Experiences (Planningness 2013)How to Create Computer-Free Digital Experiences (Planningness 2013)
How to Create Computer-Free Digital Experiences (Planningness 2013)Vladimir Pick
 
Django 프로젝트 - heroku 배포하기
Django  프로젝트 - heroku 배포하기Django  프로젝트 - heroku 배포하기
Django 프로젝트 - heroku 배포하기Jessica Lee
 
First Steps to Mobile Sites and Apps
First Steps to Mobile Sites and AppsFirst Steps to Mobile Sites and Apps
First Steps to Mobile Sites and AppsMageCloud
 
Maintenance Made Easy: Property Managers’ Secret Weapons
Maintenance Made Easy: Property Managers’ Secret WeaponsMaintenance Made Easy: Property Managers’ Secret Weapons
Maintenance Made Easy: Property Managers’ Secret WeaponsAppFolio
 
Continuous Verification in a Serverless World
Continuous Verification in a Serverless WorldContinuous Verification in a Serverless World
Continuous Verification in a Serverless WorldLeon Stigter
 

Ähnlich wie Start Up and Git Done: Using Visual Studio Online (20)

Azure Mobile Services .NET Backend
Azure Mobile Services .NET BackendAzure Mobile Services .NET Backend
Azure Mobile Services .NET Backend
 
Tests with knock out results - Justin Rondeau #ab40
Tests with knock out results - Justin Rondeau #ab40Tests with knock out results - Justin Rondeau #ab40
Tests with knock out results - Justin Rondeau #ab40
 
Internet of Things: The Next Bubble? a talk by Sce Pike, CXO, Citizen, Inc.
Internet of Things: The Next Bubble? a talk by Sce Pike, CXO, Citizen, Inc.Internet of Things: The Next Bubble? a talk by Sce Pike, CXO, Citizen, Inc.
Internet of Things: The Next Bubble? a talk by Sce Pike, CXO, Citizen, Inc.
 
eMarketer Webinar: The Multitasking Consumer—So Many Screens, So Little Time
eMarketer Webinar: The Multitasking Consumer—So Many Screens, So Little TimeeMarketer Webinar: The Multitasking Consumer—So Many Screens, So Little Time
eMarketer Webinar: The Multitasking Consumer—So Many Screens, So Little Time
 
Building Saas for the Enterprise
Building Saas for the EnterpriseBuilding Saas for the Enterprise
Building Saas for the Enterprise
 
Winning the Tech Talent War
Winning the Tech Talent WarWinning the Tech Talent War
Winning the Tech Talent War
 
2FA in 2020 and Beyond
2FA in 2020 and Beyond2FA in 2020 and Beyond
2FA in 2020 and Beyond
 
20-year evolution with a 5-year strategic plan
20-year evolution with a 5-year strategic plan20-year evolution with a 5-year strategic plan
20-year evolution with a 5-year strategic plan
 
HTTP Application Performance Analysis
HTTP Application Performance AnalysisHTTP Application Performance Analysis
HTTP Application Performance Analysis
 
Lean Software Delivery
Lean Software DeliveryLean Software Delivery
Lean Software Delivery
 
Location-based Mobile Market Research at the Point of Influence
Location-based Mobile Market Research at the Point of InfluenceLocation-based Mobile Market Research at the Point of Influence
Location-based Mobile Market Research at the Point of Influence
 
Get to Green: How to Safely Refactor Legacy Code
Get to Green: How to Safely Refactor Legacy CodeGet to Green: How to Safely Refactor Legacy Code
Get to Green: How to Safely Refactor Legacy Code
 
How to Use Powtoon
How to Use PowtoonHow to Use Powtoon
How to Use Powtoon
 
HOW TO USE POWTOON
HOW TO USE POWTOONHOW TO USE POWTOON
HOW TO USE POWTOON
 
How to Create Computer-Free Digital Experiences (Planningness 2013)
How to Create Computer-Free Digital Experiences (Planningness 2013)How to Create Computer-Free Digital Experiences (Planningness 2013)
How to Create Computer-Free Digital Experiences (Planningness 2013)
 
Django 프로젝트 - heroku 배포하기
Django  프로젝트 - heroku 배포하기Django  프로젝트 - heroku 배포하기
Django 프로젝트 - heroku 배포하기
 
First Steps to Mobile Sites and Apps
First Steps to Mobile Sites and AppsFirst Steps to Mobile Sites and Apps
First Steps to Mobile Sites and Apps
 
Maintenance Made Easy: Property Managers’ Secret Weapons
Maintenance Made Easy: Property Managers’ Secret WeaponsMaintenance Made Easy: Property Managers’ Secret Weapons
Maintenance Made Easy: Property Managers’ Secret Weapons
 
CIS14: PingID
CIS14: PingIDCIS14: PingID
CIS14: PingID
 
Continuous Verification in a Serverless World
Continuous Verification in a Serverless WorldContinuous Verification in a Serverless World
Continuous Verification in a Serverless World
 

Kürzlich hochgeladen

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Kürzlich hochgeladen (20)

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

Start Up and Git Done: Using Visual Studio Online

Hinweis der Redaktion

  1. Thanks everyone for coming out today. I’m Jeff McKenzie, and my contact information is here I’m the Microsoft Practice Lead for ICC
  2. Don’t know if you happened to catch the writeup for today’s topic, but the main the reason we’re here is because I’m starting a business. And I want to give all of you the chance to invest in that new startup.
  3. So I’m starting my own business… Well, it’s not THAT kind of business, but it IS a service
  4. Until recently, I’ve been limited as to what I can disclose about my startup because we are in stealth mode right now – We’ve got a multi-million dollar idea and we don’t want anyone to steal it. We are finishing up a private beta, and preparing for a small-scale rollout, so it’s only today, to those of you in this room, that I’m able to reveal all of the details.
  5. So you may be saying to yourself, Jeff, that’s great that you want to start your own business and everything, But what’s in it for me? And that’s an excellent question. And I’ll give you three reasons why you should invest in my startup.
  6. And the first reason is that you are going to make a lot of money. Why else would you invest if not for a sizeable return on that investment?
  7. The second reason is that you will be helping PEOPLE. And it’s always nice to be able to help people and make lots of money while doing it.
  8. And the third reason you will be begging me for the opportunity to invest in my startup… Is that my startup team is using Visual Studio Online, which has a full set of the features and benefits of Team Foundation Server, but with all the flexibility of a cloud environment. On top of that, we are using the git version control system, which has been added as an option to Visual Studio and visual studio Online relatively recently. I will get into the details on Visual Studio Online shortly, but I wanted first to share with you that multimillion dollar idea.
  9. Ah. Actually, I forgot. I apologize. According to an agreement I have with some of my Angel Investors, I can’t completely reveal my Startup idea for about 20 more minutes. I probably should have timed that better, but that’s ok. It gives us a chance to take a closer look at Visual Studio Online in the meantime.
  10. Why did we choose Visual Studio Online for our startup? Three reasons.
  11. The first is that it’s very easy. Very simple to sign up, set up, configure, and start using.
  12. Second, it’s flexible – there are many different ways to use it, you can select which components you use and you can use some or all of the features: For example you can decide to use requirements tracking, version control, automated builds, test plans, and deployment, Or use any of those in combination.
  13. And third, it’s complete – it contains everything you need to manage your projects and application from beginning to end. I’ve also discovered that the mushroom cloud is the perfect image for really any occasion. So that’s a pro tip for you today.
  14. So what is Visual Studio Online? Anybody used it or using it? It’s been a little confusing. It used to be called Team Foundation Service, because it’s very similar to Team Foundation Server. The problem was that the Service and the Server both had the same acronym: TFS. So when you said TFS, you’d have to ask: do you mean the on-premise version or the cloud version? And then Microsoft changed the name, which was probably good because of the whole server/service confusion. But then they called it Visual Studio Online. When I hear Visual Studio Online, I think: an online version of Visual Studio, or a browser-based IDE, which would be cool, but that’s not what it is. YET. As the product has evolved and matured, I think one can see that Microsoft really intends this to be a full-featured development experience in the cloud. Anybody heard of or used the Monaco browser-based editor? How about TFS on premesis? What features of it are you using? When I started using TFS I thought it was just the next version of Source Safe, or something like Subversion, But it’s really more than that – it’s a tool for ALM, or application lifecycle management – this diagram is a pretty good picture of what the TFS ecosystem provides in terms of access, scope, and functionality. In the past, implementing this ALM solution required acquiring hardware and doing some server administration, but now Visual Studio Online removes a lot of the pain of maintaining an on-premise installation of Team Foundation Server.
  15. This diagram I think provides a pretty good view of how both TFS and Visual Studio online combine to provide many different features and capabilities. Again in the middle we have the foundation of what is provided by both – the blue shows those features that take advantage of the cloud, and in the purple, the primary advantages of the on-premise version.
  16. I spoke earlier about the fact that Visual Studio Online is easy, so Let’s take a look at the that first. To get started, simply go to visualstudio.com, and click the “get started for free” link.
  17. In order to create a Visual Studio Online Account, you need a Microsoft Account. Right now LiveID is the only identity provider supported, so unfortunately you can’t use openID Or another authentication method like Google or Facebook. If you don’t have a microsoft account you can create one at this point.
  18. Once you create your Microsoft account and login, you’re prompted to create an account. you’re also asked for a few more details, including your full name, your email, and region. Then it asks for your URL, the domain name you want to use for your I chose supersecret.visualstudio.com, and it will let you know if that URL is already taken.
  19. And that’s it – a few steps and you’re ready to get started creating a project. One thing about Visual Studio Online is that it’s constantly being updated – about every three weeks or so they roll out new features. The nice part of that is you’re getting improvements, and the downside is you may have to do more adapting and adjusting than you’re used to. With TFS on premises, you choose when to update or upgrade. To start, you have two options, using those two buttons on the left – you can create a new team project, which uses the traditional Team Foundation Version Control, Or you can create a project using Git.
  20. In Visual Studio Online, a project is a workspace that contains everything you need for the lifecycle of an application, it’s a container for your methodology. And this includes planning, management, source control, testing, and building. When you create a new team project, you have a few initial choices – You select a project name and description – here I’ve chosen TopSecretProject And then you select your process template – and if a project is a container for your methodology, then the process template is your methodology You have three choices – there’s a scrum template, an agile template (if you’re using agile principles but not using scrum specifically), and a CMMI template. I’ve personally not worked with CMMI (Capability Maturity Model Integration) but I’ve heard it described as the template to use if you need to generate copious amounts of documentation.
  21. It only takes a minute or two to create the project, which gets queued on a server for build.
  22. And when it’s done it tells you that your project is created and your team is absolutely going to love this.
  23. The home page for your account lists all of your projects that you’ve created. you can have multiple projects for your account, but you can only have one account per microsoft account
  24. There are user management features to the service as well – once you get into your project you can add and remove team members. You can add users by email address, but in order for that user to join they must have a Microsoft account.
  25. Once you invite someone, they receive an email with a link to the project, and this is what the email looks like. You can also adjust the access permissions for a new team member through the control panel. Visual Studio Online has a full set of administrative and maintenance tools that are comparable to the on-premise version of TFS.
  26. So here’s what the team list looks like after other members have been added. One important thing to keep in mind is that to join a project you don’t have to have a Visual Studio Online account, You just have to have a Microsoft account. Basically one person can create a Visual Studio Online account, and the other team members get added on as contributors.
  27. I can also change my user profile -- if I want to change my photo for instance, I can click on the user name in the upper right of the screen And select My profile.
  28. There’s a link for change picture…
  29. And I select a picture and I’m done – my picture then gets attached to whatever events I own that are reported on the site. And we’ll see that later.
  30. OK, and we are back…. Now I can finally introduce you to this multimillon dollar idea, the reason why all of you are here. Let’s start with a little background.
  31. Is anyone familiar with the concept of the Ballmer Peak? Anyone? Can anyone tell me what it is?
  32. In the gospel according to XKCD, chapter 323, the Ballmer Peak was discovered by Microsoft in the late 1980s. The cause is unknown, but somehow a Blood Alcohol Concentration (or a BAC) Between 0.129 percent and 0.138 percent confers superhuman programming ability.
  33. So what does this have to do with my startup? Well I have done lots of independent research on this topic, employment a number of focus groups, And I have been able to confirm that the Ballmer Peak works not only for programming, but also for Twitter.
  34. In short, a BAC in that short window of .129 to .138 also gives you superhuman tweeting ability. In that very narrow window, your tweets become more impressive, more insightful, and just plain awesomer.
  35. We’ve been able to calculate this in fact, and it’s 192% awesomer. I’m not making this up, people, this is science. So, how much would you pay to be certain that everything you tweet will be… retweeted thousands of times, favorited by millions, And cited and quoted throughout the tweetosphere? I don’t know about you, but I would pay a lot of money for that. And so it’s with great pride I introduce today….
  36. The Tweetalyzer. This is what enables us to harness the awesome power of the peak tweet. But the hardware component is just one piece of the product. The secret is in the platform, the software that runs the service. And the tool we picked to manage the development of our software? Visual Studio Online.
  37. We talked before about a project being a container for your methodology, And Visual Studio Online breaks this down into 4 key areas: Code, Work, Build, and Test. We will look at each of these areas and how we’ve used them in the Tweetalyzer project.
  38. Before we look at version control, specifically Git, I wanted to spend a moment on the difference between the two types of version control that Visual Studio Online offers The first is the traditional Team Foundation Version Control – it’s what is known as a centralized version control, meaning a master copy of the source code is kept on a server. This type of version control is usually chosen for projects with a lot of components, where you have a large team of different skill levels in one physical location. For example a large team at a bank would probably choose this type of version control. Git is known as distributed version control, and this essentially means that a full copy of the source code exists anywhere it’s being worked on. By convention, you often have a master copy of the code somewhere, but there’s not the same tight coupling you have in centralized source control. This type of version control is often associated with smaller, remote teams where the developer skill level is relatively high. One of the benefits of working with the entire source control locally is that you can create local branches, and work on any number of features without cluttering up the main copy. How many of you work with centralized version control systems? How many with distributed? No matter which version control system you use, the fact that you now have a choice really raises the profile of Visual Studio Online as an ALM tool – it’s no longer tied to a single version control.
  39. When you first go to the code section, after creating a project, you’re told that you have an empty repository, and you have two options -- you can clone the empty repository (which means download a copy to your computer) or push an existing repository (which means upload from your computer) For this demo I decided to create a git repo on my local machine to push to Visual Studio Online. You can do everything involving Git within Visual Studio, but the nice thing about Visual Studio Online is that it allows you to work from the command line as well. I’m using msysGit as my shell, which is one client you can use. There are plenty of resources out there on using Git within Visual Studio, so I thought I would show you the command line steps.
  40. In order to use the command line with Visual Studio Online, you have to provide alternate credentials so you can authenticate through the command line client. There’s a section in your user profile to add a username and password.
  41. This is not intended to be a git tutorial, but I wanted to go quickly through the high-level steps for those who haven’t used it before. The dollar signs here are the command line prompts, where I can enter commands So the first thing I do here is CD (or change directory) into my root C drive – the second is to create a tweetalyzer directory, and the third is to cd into the tweetalyzer directory. That sets us up for the first Git command – Git Init (in number four). This command tells git to create everything needed to start using a git repository (or repo) -- a repository is simply a collection of files and their versions. After init, I can use the git status command (in box 5), which shows you the current state of your source code. Because I just created it, it shows nothing to commit, which is to be expected. It also shows that we are on branch master, which is the single branch git creates by default.
  42. The sixth step here is to add a remote repository – in git, a remote repository is a reference to an external copy of the source code. In our case, the remote is visual studio online. In order to create a link or reference between my local copy and visual studio online, I run the command called “git remote add origin” – Which means I’m adding a remote called “origin” – origin is the name used by convention to mean the external authoritative copy if the repo. With that command, I also need to specify the URL of the visual studio online account Next thing to do, number 7, is to create a readme file so I have something to push up to Visual Studio Online initially. Then I run Git Status again. One of the things I like about git is that it keeps an updated picture of what’s in your directories, even if it’s not in Git yet. Simply by creating a file in the directory, git will tell you there’s an untracked file, meaning it hasn’t been included in source control.
  43. Before I show you how to add a file, I wanted to explain the difference between how files and changes are added to git versus a centralized version control system. The centralized model has pretty much two states: Either the file is being edited locally, or it is committed to the central server. That’s it. Either the developer is working on the file, or the work is finished and saved on the server. The git model is broader than that.
  44. It has 4 states – first, the file can be in the process of editing, Second, can be added to the local index (which is kind of a staging area that allows you to prep files for committing, before you actually commit them. Third, It can be committed locally, And 4th, it can be pushed to the remote server. So Git adds two states in the middle of local edit and remote commit. This gives you a lot of flexibility to have your own local history that’s completely separate from the server history, And still maintain a relationship to the master code.
  45. So the command to add a file to that staging area or index is, not surprising, Git Add. For number 9, I’ve used “git add readme.txt” to place the file in that index. Then when I run Git Status again, it shows me that’s there’s one new file ready to be committed, or checked in. One of the advantages of a staging area is that you can organize between versions of files that are ready to commit and those that are not
  46. Once I’ve added the file and sure that the changes are correct, I can then commit it, which makes it part of the local history By running the git commit command. I can use the –m option to specify a message for the commit. After that, when I run status, git shows a clean working directory, because the contents of my local directory matches the contents of Git.
  47. There’s also a history command, which then displays the change log – you can see on number 13 it displays the ID, date, and comment for the file changed, and also shows the user who committed the change. Now that the readme file is part of the local history, we need to make it part of the remote history, and we do that using the Push command The full command, as shown in the final block, is push origin, which specifies that I am pushing up the changes to Visual Studio Online As you can see I also have to specify my alternate credentials for authentication so I can make the push. I should mention that I’m presenting a simplified version of this process – if you had multiple branches and more than one developer, there are additional things to be aware of, so I’d encourage you to work on a test project by yourself to get the hang of git
  48. After the push, when you go back to Visual Studio Online, you can see the updates through a graphical code explorer.
  49. You also have a view of the commit history through Visual Studio Online – that same history we saw on the command line shows up here.
  50. There’s also a branch view – here we have the default master branch, and I’ve also added another branch off of master called “remove header date”.
  51. Branches are closely tied to Pull Requests. When you want people on your team to review code in a you can use a pull request to review and merge the code. Pull requests are a way for developers working in branches to push up their changes and get feedback and approval before the code is merged in.
  52. We’ve been looking at the command line so far, but you can also access this from Visual Studio just like you would any other local Team Foundation Server.
  53. Next we have work, which is the requirements management piece of Visual Studio Online. I’m going to demonstrate the work features by going through a real-live problem we had, and showing how we solved it. So, here is the tweetalyzer interface. How this works is you tweet as you normally do, just as if you were using the Twitter interface. Your blood alcohol concentration is constantly being detected by the device What it does is cache all of your tweets, and when your BAC hits the magic number, we have a sophisticated algorithm That forms a narrative from the tweets you created, and sends those out to the public. We had a small problem early on in our beta testing – we started sending tweets out at the right time, but we forgot To stop sending them once the peak BAC was passed. So that turned out to be bad. In some cases we had people getting fired, there were some excommunications happening, just not good all around.
  54. But because we were using Visual Studio Online, and specifically the scrum template, we were able to plan for and build in a fix for this quickly. We created a new item and added it to the product backlog
  55. When you create a new backlog item, there are a few fields to fill in – You specify the title, and ours is “disable tweets when maximum BAC reached” We include the iteration, which here is Sprint 2 – You can assign to a specific person, estimate a level of effort, and attach to a specific area, which here is Web Application – an area in Visual Studio Online is a logical grouping of functionality. You might have an area for all items related to the data layer, or the service layer.
  56. So here’s what our second sprint looks like with the new backlog item added to it We’ve also specified dates for our sprint.
  57. A product backlog item is typically created by or on behalf of the Product Owner, and it’s usually a high level requirement. In Visual Studio Online, you break that down into actionable chunks by linking specific tasks to the backlog item. So here we can create a task called “Disable tweet button when max BAC detected.” So this can be assigned to a specific developer and given a specific duration. Here the most important item is the remaining work field, which needs to be updated daily by the developer – This enables some of the reporting such as burndown charts.
  58. There’s also a new feature in Visual Studio Online called the Board, which gives you a visual perspective for backlog items and tasks in a given sprint, and their status. You can also drag items back and forth across status lines.
  59. After the task has been assigned, the developer makes a code change. In our case, the developer adds some jQuery that checks the BAC, and if it’s hit a certain level, the tweet button is disabled.
  60. Back to git on the command line – now that the developer has made the change locally, Running git status, shown in block 15, lists that specific file as having been modified. The git diff command in 16 highlights the changes that have been made in that modification.
  61. As in our last example with the readme file, the developer adds the file to the git index in 17 Commits in 18, And pushes back to Visual Studio online in 19.
  62. Now the developer goes back to the task to finish up. Tasks have the concept of links – right now this task has one link to the Product Backlog item. Now that this task has been completed, we can link the code change to this task.
  63. There are a number of different types of links you can have in a task, But we are specifically interested in the Commit for the moment, so we can choose that from the Add list.
  64. When we select commit, we’re taken to a search screen, where we can list all commits or search for specific commits. The first one in the list is the one we want, so we can go ahead and select that.
  65. Now back at the task we have added a commit link, and we show 2 links there now.
  66. When you double-click on the commit, you’re taken to a detail screen that shows all the pertinent information About the change and the developer who made it. So In the work or requirements management section, what we’ve done is take a requirement, Document it, and create traceability at every level. We have the high level business requirement that the business can understand, tasks that tech leads can read, Code changes that are visible to developers, and its all wrapped up in a structure that’s linked together and Easy to navigate. It’s that completeness that gives a lot of power to Visual Studio Online.
  67. Build is up next – here’s a view from Visual Studio 2013 connected to Visual Studio Online. This is where you can create a build process for your application, by clicking on the builds link.
  68. Here I want to set up a continuous integration build, so I’ve created a build called “CI- Tweetalyzer” And selected the appropriate option – you also have other choices such as manual or scheduled builds.
  69. In the source settings, you specify that you want to build from a Git repository, and you can specify the default branch.
  70. A couple nice things about the build process in Visual Studio Online– First, you can use a hosted build controller, meaning your builds actually take place up the cloud. Second, you can queue builds from the service, online, as well as from Visual Studio, And you can see the results in either place.
  71. Another build feature is the ability to build and deploy directly to Azure. In Azure you need to Authorize the Visual Studio Online connection, and enter the applicable URL.
  72. At that point you can create a continuous deployment process within Azure, So that each time you commit a change to the source, a deploy is automatically triggered.
  73. Finally we have the test features – I’m not going to go into this real in depth, but it provides a framework to Manage and build your testing effort. When you first enter the test section, you’re prompted to create a test plan.
  74. Once you’ve created a test plan, you can add test suites to it, and those test suites can be based on a number of factors, so you can group test cases according to different features or requirements.
  75. One new feature is the ability to create web performance and load test projects within Visual Studio, Record them using Internet Explorer, and then actually run those tests in the cloud.
  76. One final feature I wanted to show is the team room, which is part of the Advanced features of Visual Studio Online. It’s basically a chat room with alerts, events, and history. You can use the team room for planning, conversation, or standups, especially if you’re remote. And you can browse the history by date, there’s a date navigation there.
  77. You can also set which events show up in the team room, such as commits, builds, or updates to requirements.
  78. As far as pricing goes, the Basic package is free for up to 5 users, and that covers a lot of the functionality we’ve looked at today. Users above 5 will cost $200 a month at the special intro pricing.
  79. Finally I wanted to take a quick look at Monaco, which is the cloud-based IDE for Visual Studio online.
  80. So thanks for the opportunity to speak with you today – don’t forget to invest in my startup. I’m accepting checks and cash after this session. Also please don’t forget to submit your evaluation cards, and make any comments you’d care to. What questions do you have on Team Foundation Service?