SlideShare uma empresa Scribd logo
1 de 25
Lecture: Dealing with challenges (technical)
Chris Douce, 22 July 2013 (14.00 – 14.50)
Dealing with the practical issues
Photo Sarah G (Creative Commons)
Why is software so hard?
Photo by Honda news (Creative Commons)
Why is software so hard?
Photo by Honda news (Creative Commons)
Agile principles
• Customer satisfaction by rapid delivery of useful software
• Welcome changing requirements, even late in development
• Working software is delivered frequently (weeks rather than months)
• Working software is the principal measure of progress
• Sustainable development, able to maintain a constant pace
• Close, daily cooperation between business people and developers
• Face-to-face conversation is the best form of communication (co-location)
• Projects are built around motivated individuals, who should be trusted
• Continuous attention to technical excellence and good design
• Simplicity —the art of maximizing the amount of work not done—is essential
• Self-organizing teams
• Regular adaptation to changing circumstances
Source: wikipedia
Agile and Extreme programming
Agile and Extreme programming
Agile and Extreme programming
Development as craft
Play
Play
• Tools and development environments
• Sample code and software
• Prototypes
• Similar products
• Different products: same vendor, different vendors
• Explore the boundaries of the possible
• Give yourself some time… It’s okay!
• Is fundamentally important…
Version control
• Manual control
• Software support
• Integrated with environment
Version control
Acknowledgements: Wikipedia
Configuration management
Choosing what to implement
• Identify the key functions
• Decide on what is out of scope (horizontal/vertical prototyping)
• Choose how far you’re going to go
• Understand what you can do
• Understand what you might need help with
• Prototypes = expression of idea + skills
Software testing
• Usability testing
• Accessibility testing
• Function testing
• Module testing
• Integration testing
• Condition testing
• Performance testing
• Security testing
• Unit testing
• Acceptance testing
• Test harnesses
• Test driven development
Software testing
• Usability testing
• Accessibility testing
• Function testing
• Module testing
• Integration testing
• Condition testing
• Performance testing
• Security testing
• Unit testing
• Acceptance testing
• Test harnesses
• Test driven development
Software testing
function foo() { … }
function bar() { … }
function bez() { … }
function fooBar() { … }
function barFoo() { … }
…
…
…
function testFoo() { … }
function testBar() { … }
function testBez() { … }
function testFooBar() { … }
function testBarFoo() { … }
…
…
…
Key: Practicality
Chris’s tips
• Don’t try to do everything: be realistic
• If you think you’re going crazy, take a break: have a walk
• Find the time to play, this is finding the time to learn
• Find the time to read and study the work of others
• Be prepared to have your assumptions challenged
• Break hard stuff down into small pieces
• Write test code to experiment
• Projects extend to the amount of time available: beware!
• Listen
• Be humble
Chris’s anti-tips
• Give one person all the coding responsibility
• When coding, ignore what your team says
• Don’t talk to each other
• Ignore the external world; it’s a distraction
• Don’t write anything down; forget your assumptions
• Solve a coding problem that has already been solved
• Make quick decisions
• Don’t ask questions
• Always be prepared to shout
• Assume you can do everything
Challenges
• Project
• People
• Technology
• Software isn’t about technology; it’s all about people
Summary
• Agile methods
• Play, tools and testing
• Revisiting the challenges
• Tips
• Tomorrow: expanding our horizons
Lecture: Dealing with challenges (technical)
Chris Douce, 22 July 2013 (14.00 – 14.50)

Mais conteúdo relacionado

Destaque

Янгол-охоронець для бійця
Янгол-охоронець для бійцяЯнгол-охоронець для бійця
Янгол-охоронець для бійцяAnthony Ivaniuk
 
Stitches December 2015
Stitches December 2015Stitches December 2015
Stitches December 2015Jay Busselle
 
Financial Inclusion Week - Anthemis Fellowship Brown Bag Lunch - 20th October...
Financial Inclusion Week - Anthemis Fellowship Brown Bag Lunch - 20th October...Financial Inclusion Week - Anthemis Fellowship Brown Bag Lunch - 20th October...
Financial Inclusion Week - Anthemis Fellowship Brown Bag Lunch - 20th October...Anthemis Group
 
Virginia drogodependencia
Virginia drogodependenciaVirginia drogodependencia
Virginia drogodependenciaVirginia Duarte
 
Максім Багдановіч дзіўная зорка беларускай паэзіі
Максім Багдановіч дзіўная зорка беларускай паэзііМаксім Багдановіч дзіўная зорка беларускай паэзіі
Максім Багдановіч дзіўная зорка беларускай паэзііADL94
 
