SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
team++
Powering up the BBC Homepage development team.
@NeilCrosby

   Lead developer,
   BBC Homepage
   Lego enthusiast
   Baker
Life used to
  be scary
Really scary
We wanted
 better
team++
This isn’t rocket science
Continuous Peer Review
Before any task is
committed to trunk,
a developer who
didn’t work on it
must say that they
are happy with how it’s
been completed.
After every task,

Ask questions
Does anything worry you?
Go back into
development if
  necessary
Sometimes people do
things wrong
People die get ill
Peer review helps
         the team
team++
Standards are Good
PHP_CodeSniffer


Documentation    K&R braces
     Spaces,      Consistent
    not tabs      spacing
Break the Standard?
Break the Build.
team++
We write tests. No, really.
Break the Tests?
Break the Build.
team++
Perform Pair
Programming
(where appropriate)
Enhance Progressively
Don’t work
out of hours
Bring
baked
goods
Socialise
Life is Good
Big Geek
                        Day Out
                           http://biggeekdayout.com




Saturday 1st October   Great Western Lego Show
Any
Questions?
Attribution
http://www.flickr.com/photos/dunechaser/3385957499/              http://www.flickr.com/photos/kwl/5114935852/

http://www.flickr.com/photos/dunechaser/3385957057/              http://www.flickr.com/photos/cross_stitch_ninja/4932950637/

http://www.flickr.com/photos/guinavere/5975167653/               http://www.flickr.com/photos/hoyvinmayvin/5167032467/

http://www.flickr.com/photos/thevoicewithin/5602511743/          http://www.flickr.com/photos/azrasta/4865872893/

http://www.flickr.com/photos/pedrovezini/4915241275/             http://www.flickr.com/photos/minifig/3174009125/

http://www.flickr.com/photos/dunechaser/567753250/               http://www.flickr.com/photos/pinkpurse/5282398538/

http://www.flickr.com/photos/kaptainkobold/5683011508/           http://www.flickr.com/photos/pasukaru76/5459428379/

http://www.flickr.com/photos/pasukaru76/4725010212/              http://www.flickr.com/photos/hoyvinmayvin/4759814312/

http://www.flickr.com/photos/pedrovezini/5473616337/             http://www.flickr.com/photos/hoyvinmayvin/5056582082/

http://www.flickr.com/photos/spacmonster/2896019144/             http://www.flickr.com/photos/martym/4494938838/

http://www.flickr.com/photos/evil_cheese_scientist/4693669312/   http://www.flickr.com/photos/kwl/5075443408/

http://www.flickr.com/photos/activars/5182488473/                http://www.flickr.com/photos/kwl/5258518254/

http://www.flickr.com/photos/kwl/4514986410/                     http://www.flickr.com/photos/pasukaru76/5174278607/

http://www.flickr.com/photos/hoyvinmayvin/5894936732/

Weitere ähnliche Inhalte

Was ist angesagt?

Onlive lessons learned
Onlive lessons learnedOnlive lessons learned
Onlive lessons learnedgregretkowski
 
Alice the bot @rootconf
Alice the bot @rootconfAlice the bot @rootconf
Alice the bot @rootconfPooja Shah
 
How To Pass A Ruby Code Test
How To Pass A Ruby Code TestHow To Pass A Ruby Code Test
How To Pass A Ruby Code TestRobert Postill
 
Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"
Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"
Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"LogeekNightUkraine
 
Agile content strategy - round 2
Agile content strategy - round 2Agile content strategy - round 2
Agile content strategy - round 2Lauren Pope
 
Agile content strategy
Agile content strategyAgile content strategy
Agile content strategyLauren Pope
 
Agile (mal)Practices Considered Harmful
Agile (mal)Practices Considered HarmfulAgile (mal)Practices Considered Harmful
Agile (mal)Practices Considered Harmful⇥ Tung Lam Vu ⇤
 
Mobile web application
Mobile web applicationMobile web application
Mobile web application偉格 高
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017Baruch Sadogursky
 
