SlideShare a Scribd company logo
Managing Phone Dev Projects
John McKerrell
Introduction - About Me
My Education

Received a 2.1 in Computer Science from
University of Leeds

Was taught Pascal in 1st year, C++ 2nd & 3rd

Final year project was in “Classic” ASP with SQL
Server
My Experience

Worked in Manchester on the official website for
the Barclaycard Premiership

Also other bespoke Content Management
Systems built on LAMP (Linux, Apache, MySQL,
PHP)
My Experience

Went on to work for Multimap.com building their
JavaScript mapping API

Worked for Microsoft for six months after they
bought Multimap
Freelance
Have been developing for iOS for over 2 years

Have had 50 apps available on the iOS app store

Recently launched 18 apps on Android Market Place
Brainstorming, Ideas
Brainstorm Features
Post-it notes are a great
way to brainstorm

  Write down lots of ideas

  Collect related ideas
  into groups

Also good for
“User Stories”

  “slim and high-level
  requirements”


                             HTTP://WWW.FLICKR.COM/PHOTOS/YANDLE/2055035926/
Brainstorm Features

Mind maps are a great way to collect and organise
ideas

  Can use online tools such as mindmeister.com to
  allow shared use within a group

  Also offline tools such as Freemind are available
Brainstorm Features
Ideas can come at any time


Take time out away
from the computer

Give yourself as much
time as possible to
think things through



                        HTTP://WWW.FLICKR.COM/PHOTOS/CPOYATOS/4374856699/
Designing your app
Design


Collect together thoughts from brainstorming

Prioritise

Build up a picture of what you're going to build
Design


Always stop and think before doing any large
chunk of development
Design
Build up a high level view of the system

Identify ways to split work into modules

  Allows work to be split between people

  Helps with re-use

Look for existing code that can be used, Open
Source libraries etc.
Prioritise
Lists!


Task list gives you something simple to follow as
you work through the project

Individual tasks become much less about the big
picture and more focussed on the task at hand
The Trac Project
Project management and issue tracking system.

Fine-grained control of issue management

Integrated wiki

Can hook into source control to link checked-in
code to resolved bugs

Free Open Source Software

            HTTP://TRAC.EDGEWALL.ORG/
Github


Free hosting for Open Source Software

Provides basic issue tracking system

Also allows code check-ins to resolve issues



              HTTPS://GITHUB.COM/
Lots more options
http://tadalist.com/

http://www.rememberthemilk.com/

iCal

Outlook

Google Docs

etc!
Managing your Code
Source Control

Git

  Simple to use on your own, doesn’t require a
  central repository

  Better support for branching

  Great for distributed teams
Source Control

Subversion

 Requires a central repository

 Can be simpler to understand than Git

 Been around for longer than Git
Keep your source tree
tidy
Your code should be modular so arrange it in
subdirectories

Root directory of your project should usually
have as little as possible

Separate modules can even be placed in
separate source control repositories
Commenting

Really is important

Especially with particularly fiddly code, such as a
complex algorithm

Although... when using identifiers with sensible
names, commenting can be reduced
Commenting

Best thing with a difficult function or method is
to write it out in English or “pseudo-code” first to
get the functionality clear in your head

Then go through the function again, filling in the
gaps between comments with working code
Testing
Test-driven
development
Generally written as unit tests

Write the tests before you write the code

In a similar way to lists, minimises the “thinking”
you have to do

Works best with self contained modules or
specific algorithms
Documentation driven
testing

If you document what the system will do well
enough, the functionality can be tested by simply
going through the design and confirming that
features work as expected
Test Plans


For entire apps or website, full user testing is
needed to be sure of quality

Creating a detailed and complete test plan
ensures testing is consistent
Found a bug?

Add the bug to your issue tracker

If possible add unit tests that find the bug

Add checks to the test plan that look out for the
bug in the future
Conclusions
Allow yourself as much
time as possible
Spend time working out
what you’re going to do
Use good tools to aid
your progress
Be meticulous and
organised
Thank you
John McKerrell - http://johnmckerrell.com/

More Related Content

What's hot

Visual Studio 2010 Ultimate
Visual Studio 2010 UltimateVisual Studio 2010 Ultimate
Visual Studio 2010 Ultimate
Clint Edmonson
 
Play framework: lessons learned
Play framework: lessons learnedPlay framework: lessons learned
Play framework: lessons learned
Peter Hilton
 

What's hot (10)

Developer@sky
Developer@skyDeveloper@sky
Developer@sky
 
Visual Studio 2010 Ultimate
Visual Studio 2010 UltimateVisual Studio 2010 Ultimate
Visual Studio 2010 Ultimate
 
Fp201 unit1 1
Fp201 unit1 1Fp201 unit1 1
Fp201 unit1 1
 
Play framework: lessons learned
Play framework: lessons learnedPlay framework: lessons learned
Play framework: lessons learned
 
Writing code samples for API/SDK documentation
Writing code samples for API/SDK documentationWriting code samples for API/SDK documentation
Writing code samples for API/SDK documentation
 
Building Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTMLBuilding Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTML
 
Cache me if you can
Cache me if you canCache me if you can
Cache me if you can
 
Process-oriented reactive service architecture
Process-oriented reactive service architectureProcess-oriented reactive service architecture
Process-oriented reactive service architecture
 