Ukraine Global Scholars presentation
Ukraine Global Scholars presentationUkraine Global Scholars presentation
Ukraine Global Scholars presentationMisha Lemesh
 
CÓMO INFLUYE LA INTELIGENCIA EMOCIONAL EN LA PROFESIÓN DE ENFERMERÍA ¿CÓMO E...
CÓMO INFLUYE LA INTELIGENCIA EMOCIONAL EN LA PROFESIÓN DE ENFERMERÍA  ¿CÓMO E...CÓMO INFLUYE LA INTELIGENCIA EMOCIONAL EN LA PROFESIÓN DE ENFERMERÍA  ¿CÓMO E...
CÓMO INFLUYE LA INTELIGENCIA EMOCIONAL EN LA PROFESIÓN DE ENFERMERÍA ¿CÓMO E...Coach Nuevo Liderazgo
 

Destaque (10)

Янгол-охоронець для бійця
Янгол-охоронець для бійцяЯнгол-охоронець для бійця
Янгол-охоронець для бійця
 
Historia del facebook
Historia del facebookHistoria del facebook
Historia del facebook
 
Stitches December 2015
Stitches December 2015Stitches December 2015
Stitches December 2015
 
Financial Inclusion Week - Anthemis Fellowship Brown Bag Lunch - 20th October...
Financial Inclusion Week - Anthemis Fellowship Brown Bag Lunch - 20th October...Financial Inclusion Week - Anthemis Fellowship Brown Bag Lunch - 20th October...
Financial Inclusion Week - Anthemis Fellowship Brown Bag Lunch - 20th October...
 
Virginia drogodependencia
Virginia drogodependenciaVirginia drogodependencia
Virginia drogodependencia
 
Максім Багдановіч дзіўная зорка беларускай паэзіі
Максім Багдановіч дзіўная зорка беларускай паэзііМаксім Багдановіч дзіўная зорка беларускай паэзіі
Максім Багдановіч дзіўная зорка беларускай паэзіі
 
Ukraine Global Scholars presentation
Ukraine Global Scholars presentationUkraine Global Scholars presentation
Ukraine Global Scholars presentation
 
Paper Cup PROMOTION - Creative Below the Line (BTL) Advertisment
Paper Cup PROMOTION - Creative Below the Line (BTL) AdvertismentPaper Cup PROMOTION - Creative Below the Line (BTL) Advertisment
Paper Cup PROMOTION - Creative Below the Line (BTL) Advertisment
 
rajesh_resume
rajesh_resumerajesh_resume
rajesh_resume
 
CÓMO INFLUYE LA INTELIGENCIA EMOCIONAL EN LA PROFESIÓN DE ENFERMERÍA ¿CÓMO E...
CÓMO INFLUYE LA INTELIGENCIA EMOCIONAL EN LA PROFESIÓN DE ENFERMERÍA  ¿CÓMO E...CÓMO INFLUYE LA INTELIGENCIA EMOCIONAL EN LA PROFESIÓN DE ENFERMERÍA  ¿CÓMO E...
CÓMO INFLUYE LA INTELIGENCIA EMOCIONAL EN LA PROFESIÓN DE ENFERMERÍA ¿CÓMO E...
 

Semelhante a Dealing with Technical Challenges (Lecture

Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - UXPA International
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTao Xie
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)Nacho Cougil
 
Extreme Programming (XP): Revisted
Extreme Programming (XP): RevistedExtreme Programming (XP): Revisted
Extreme Programming (XP): RevistedMike Harris
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)ssusercaf6c1
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)Nacho Cougil
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM WatsonUserTesting
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekNacho Cougil
 
UX Research in an Agile World
UX Research in an Agile WorldUX Research in an Agile World
UX Research in an Agile WorldHirajaved10
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumberNibu Baby
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
Open.source.innovation.20070624
Open.source.innovation.20070624Open.source.innovation.20070624
Open.source.innovation.20070624Vu Hung Nguyen
 
Agile in Action - Agile Overview for Developers
Agile in Action - Agile Overview for DevelopersAgile in Action - Agile Overview for Developers
Agile in Action - Agile Overview for DevelopersMatt Cowell
 