Maximes Presentation For Rubyconf China 2009
Maximes Presentation For Rubyconf China 2009Maximes Presentation For Rubyconf China 2009
Maximes Presentation For Rubyconf China 2009Robbin Fan
 
Vim Plugin Deployment
Vim Plugin DeploymentVim Plugin Deployment
Vim Plugin Deployment偉格 高
 

Was ist angesagt? (14)

Onlive lessons learned
Onlive lessons learnedOnlive lessons learned
Onlive lessons learned
 
Alice the bot @rootconf
Alice the bot @rootconfAlice the bot @rootconf
Alice the bot @rootconf
 
How To Pass A Ruby Code Test
How To Pass A Ruby Code TestHow To Pass A Ruby Code Test
How To Pass A Ruby Code Test
 
Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"
Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"
Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"
 
Agile content strategy - round 2
Agile content strategy - round 2Agile content strategy - round 2
Agile content strategy - round 2
 
Agile content strategy
Agile content strategyAgile content strategy
Agile content strategy
 
Agile (mal)Practices Considered Harmful
Agile (mal)Practices Considered HarmfulAgile (mal)Practices Considered Harmful
Agile (mal)Practices Considered Harmful
 
Mobile web application
Mobile web applicationMobile web application
Mobile web application
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
 
At2012 bengaluru standup_karthik_s
At2012 bengaluru standup_karthik_sAt2012 bengaluru standup_karthik_s
At2012 bengaluru standup_karthik_s
 
Maximes Presentation For Rubyconf China 2009
Maximes Presentation For Rubyconf China 2009Maximes Presentation For Rubyconf China 2009
Maximes Presentation For Rubyconf China 2009
 
Can you Kata?
Can you Kata?Can you Kata?
Can you Kata?
 
Khởi nghiệp
Khởi nghiệpKhởi nghiệp
Khởi nghiệp
 
Vim Plugin Deployment
Vim Plugin DeploymentVim Plugin Deployment
Vim Plugin Deployment
 

Ähnlich wie team++

The Seven Wastes of Software Development
The Seven Wastes of Software DevelopmentThe Seven Wastes of Software Development
The Seven Wastes of Software DevelopmentMatt Stine
 
Working with Developers
Working with DevelopersWorking with Developers
Working with DevelopersJack Moffett
 
Topsy Turvy Design: Adapting your design process for adaptive layout
Topsy Turvy Design: Adapting your design process for adaptive layoutTopsy Turvy Design: Adapting your design process for adaptive layout
Topsy Turvy Design: Adapting your design process for adaptive layoutRich Quick
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
 
The Magnificent Seven (steps of innovation)
The Magnificent Seven (steps of innovation)The Magnificent Seven (steps of innovation)
The Magnificent Seven (steps of innovation)Kevin Watt
 
15 Explosive Things You Should Try As An Agilist by Peter Gfader
15 Explosive Things You Should Try As An Agilist by Peter Gfader15 Explosive Things You Should Try As An Agilist by Peter Gfader
15 Explosive Things You Should Try As An Agilist by Peter GfaderBosnia Agile
 
What Do We Keep and What Do We Throw Away
What Do We Keep and What Do We Throw AwayWhat Do We Keep and What Do We Throw Away
What Do We Keep and What Do We Throw AwayDean Shareski
 
Estudio34 Presents Will critchlow the future of linkbuilding in LinkLove2013
Estudio34 Presents Will critchlow the future of linkbuilding in LinkLove2013Estudio34 Presents Will critchlow the future of linkbuilding in LinkLove2013
Estudio34 Presents Will critchlow the future of linkbuilding in LinkLove2013William Renedo
 
Will Critchlow - The Future of Link Building
Will Critchlow - The Future of Link BuildingWill Critchlow - The Future of Link Building
Will Critchlow - The Future of Link BuildingDistilled
 
Behaviour-Driven Development: escrevendo especificações ágeis
Behaviour-Driven Development: escrevendo especificações ágeisBehaviour-Driven Development: escrevendo especificações ágeis
Behaviour-Driven Development: escrevendo especificações ágeisHugo Lopes Tavares
 
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...XBOSoft
 