OpenNTF Blast from ILUG 2007
OpenNTF Blast from ILUG 2007OpenNTF Blast from ILUG 2007
OpenNTF Blast from ILUG 2007
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 

Viewers also liked (6)

Macm03 Consuming Cyberspace
Macm03 Consuming CyberspaceMacm03 Consuming Cyberspace
Macm03 Consuming Cyberspace
 
Śniadanie Daje Moc
Śniadanie Daje MocŚniadanie Daje Moc
Śniadanie Daje Moc
 
Salamzadeh 3
Salamzadeh 3Salamzadeh 3
Salamzadeh 3
 
Presentacion en Power Point
Presentacion en Power PointPresentacion en Power Point
Presentacion en Power Point
 
Hp dba v.6.2 technical slides
Hp dba v.6.2 technical slidesHp dba v.6.2 technical slides
Hp dba v.6.2 technical slides
 
Isn't It About Time?
Isn't It About Time?Isn't It About Time?
Isn't It About Time?
 

Similar to Managing Phone Dev Projects

summer file - Copy
summer file - Copysummer file - Copy
summer file - Copy
Rakesh Kumar
 

Similar to Managing Phone Dev Projects (20)

System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for Linux
 
1_Intro_toHTML.ppt
1_Intro_toHTML.ppt1_Intro_toHTML.ppt
1_Intro_toHTML.ppt
 
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentation
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
Top 11 Front-End Web Development Tools To Consider in 2020
 Top 11 Front-End Web Development Tools To Consider in 2020 Top 11 Front-End Web Development Tools To Consider in 2020
Top 11 Front-End Web Development Tools To Consider in 2020
 
Introduction To Symfony
Introduction To SymfonyIntroduction To Symfony
Introduction To Symfony
 
Open source: Making connections by Sunny Pai
Open source: Making connections by Sunny PaiOpen source: Making connections by Sunny Pai
Open source: Making connections by Sunny Pai
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Open Source Project Management
Open Source Project ManagementOpen Source Project Management
Open Source Project Management
 
summer file - Copy
summer file - Copysummer file - Copy
summer file - Copy
 
Getting Started in Custom Programming for Talent Sourcing
Getting Started in Custom Programming for Talent SourcingGetting Started in Custom Programming for Talent Sourcing
Getting Started in Custom Programming for Talent Sourcing
 
Creating and Maintaining an Open Source Library
Creating and Maintaining an Open Source LibraryCreating and Maintaining an Open Source Library
Creating and Maintaining an Open Source Library
 
01.intro
01.intro01.intro
01.intro
 

More from John McKerrell

Birth of DoES Liverpool - Ignite Liverpool
Birth of DoES Liverpool - Ignite Liverpool Birth of DoES Liverpool - Ignite Liverpool
Birth of DoES Liverpool - Ignite Liverpool
John McKerrell
 
John McKerrell's slides for Amazing iPhone event 2008
John McKerrell's slides for Amazing iPhone event 2008John McKerrell's slides for Amazing iPhone event 2008
John McKerrell's slides for Amazing iPhone event 2008
John McKerrell
 
Using Crowd Sourced Data in a Commercial Mapping API
Using Crowd Sourced Data in a Commercial Mapping APIUsing Crowd Sourced Data in a Commercial Mapping API
Using Crowd Sourced Data in a Commercial Mapping API
John McKerrell
 

More from John McKerrell (11)

Birth of DoES Liverpool - Ignite Liverpool
Birth of DoES Liverpool - Ignite Liverpool Birth of DoES Liverpool - Ignite Liverpool
Birth of DoES Liverpool - Ignite Liverpool
 
Introducing DoES Liverpool
Introducing DoES LiverpoolIntroducing DoES Liverpool
Introducing DoES Liverpool
 
Life Cycle of an iPhone App
Life Cycle of an iPhone AppLife Cycle of an iPhone App
Life Cycle of an iPhone App
 
Open Source Software Projects I Have Known
Open Source Software Projects I Have KnownOpen Source Software Projects I Have Known
Open Source Software Projects I Have Known
 
How I built a location-based social app
How I built a location-based social appHow I built a location-based social app
How I built a location-based social app
 
Maps, GPS, Location, Tracking
Maps, GPS, Location, TrackingMaps, GPS, Location, Tracking
Maps, GPS, Location, Tracking
 
Why I Track My Location and You Should Too
Why I Track My Location and You Should TooWhy I Track My Location and You Should Too
Why I Track My Location and You Should Too
 
OpenStreetView AGI 2009
OpenStreetView AGI 2009OpenStreetView AGI 2009
OpenStreetView AGI 2009
 
John McKerrell's slides for Amazing iPhone event 2008
John McKerrell's slides for Amazing iPhone event 2008John McKerrell's slides for Amazing iPhone event 2008
John McKerrell's slides for Amazing iPhone event 2008
 
State of the Map 2008 Review
State of the Map 2008 ReviewState of the Map 2008 Review
State of the Map 2008 Review
 
Using Crowd Sourced Data in a Commercial Mapping API
Using Crowd Sourced Data in a Commercial Mapping APIUsing Crowd Sourced Data in a Commercial Mapping API
Using Crowd Sourced Data in a Commercial Mapping API
 

Recently uploaded

Recently uploaded (20)

Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 

Managing Phone Dev Projects

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n