Semelhante a Dealing with Technical Challenges (Lecture (20)

Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience -
 
It's XP, Stupid
It's XP, StupidIt's XP, Stupid
It's XP, Stupid
 
Agile
AgileAgile
Agile
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to Practice
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
 
Extreme Programming (XP): Revisted
Extreme Programming (XP): RevistedExtreme Programming (XP): Revisted
Extreme Programming (XP): Revisted
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
 
ICS3211_lecture 9_2022.pdf
ICS3211_lecture 9_2022.pdfICS3211_lecture 9_2022.pdf
ICS3211_lecture 9_2022.pdf
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM Watson
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
 
UX Research in an Agile World
UX Research in an Agile WorldUX Research in an Agile World
UX Research in an Agile World
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
ICS3211 Lecture 9
ICS3211 Lecture 9ICS3211 Lecture 9
ICS3211 Lecture 9
 
Open.source.innovation.20070624
Open.source.innovation.20070624Open.source.innovation.20070624
Open.source.innovation.20070624
 
Lean Mean & Agile 2009
Lean Mean & Agile 2009Lean Mean & Agile 2009
Lean Mean & Agile 2009
 
Agile ux fullday-uxpa2016
Agile ux fullday-uxpa2016Agile ux fullday-uxpa2016
Agile ux fullday-uxpa2016
 
Agile in Action - Agile Overview for Developers
Agile in Action - Agile Overview for DevelopersAgile in Action - Agile Overview for Developers
Agile in Action - Agile Overview for Developers
 

Mais de European Innovation Academy

Workshop - Crafting a Pitch Deck - Tomas Caeiro.pptx
Workshop - Crafting a Pitch Deck - Tomas Caeiro.pptxWorkshop - Crafting a Pitch Deck - Tomas Caeiro.pptx
Workshop - Crafting a Pitch Deck - Tomas Caeiro.pptxEuropean Innovation Academy
 
EIA - Startup Financials - Daniel Vila Boa - 2023-07-31.pptx
EIA - Startup Financials - Daniel Vila Boa - 2023-07-31.pptxEIA - Startup Financials - Daniel Vila Boa - 2023-07-31.pptx
EIA - Startup Financials - Daniel Vila Boa - 2023-07-31.pptxEuropean Innovation Academy
 
Keynote SEO for StartUps from Kristof Tomasz.pptx
Keynote SEO for StartUps from Kristof Tomasz.pptxKeynote SEO for StartUps from Kristof Tomasz.pptx
Keynote SEO for StartUps from Kristof Tomasz.pptxEuropean Innovation Academy
 
Growth-mindset-growth-hacking_EIA-Portugal_pptx.pptx
Growth-mindset-growth-hacking_EIA-Portugal_pptx.pptxGrowth-mindset-growth-hacking_EIA-Portugal_pptx.pptx
Growth-mindset-growth-hacking_EIA-Portugal_pptx.pptxEuropean Innovation Academy
 
Show Me the Money_ Unveiling the Secrets of Revenue Models - ZT (1).pptx
Show Me the Money_  Unveiling the Secrets of Revenue Models - ZT (1).pptxShow Me the Money_  Unveiling the Secrets of Revenue Models - ZT (1).pptx
Show Me the Money_ Unveiling the Secrets of Revenue Models - ZT (1).pptxEuropean Innovation Academy
 
"FALL in LOVE with the Problem, not the solution" by Anna de Stefano
"FALL in LOVE with the Problem, not the solution" by Anna de Stefano "FALL in LOVE with the Problem, not the solution" by Anna de Stefano
"FALL in LOVE with the Problem, not the solution" by Anna de Stefano European Innovation Academy
 

Mais de European Innovation Academy (20)

Fundraising - Angela Lee
Fundraising - Angela LeeFundraising - Angela Lee
Fundraising - Angela Lee
 
EIA Pitch Keynote_Dirk Lehmann.pptx
EIA Pitch Keynote_Dirk Lehmann.pptxEIA Pitch Keynote_Dirk Lehmann.pptx
EIA Pitch Keynote_Dirk Lehmann.pptx
 
Workshop - Crafting a Pitch Deck - Tomas Caeiro.pptx
Workshop - Crafting a Pitch Deck - Tomas Caeiro.pptxWorkshop - Crafting a Pitch Deck - Tomas Caeiro.pptx
Workshop - Crafting a Pitch Deck - Tomas Caeiro.pptx
 
EIA - Startup Financials - Daniel Vila Boa - 2023-07-31.pptx
EIA - Startup Financials - Daniel Vila Boa - 2023-07-31.pptxEIA - Startup Financials - Daniel Vila Boa - 2023-07-31.pptx
EIA - Startup Financials - Daniel Vila Boa - 2023-07-31.pptx
 
Business Models - Angela Lee.pptx
Business Models - Angela Lee.pptxBusiness Models - Angela Lee.pptx
Business Models - Angela Lee.pptx
 
Kristi - Sales Keynote 28.07.23
Kristi - Sales Keynote 28.07.23Kristi - Sales Keynote 28.07.23
Kristi - Sales Keynote 28.07.23
 
Zero-budget-marketing_EIA_230723.pptx.pptx
Zero-budget-marketing_EIA_230723.pptx.pptxZero-budget-marketing_EIA_230723.pptx.pptx
Zero-budget-marketing_EIA_230723.pptx.pptx
 
Do's and Don't of Corporate.pdf
Do's and Don't of Corporate.pdfDo's and Don't of Corporate.pdf
Do's and Don't of Corporate.pdf
 
Keynote SEO for StartUps from Kristof Tomasz.pptx
Keynote SEO for StartUps from Kristof Tomasz.pptxKeynote SEO for StartUps from Kristof Tomasz.pptx
Keynote SEO for StartUps from Kristof Tomasz.pptx
 
Landing pages Gilles.pptx
Landing pages Gilles.pptxLanding pages Gilles.pptx
Landing pages Gilles.pptx
 
Neuroscience in marketing.pptx
Neuroscience in marketing.pptxNeuroscience in marketing.pptx
Neuroscience in marketing.pptx
 
26.07_Marketing Tools ( IN AI ERA).pptx.pdf
26.07_Marketing Tools ( IN AI ERA).pptx.pdf26.07_Marketing Tools ( IN AI ERA).pptx.pdf
26.07_Marketing Tools ( IN AI ERA).pptx.pdf
 
What is marketing_EIA.pptx
What is marketing_EIA.pptxWhat is marketing_EIA.pptx
What is marketing_EIA.pptx
 
Growth-mindset-growth-hacking_EIA-Portugal_pptx.pptx
Growth-mindset-growth-hacking_EIA-Portugal_pptx.pptxGrowth-mindset-growth-hacking_EIA-Portugal_pptx.pptx
Growth-mindset-growth-hacking_EIA-Portugal_pptx.pptx
 
PMF_EIA23 by Giles DC
PMF_EIA23 by Giles DCPMF_EIA23 by Giles DC
PMF_EIA23 by Giles DC
 
Show Me the Money_ Unveiling the Secrets of Revenue Models - ZT (1).pptx
Show Me the Money_  Unveiling the Secrets of Revenue Models - ZT (1).pptxShow Me the Money_  Unveiling the Secrets of Revenue Models - ZT (1).pptx
Show Me the Money_ Unveiling the Secrets of Revenue Models - ZT (1).pptx
 
Product-market- fit__Gilles DC_EIA23.pptx
Product-market- fit__Gilles DC_EIA23.pptxProduct-market- fit__Gilles DC_EIA23.pptx
Product-market- fit__Gilles DC_EIA23.pptx
 
"Building a Successful Team" - Jorim
"Building a Successful Team" - Jorim"Building a Successful Team" - Jorim
"Building a Successful Team" - Jorim
 
"FALL in LOVE with the Problem, not the solution" by Anna de Stefano
"FALL in LOVE with the Problem, not the solution" by Anna de Stefano "FALL in LOVE with the Problem, not the solution" by Anna de Stefano
"FALL in LOVE with the Problem, not the solution" by Anna de Stefano
 
Design Thinking Stages - Kaarel Mikkin
Design Thinking Stages - Kaarel Mikkin Design Thinking Stages - Kaarel Mikkin
Design Thinking Stages - Kaarel Mikkin
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Dealing with Technical Challenges (Lecture

  • 1. Lecture: Dealing with challenges (technical) Chris Douce, 22 July 2013 (14.00 – 14.50)
  • 2.
  • 3.
  • 4. Dealing with the practical issues Photo Sarah G (Creative Commons)
  • 5. Why is software so hard? Photo by Honda news (Creative Commons)
  • 6. Why is software so hard? Photo by Honda news (Creative Commons)
  • 7. Agile principles • Customer satisfaction by rapid delivery of useful software • Welcome changing requirements, even late in development • Working software is delivered frequently (weeks rather than months) • Working software is the principal measure of progress • Sustainable development, able to maintain a constant pace • Close, daily cooperation between business people and developers • Face-to-face conversation is the best form of communication (co-location) • Projects are built around motivated individuals, who should be trusted • Continuous attention to technical excellence and good design • Simplicity —the art of maximizing the amount of work not done—is essential • Self-organizing teams • Regular adaptation to changing circumstances Source: wikipedia
  • 8. Agile and Extreme programming
  • 9. Agile and Extreme programming
  • 10. Agile and Extreme programming
  • 12. Play
  • 13. Play • Tools and development environments • Sample code and software • Prototypes • Similar products • Different products: same vendor, different vendors • Explore the boundaries of the possible • Give yourself some time… It’s okay! • Is fundamentally important…
  • 14. Version control • Manual control • Software support • Integrated with environment
  • 17. Choosing what to implement • Identify the key functions • Decide on what is out of scope (horizontal/vertical prototyping) • Choose how far you’re going to go • Understand what you can do • Understand what you might need help with • Prototypes = expression of idea + skills
  • 18. Software testing • Usability testing • Accessibility testing • Function testing • Module testing • Integration testing • Condition testing • Performance testing • Security testing • Unit testing • Acceptance testing • Test harnesses • Test driven development
  • 19. Software testing • Usability testing • Accessibility testing • Function testing • Module testing • Integration testing • Condition testing • Performance testing • Security testing • Unit testing • Acceptance testing • Test harnesses • Test driven development
  • 20. Software testing function foo() { … } function bar() { … } function bez() { … } function fooBar() { … } function barFoo() { … } … … … function testFoo() { … } function testBar() { … } function testBez() { … } function testFooBar() { … } function testBarFoo() { … } … … … Key: Practicality
  • 21. Chris’s tips • Don’t try to do everything: be realistic • If you think you’re going crazy, take a break: have a walk • Find the time to play, this is finding the time to learn • Find the time to read and study the work of others • Be prepared to have your assumptions challenged • Break hard stuff down into small pieces • Write test code to experiment • Projects extend to the amount of time available: beware! • Listen • Be humble
  • 22. Chris’s anti-tips • Give one person all the coding responsibility • When coding, ignore what your team says • Don’t talk to each other • Ignore the external world; it’s a distraction • Don’t write anything down; forget your assumptions • Solve a coding problem that has already been solved • Make quick decisions • Don’t ask questions • Always be prepared to shout • Assume you can do everything
  • 23. Challenges • Project • People • Technology • Software isn’t about technology; it’s all about people
  • 24. Summary • Agile methods • Play, tools and testing • Revisiting the challenges • Tips • Tomorrow: expanding our horizons
  • 25. Lecture: Dealing with challenges (technical) Chris Douce, 22 July 2013 (14.00 – 14.50)

Notas do Editor

  1. Acknowledgement: miguelavg If things are going wrong
  2. Acknowlegement: Federico Maggi Go for a walk!
  3. How to manage code Has anyone heard of configuration management? Version control? How do we deal with the software systems that we’re dealing with? Also how to create code – looking at examples
  4. Picture of a factory
  5. Waterfall.
  6. Wikipedia
  7. This is an approach to make things easier People having meetings standing up, pair programming, sharing through a whiteboard. (Photo of people standing up)
  8. Acknowledgement: Imbertti
  9. Acknowledgement: Imbertti
  10. Acknowledgement: Canadian government Takes time. Is an art as well as a science . Raw materials is the code… Tools. But the tools keep changing .
  11. Acknowledgement: Wikipedia I understand that you might have already had some exposure to working with Lego?
  12. But harder to justify to management! Examples – looking at code – about how to use libraries…
  13. Acknowledgements: Wikipedia Manual control – example of making a slip, accidentally deleting a working version.
  14. Acknowledgements: Wikipedia From the subversion page. Tags can be related to version numbers
  15. Creative commons acknowledgement: doegox Picture of a spice rack. Ingredients go into a system. Choose the wrong kind of spice, it can ruin a meal.
  16. Cognitive psychologists have this term called metacognition – which is our thinking about our thinking. If you don’t think you’re understanding something, go back and play. Process of creating a prototype represents the creation of the skills.
  17. I’m going to get quite excited at this point… and you’re all going to have to forgive me – but there is a serious point… Accessibility testing: legislation Test harness Incrementally build up… It’s okay to write test code User testing is going to be covered in the next presentation Disconnect the engine of the software from the interface – what is it that you’re testing? Are you testing usability… Keeping of bits; complexity lies within the connections.
  18. xUnit testing, used in Agile teams
  19. Indulge me at this point – hard won experience.
  20. Recapping of some of the challenges, and connecting back the challenges that were presented or explored during the first workshop. Example from Vint Cerf talking about the earlier days. NPL Scratch the surface of a technology and you always find something about people underneath. We’re considering users and developers.
  21. Recap of the main issues.