The Future of Design isn't Just the Web - WebVisions 2011 Workshop
The Future of Design isn't Just the Web - WebVisions 2011 WorkshopThe Future of Design isn't Just the Web - WebVisions 2011 Workshop
The Future of Design isn't Just the Web - WebVisions 2011 WorkshopSamantha Starmer
 
Plugging in: Leveraging Technology For Engagement
Plugging in: Leveraging Technology For EngagementPlugging in: Leveraging Technology For Engagement
Plugging in: Leveraging Technology For EngagementShelley Paul
 
What Can I Do Now? (web 2.0 pedagogy) v3.8
What Can I Do Now? (web 2.0 pedagogy) v3.8What Can I Do Now? (web 2.0 pedagogy) v3.8
What Can I Do Now? (web 2.0 pedagogy) v3.8Darren Kuropatwa
 
#PTW16 - A Better Way to Talk Tech
#PTW16 - A Better Way to Talk Tech#PTW16 - A Better Way to Talk Tech
#PTW16 - A Better Way to Talk TechSloan Miller
 
Technology Driven Diff Instruction
Technology Driven Diff InstructionTechnology Driven Diff Instruction
Technology Driven Diff InstructionVicki Davis
 

Ähnlich wie team++ (20)

The Seven Wastes of Software Development
The Seven Wastes of Software DevelopmentThe Seven Wastes of Software Development
The Seven Wastes of Software Development
 
Team++
Team++Team++
Team++
 
Ideation,demos
Ideation,demosIdeation,demos
Ideation,demos
 
Working with Developers
Working with DevelopersWorking with Developers
Working with Developers
 
Topsy Turvy Design: Adapting your design process for adaptive layout
Topsy Turvy Design: Adapting your design process for adaptive layoutTopsy Turvy Design: Adapting your design process for adaptive layout
Topsy Turvy Design: Adapting your design process for adaptive layout
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
The Magnificent Seven (steps of innovation)
The Magnificent Seven (steps of innovation)The Magnificent Seven (steps of innovation)
The Magnificent Seven (steps of innovation)
 
15 Explosive Things You Should Try As An Agilist by Peter Gfader
15 Explosive Things You Should Try As An Agilist by Peter Gfader15 Explosive Things You Should Try As An Agilist by Peter Gfader
15 Explosive Things You Should Try As An Agilist by Peter Gfader
 
What Do We Keep and What Do We Throw Away
What Do We Keep and What Do We Throw AwayWhat Do We Keep and What Do We Throw Away
What Do We Keep and What Do We Throw Away
 
Estudio34 Presents Will critchlow the future of linkbuilding in LinkLove2013
Estudio34 Presents Will critchlow the future of linkbuilding in LinkLove2013Estudio34 Presents Will critchlow the future of linkbuilding in LinkLove2013
Estudio34 Presents Will critchlow the future of linkbuilding in LinkLove2013
 
Will Critchlow - The Future of Link Building
Will Critchlow - The Future of Link BuildingWill Critchlow - The Future of Link Building
Will Critchlow - The Future of Link Building
 
Maker Boot Camp
Maker Boot CampMaker Boot Camp
Maker Boot Camp
 
What Can I Do Now V1.01
What Can I Do Now V1.01What Can I Do Now V1.01
What Can I Do Now V1.01
 
Behaviour-Driven Development: escrevendo especificações ágeis
Behaviour-Driven Development: escrevendo especificações ágeisBehaviour-Driven Development: escrevendo especificações ágeis
Behaviour-Driven Development: escrevendo especificações ágeis
 
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
 
The Future of Design isn't Just the Web - WebVisions 2011 Workshop
The Future of Design isn't Just the Web - WebVisions 2011 WorkshopThe Future of Design isn't Just the Web - WebVisions 2011 Workshop
The Future of Design isn't Just the Web - WebVisions 2011 Workshop
 
Plugging in: Leveraging Technology For Engagement
Plugging in: Leveraging Technology For EngagementPlugging in: Leveraging Technology For Engagement
Plugging in: Leveraging Technology For Engagement
 
