Software Development Engineers Ireland

  • 424 views
Uploaded on

Short talk at Engineers Ireland covering process, tools and technology for speedy software development

Short talk at Engineers Ireland covering process, tools and technology for speedy software development

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
424
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. BUILDING SOFTWARE FAST AND WELL Sean O Sullivan twitter @sos100
  • 2. Why am I here?  Rococo   www.rococosoft.com   Mobile / Wireless (short range)   Shipped JSR82 on 200M+ mobile phones   LocalSocial: Proximity Platform (www.mylocalsocial.com)   3 software engineers  Dial2Do   www.dial2do.com   Value add voice platform   Speak to get things done (email, twitter, text, 40+ actions)   Live in 26 countries, partners Plantronics, Jabra, Jawbone,…   4 software engineers
  • 3. FAST WELL Process Development tools / technology Deployment tools / technology
  • 4. Process
  • 5. Process: Agile and Scrum  Iterations have been 3-4 weeks on average  Lots of feedback along the way  Try, change, review, re-plan  A la carte take on Agile   Testsfirst – mostly   Pair programming – sometimes   Continuous deploy – yes   User stories – yes   Refactoring – yes
  • 6. Process: Roadmap Deals Share Social MobDeal User Proximity Social Redeem Simple Power Merchant Register Loyalty Deals Deals Social Locations Analytics Campaigns MobDeal Proximity Wireless Bluetooth "private" QR NFC Public WiFi Support WiFi Support Support Iteration1 Iteration2 Iteration3
  • 7. Process: Minimum Viable Product  Eric Ries @ startuplessonslearn.com
  • 8. FAST WELL Process Development tools / technology Deployment tools / technology
  • 9. Development Tools  Frameworks   API   Rails   Gson (Java, Android)   Android   acts_as_api (Ruby)   Java   Test  IDEs   RSPec   Eclipse (Java / Android)   Cucumber   IntelliJ / RubyMine (Rails/Ruby)   Junit  Continuous Integration   Database   TeamCity   ORMlite (Android)  Version Control   mySQL on Amazon RDS   Git, GitFlow   Charting   Highcharts   AgilePM   TinyPM And more besides….see the blog post
  • 10. Git and gitflow
  • 11. Testing  Cucumber   BehaviourDriven Development framework   Domain Specific Language to describe code behaviour  RSpec   BDD for Ruby
  • 12. Making / sharing APIs  Rails : acts_as_api  Java (Android) : Gson
  • 13. highcharts
  • 14. FAST WELL Process Development tools / technology Deployment tools / technology
  • 15. Deployment  Started out with Amazon EC2   A little too early – very Beta back then  Then S3   Much better – very stable  Back to EC2 when it stabilised   Been very solid for some time now…
  • 16. LocalSocial / Dial2Do
  • 17. Motivations  Ease of use / Speed of use  Experimentation  AMIs  Flexibility  Pricing
  • 18. LocalSocial  S3   Stores AMIs   Fedora 8 from AWS   Plus all our own stuff (RoR, Scripts, …)  EC2   One “small instance” Server   1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform   Runs our AMI fulltime   Two domains right now   gigmonkey.com   mylocalsocial.com   And our VPN  EBS   Connected to running EC2 Instance   Persistent Store for all mySQL DBs
  • 19. LocalSocial
  • 20. Heroku
  • 21. Open Source  A few words on it  Incredible in terms of potential for re-use, time saving, cost saving, quality  Must have eyes fully open  License, support, TCOO  Need a house style / approach  Awareness of license types / styles  BlackDuck
  • 22. Observations  Great time (imho) for software development  Development and Deployment Tools  Costs  Re-use  Help  Routes to Markets  Speed / gratification (or failure)  Ability to test features, product quickly
  • 23. BUILDING SOFTWARE FAST AND WELL Sean O Sullivan twitter @sos100
  • 24. References / Material - process  Joe Drumgoole   Introduction to Agile and Scrum  Lean Startup / MVP   Guide to MVP from Eric Ries here
  • 25. References / Material - tools  TinyPM   Agile PM tool  Git   Branching model   Tools for branching model  Open Source management, control, checking   Black Duck here  Acts_as_api   XML/JSON responses in Rails 3   Tutorial here  Highcharts   Charts here