What Can I Do Now? (web 2.0 pedagogy) v3.8
What Can I Do Now? (web 2.0 pedagogy) v3.8What Can I Do Now? (web 2.0 pedagogy) v3.8
What Can I Do Now? (web 2.0 pedagogy) v3.8
 
#PTW16 - A Better Way to Talk Tech
#PTW16 - A Better Way to Talk Tech#PTW16 - A Better Way to Talk Tech
#PTW16 - A Better Way to Talk Tech
 
Technology Driven Diff Instruction
Technology Driven Diff InstructionTechnology Driven Diff Instruction
Technology Driven Diff Instruction
 

Mehr von Neil Crosby

Geolocation and Beer
Geolocation and BeerGeolocation and Beer
Geolocation and BeerNeil Crosby
 
Yahoo! Pipes: Munging, Mixing and Mashing
Yahoo! Pipes: Munging, Mixing and MashingYahoo! Pipes: Munging, Mixing and Mashing
Yahoo! Pipes: Munging, Mixing and MashingNeil Crosby
 
Search Monkey - Open Hack London '09
Search Monkey - Open Hack London '09Search Monkey - Open Hack London '09
Search Monkey - Open Hack London '09Neil Crosby
 
Automated Frontend Testing
Automated Frontend TestingAutomated Frontend Testing
Automated Frontend TestingNeil Crosby
 
I'll Show You Mine If You Show Me Yours...
I'll Show You Mine If You Show Me Yours...I'll Show You Mine If You Show Me Yours...
I'll Show You Mine If You Show Me Yours...Neil Crosby
 
TV Tubes - Talkin' 'bout my automation...
TV Tubes - Talkin' 'bout my automation...TV Tubes - Talkin' 'bout my automation...
TV Tubes - Talkin' 'bout my automation...Neil Crosby
 
Starting to Monkey Around With Yahoo! Search Monkey
Starting to Monkey Around With Yahoo! Search MonkeyStarting to Monkey Around With Yahoo! Search Monkey
Starting to Monkey Around With Yahoo! Search MonkeyNeil Crosby
 
Multi-level vCards
Multi-level vCardsMulti-level vCards
Multi-level vCardsNeil Crosby
 

Mehr von Neil Crosby (10)

Geolocation and Beer
Geolocation and BeerGeolocation and Beer
Geolocation and Beer
 
Lagging Pipes
Lagging PipesLagging Pipes
Lagging Pipes
 
Yahoo! Pipes: Munging, Mixing and Mashing
Yahoo! Pipes: Munging, Mixing and MashingYahoo! Pipes: Munging, Mixing and Mashing
Yahoo! Pipes: Munging, Mixing and Mashing
 
Search Monkey - Open Hack London '09
Search Monkey - Open Hack London '09Search Monkey - Open Hack London '09
Search Monkey - Open Hack London '09
 
Automated Frontend Testing
Automated Frontend TestingAutomated Frontend Testing
Automated Frontend Testing
 
I'll Show You Mine If You Show Me Yours...
I'll Show You Mine If You Show Me Yours...I'll Show You Mine If You Show Me Yours...
I'll Show You Mine If You Show Me Yours...
 
TV Tubes - Talkin' 'bout my automation...
TV Tubes - Talkin' 'bout my automation...TV Tubes - Talkin' 'bout my automation...
TV Tubes - Talkin' 'bout my automation...
 
Starting to Monkey Around With Yahoo! Search Monkey
Starting to Monkey Around With Yahoo! Search MonkeyStarting to Monkey Around With Yahoo! Search Monkey
Starting to Monkey Around With Yahoo! Search Monkey
 
Multi-level vCards
Multi-level vCardsMulti-level vCards
Multi-level vCards
 
Twitter Bots
Twitter BotsTwitter Bots
Twitter Bots
 

Kürzlich hochgeladen

UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfAnna Loughnan Colquhoun
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 

Kürzlich hochgeladen (20)

UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdf
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 

team++

Hinweis der Redaktion

  1. \n \n
  2. In every team, there are things that don’t work too well, and the one I’ve been working in for the last two years is no exception.\n\n \n \nThere are things you can do to improve matters though. Over the next twenty minutes I’m going to show you a few of the things we’ve done on the BBC Homepage to make our lives more pleasant.\n
  3. My name’s Neil Crosby, the lead developer on the BBC Homepage. I’m a big fan of automating things that might go wrong, and a huge fan of going home on time.\n\n \n \nI also like my Lego, which would explain the visual theme for this talk.\n\n \n
  4. When I joined, the homepage was being moved from one platform to another.\n\n \n \nDevelopers had joined and left.\n\n \n \nPeople were working in one person silos. Code would get to live without a single other person seeing it.\n\n \n \n\n \n
  5. There were bugs. Oh, so many bugs. Little and large.\n\n \n \nThings that should never have got through the system. Bat board.\n\n \n \nNot fun. Suffered like this for a long time.\n\n \n \nWhen the page launched last may, it was beset with problems.\n
  6. We started working on the new version.\n\n \n \nAs a team, knew we wanted better.\n\n \n \nSat down and decided what we were going to do.\n\n \n \nThat’s what I’m going to talk to you about today - how we improved our working environment, and what it’s done for us.\n
  7. I’m going to talk about three of the main things we put in place - \n\n \n \ncontinuous peer review, \nhaving standards \nand writing worthwhile tests\n\n \n \n- along with a bunch of other useful things we now do.\n\n \n
  8. This is all pretty simple stuff. \n\n \n \nIt’s common sense. \n\n \n \nBut we weren’t doing it before.\n
  9. First up is continuous peer review. If you follow my blog, you might have heard me refer to this as a “dev check” in the past.\n\n \n \nEssentially - after every single task that anyone in the team completes, they find someone else who wasn’t involved, and ask them to review it and ask questions.\n\n \n \nIt doesn’t matter who that person is - everyone is the same in peer review land. Seniors ask Juniors, cats lie down with dogs - it’s all good.\n
  10. \n \n
  11. What was the work you did?\nDoes it do what the task asked for?\nHave you written new tests? Do they pass?\nCan I see the code working in a couple of browsers?\n\n \n \nDifferent questions for every type of task, as long as they help to eke out problems, and share knowledge.\n
  12. There is one question that should always be asked though - is there anything that you’re done for this task that concerns you?\nWe all want to do our best. This question gives permission to the reviewee to admit that there are things they did that they weren’t comfortable with.\n9 times out of 10 they’ll then come up with a better solution, or be convinced that what they did was actually okay.\n
  13. At the end of the review, the original developer has to make any changes agreed upon with the reviewer before their code is allowed into the codebase. \n\n \n \nAnd that’s all there is to our continuous peer review.\nGenerally, they’ll take about 10% of the time of the original work - not bad at all.\n\n \n
  14. In case you hadn’t already guessed, there are two reasons why I think that continuous peer review is a good idea.\n\n \n \nFirst, people sometimes do things wrong. It happens. The second pair of eyeballs on their code can pick up on the fact that they’re riding an ostrich instead of force strangling people, and that can be fixed quickly.\n\n \n \nThe alternative is that the entire universe potentially ends up seeing you riding an ostrich, and that’s not so good…\n
  15. The other reason for performing continuous peer review is that they improve team resilience.\n\n \n \nSometimes people get ill. You don’t want to have to spend timing getting someone else up to speed with an area of code that’s only ever been seen by one person before.\n\n \n \nYou also don’t want to get into a situation where a horrible lump of code has only ever been worked on by one person. Peer review helps to stop that person from always being given the task of cleaning out the death star compactor.\n
  16. \n \n
  17. Overall, continuous peer review just helps the team. Bugs go down, people can take holidays without feeling like they’ll come back to a horrible heap of nastiness, and can generally breathe.\n
  18. So that’s peer review.\n\n \n \nThe next thing that got our goat about the code that we’d been previously touching was that depending on the developer who’d been there before, things might be good, bad, or downright ugly. We set out to change that.\n
  19. Because standards are good. But then, liking Lego, I would say that. Standards help lots of separate things come together as one working whole. They’re good.\n\n \n \nSpecifically when I talk about standards here though, I’m talking about coding standards.\n\n \n \nOh god - what if no-one agrees?\n\n \n \nAs a team, we talked about what we would all be happy with adhering to, and we decided on the Zend coding style, with a few house alterations. Where necessary, I chose.\n
  20. \n \n
  21. But a standard is no good if it isn’t enforced.\n\n \n \nWe decided to use PHP Code Sniffer to check against our codebase, and these rules are automatically run every time we try to build the project in our Continuous Integration environment. If they break? The build breaks.\n\n \n \nBut the standards checking doesn’t just happen on build - we also run them as part of peer review.\n
  22. Next up on our list of things we wanted to improve on in the team were having worthwhile tests.\n\n \n \nUp until this point, automated tests that ran against the homepage were pretty few and far between.\n
  23. Two types of tests that we now write as part of every task - unit tests and functional tests that are ultimately run by selenium.\n\n \n \nWhat’s worthwhile? We test specific features. Test the “happy path” with some specific bad cases.\n\n \n \nAgain, these are prodded and run as part of the continuous peer review.\n\n \n \nWe strive for high code coverage, but that doesn’t tell the entire story. Touching 100% of the lines of our codebase doesn’t necessarily mean that we’ve tested that everything does what it should.\n\n \n \nWe have to use our brains.\n
  24. Once again, if the tests break during the build, then the build will fail.\n\n \n \nThe team will be notified in IRC, and we’ll all shake our heads at the person who destroyed C3P0.\n\n \n \nAnd of course, the tests really come into their own when we realise we have to change some portion of the site for whatever reason - it makes it a lot easier to have confidence that we didn’t break anything ourselves.\n
  25. And those were the three big things that as a team we knew we needed to do to improve our lives.\n\n \n \nBy continuously reviewing each others’ work we reduce bugs and improve knowledge.\n\n \n \nBy having coding standards we can pick up any file in our codebase and not have to battle with someone’s personal style.\n\n \n \nBy having worthwhile tests we know that the codebase does what it should do.\n\n \n \nThe rest is all gravy. Still, what else do we do?\n
  26. On large tasks, we pair program. Two heads are better than one.\n\n \n \nWe still peer review at the end.\n
  27. All frontend tasks start out by simply working in a browser. We then layer JS on top.\n\n \n \nWhen new features are added we do the same.\n\n \n \nEverything on our page works before and after JavaScript has kicked in.\n
  28. In our team we come into work, we work hard, get our work completed and go home.\n\n \n \nWe don’t stay into the middle of the night.\n\n \n \nWe do have a life outside of work.\n
  29. I was told by David to include baked goods in my presentation, so here they are.\n\n \n \nAnd actually, we do do this - from time to time we bring in baked goods for each other. If you don’t do this in your team, you should.\n
  30. Which brings me neatly onto my final point - we now socialise together. That simple act lets us break down barriers far more quickly than anything else.\n\n \n \nWhere before there were various tensions, now they get whined about in the pub, and then everything’s great the next day.\n
  31. And life is good. We now have a codebase that’s much more stable than the one that we inherited, no person is an island and we have confidence that when we do unleash our work onto the world that it will actually work.\n\n \n \nAs I said at the beginning, none of this is rocket science. It’s all pretty obvious stuff, but we weren’t doing it. If you take one thing from this talk, I hope it’s this - there’s always something you can do to improve the team you’re in, you just have to go and make it happen.\n\n \n \nThankyou.\n
  32. Very quickly, before I take questions, I want to mention an event that I’m sort of organising on the 1st october.\n\n \n \nBig Geek Day Out to the Great Western Lego Show. It’s the largest display of Lego models built by Lego enthusiasts in the UK. If it’s something you’d be interested in coming along to then pop over to biggeekdayout.com and say you’re coming!\n
  33. So, does anybody have any questions?\n
  34. \n \n