Showing posts with label agile scrum. Show all posts
Showing posts with label agile scrum. Show all posts

Sunday, 23 March 2014

WDI Progress Update - Final Project (Littlehumans), Brainstorming, Mock Interviews, Codium

Challenges
  • Littlehumans (Medical App for Midwives and Parents of New Born Children)
    • Problems faced
      • Combined OAuth Login (Facebook, Twitter, Google) with Devise spend all day Saturday trying to get it to work in Production environment (managed to get Google, Facebook, and Twitter to work)
      • See 'About Us' page at the Littlehumans website for other challenges
  • Dancing at Karaoke!
Progress @ General Assembly (GA)
  • Littlehumans Final Project
    • Heroku Link: Littlehumans App    
    • Tech Stack: View the 'About Us' page at the link above
    • Purpose: Midwife app for Midwives and Parents to track and share New Born Baby information and key Moments (input from my partner who is a professional midwife)
  • Sunday Javascript - with Daniel Tsui
    • Challenging Tests
    • Immediately Invoked Function (IIFE)
    • .Then
    • Hoisting
    • First Class Citizen
  • Javascript Ecosystem - Presentation by Je Turnbull
    • Multi-paradigm (MPM) and styles 
    • Automation and Task Runners
    • Package Management
    • JS Essential Knowledge and Tools
    • Front-end Job Questions
    • JS Testing
    • Scope and Closures
    • Recommended Books
  • Codium Group Project
    • Twitter Gem - Solved ability to scrape blog posts
Curiosity

Friday, 14 March 2014

WDI Progress Update - Advanced Rails Caching, SASS, Websockets, Javascript Evolution & Frameworks, Group Project Implementation

Challenges
  • Backbone.js and Burning Airlines - 6 hrs preparing Burning Airlines MVC for Flights on 13th Mar:
    • Problems fixed thanks to help from team in the morning:
      • Missing from app.js
        • Async call to fetch flight collection model and Router
      • Correction in FlightsController
        • 'respond_with @flights' instead of 'respond_with :json => @flights' to prevent embedded JSON
      • Removing JBuilder.json file that was merged after git pull from master, and caused only id and url to appear at URL /flights/flights.json (code previously pushed compiled successfully and listed flights)
      • Binding(this) to enable Search button functionality for on-click 
      • Debugging in Chrome Inspect Element using CMD+' to skip to next line of code for testing, and hovering over variables to show current value 
  • Pomodoro Time Management

Progress @ General Assembly (GA)
  • Group Airline Project (Implementation)
    • Team: Marcus Hoile, Sam Peters, Alberto Forni, Luke Schoen
  • Javascript Evolution
    • JS Framework Types: 
      • Full-stack - Derby (real-time apps), Sails (like Rails), Meteor (new with potential security issues)
      • Front-end - Backbone.js, Marionette, Knockout, React, CanJS
      • Front-end + Datamining - Angular, Ember
      • Back-end frameworks, Websockets, 
      • Templating - Handlebars
      • Other: Batman, Express Polymer, Socketstream, Clojure
    • Websockets (Socket.io to manage HTML5 websockets, real-time control to sync broadcast changes without overhead HTTP)
    • Proxy Servers - NGrok
    • Separate Loading Templates - .jst.ejs and Global Namespaces
  • Caching in Rails
    • Client-side & Server-side (Page, Action, Fragment)
    • ActionPageCaching GEM
    • ActionPackCaching GEM
    • Rake Task Sweepers
    • SQL Query Caching
    • Memcache, Nullcache
  • SASS (Nested, Interpolating Content, Variables, Mixins, Cross-File Mixins, Inheritance, Pseudo Selectors, Asset Pipeline, Image-Path and Asset-Path for Production)
  • Presentation TankStream Labs
    • Key Takeaways:
      • Lifestyle & Work
        • Startup Org Fit Evaluation Essentials
        • Recording Skills
        • Cocurricular and Coding
      • Language Agility
        • Erlang, Haskell
      • Terminology & Tools
        • Strong Parameters
        • Async Processing and Delays (SidekiQ + Reddis)
        • Scheduling Processes (Cron + Whenever)
        • XML Parsing (Nokogiri)
        • PDF (Prawn, PDFQueue)
        • Debugging (Pry)
        • Uploading Files (Paperclip, Carrierwave)
        • Sublime GEMS (GEM Browser, Git Extensions)
        • JSON (JBuilder, JSON Serializers, Draper)
        • Image Resizing (LibXML image munging, Image Magic)
        • Communicate Validation in Natural Language (Chronic, Chronorails GEM)
Purchases
Events
  • Fisburners - Chat with Mark (Movie guru), met David (recommended Founders Institute), Dimitri, Jenny, and Matthews B'day

Wednesday, 12 March 2014

WDI Progress Update - Group Project (Burning Airlines), Backbone.js, TDD, BDD, Node.js

Progress @ General Assembly (GA)
  • Group Airline Project (Planning)
  • Backbone.js (JSON, Namespacing, View Event Management, Dynamic Underscore Templates, Prototypal Inheritance, View Extensions, MVC, InspectElement Testing, Memory Leaks, Zombie Events, Seperation of Concerns, Object Properties, Backbone View Element (EL) Property, Customising Backbone Element, Models (Getters, Setter Methods), Collections, Routers, Slugs, Rails and Node.js, jBuilder)
  • Test Driven Development (TDD) (Test Unit, RSpec, Mocha, Mini Test, Meta Programming, Unit Tests, Functional Tests, Integration Tests, TestHelper, params.to_yaml, Fake Devise Login)
  • Behaviour Driven Development (BDD)
  • Gems (Shoulda, Mocha, Turn, Simplecov)
  • Mailers
  • Polymorphic Joins/Associations (___ABLE, using Rails Console Testing)
  • Self Joins 
  • Security 
  • Presentation - Interview Process, Mock Interview, Elevator Pitches - Tarun Mookley, Tiffany McHugh
  • Presentation - Node.js - Vlad Filippov
    • Single Page Apps
    • JSON API's
    • Modules
    • Grunt, JSHint (Code Quality)
    • PhantomJS (Screenshots Progress)
    • CSS Preprocessors (Stylus)
Events
  • Sydinmotion.com (Garrett IOS next Tuesday)
  • ROROSyd 11 Mar - Met Mark from Coogee, Mick (SysAdmin recommended SLUG Meetup, tail -f flow)
  • Sydney Linux Meetup Group (SLUG) SLUG Meetup - 6pm 28th Mar
Purchases
  • TeamTreeHouse.com (Basic account)
Curiosity
  • Sphero3D (toy)
  • Fitnesse (create rake feature in Gem)
  • Snapsearch.io
  • Dash Docsets, Dash Cheatsheets
  • Kitchen.ci for Chef
  • Vagrantup.com
  • Bash Books
  • NIEM
  • Startups
    • Fishburners
    • PushStart
    • StartMate
    • ATP
    • Muru D
    • River City Labs
    • Resource 88
    • Tank Stream Labs
    • TheHub
    • WeCo
    • York Butter Factory
  • Training: TeamTreeHouse, PluralSite

Saturday, 1 March 2014

WDI Progress Update - Presentations (Group Project)

Challenges:
  1. Reading "Agile Development with Rails 4" this weekend
    • Core:
      • Unless, Until, If, While 
      • Pass Block as Named Parameter
      • Exceptions, Rescue
      • Instance Variables, Convenience Methods,
      • Public, Private, Protected Methods
      • Modules and Helper Methods
      • YAML, Marshalling Objects, Sessions
      • Ruby Idioms
      • File Relative Expand Path Method
      • Aliasing
    • Shopping Cart App
      • Preliminary Analysis
        • Incremental Development
        • Use Cases, Different Actors
        • Iteration Feedback
        • Page Flow for each Actor
        • Data Diagrams for App
      • Create App
        • Create Database for App Product Maintenance
        • Nested CSS matching each Controller
        • Git Ignore
      • Validation and Unit Testing
        • Validation before write to DB
        • Unit Test Models Test Infrastructure
        • MiniTest Unit Framework subclass TestCase
        • Rake Test Models
        • Test Fixtures and YAML Format
        • Associate based Stories for Fixture Names
        • Using Test DB vs Development DB
        • Up to Page 105 / 439
    • Ruby Quick Ref (Range, RegEx, FileIO, Var, Cmd Line, IRB, Operator uses, Control method uses, Invoking Methods, Defining Class/Methods/Modules, Access Restrictions, Accessors, Aliasing, Procs, Closures, Exception Catch/Throw/Raise/Rescue, MiniTest)
Progress @ General Assembly (GA)
  • Group Project Presentations
    • Team #1 - Autism Connect Autismconnect.herokuapp.com (Sam Peters, Emily McCartney, Lauren Krueger, Luke Mesiti) - Key Takeaways
      • Gems: Geocoder, Googlemaps, Strap (payments similar to PayPal), 4em??, Pundit and Cancan (forums)
      • Authentication: OmniAuth (Google), Devise
      • Search: Polymorphic (finds anything with tags many to many)
      • Effects: Paralax (slide toggle left right)
      • Method: Staged implementation with Gems
    • Team #2 - Shared Expense Tracker Wdiexpense.herokuapp.com (Pranava Swaroop, Federico Tagliabue, Marcus Hoile) - Key Takeaways
      • Gems: AASM Management (management of workflow change status of groups/resources), Bootstrap Gem Fonts?
      • Future: Integrate with Whatsapp.com, share on Facebook timeline, Available offline (caching on mobile), Monetise with buying patterns, white label lnegotations, sell to property management firms
      • Method: Daily standups and end of day checkins, Git branching, dealing with Git conflicts merging, teamwork

  • Presentation - Gregory McIntyre, Yourtutor.com.au (Life as a Developer) - Key takeaways:
    • Agile Development - Pair Programming, Productivity and Independence, Conversations and Minutes, Values Visibility, Iron Triangle {Scope, Schedule, and Resources + Quality Centre} > No compromise for Quality, Risk Matrix mitigates to ALARP with Strategies, Burn Down Chart (Jellybean measurement), Kanban (pool model visualisation to minimise waste), Lumpy graph (steady flow rate to customers, resource match issues if lumpy progress), Feedback iterative loop (Assess, Agree, Execute) impacted by Scope changes, Poker Estimation (fold over cards and argue to check assumptions and avoid diminishing returns), Card Walls (Agile workspaces, Post-its easy to track, hard avoid responsibility, issue in distributed teams)
    • Agile Ideals - Deliver something of value everyday
    • TDD - Refactor, Fail, Pass, Repeat
    • BDD - Cust. Feedback Driven, TDD is embedded circles within BDD
    • Continuous Integration and Deployment
    • Latest News: Ruby Weekly, Javascript Daily, Postgres Weekly (signed-up)
Curiosity:

Saturday, 15 February 2014

WDI Progress Update and Intro to Startups - Unit 3 Tech 101 Summary, Random Thoughts

Challenges:
  1. My First Apple Store Experience (George Street, Sydney) - So, by Week 4 of the WDI course I'd already destroyed the 'Delete' key on the Macbook Pro, which I borrowed from my partner. I'm not very Apple savvy, but someone gave me a tip to visit their store. So I get to the Apple Store any I wondered.... Why did the Apple staff direct me to the 'Front Desk' when there aren't any signs in the store? and when by 'Front Desk', they actually meant the people wearing bibs around their neck? Why point me to line up in imaginary queues where the sole purpose is to be plonked in front of one of their Macs and baby sat in filling out a 'make an appointment' form? Why not tell or direct people upfront at the entrance of the store to click the App Store on their mobile? 
  2. Finished Hangman game overnight and posted solution on my GitHub account! 
  3. JS Object Model Constructors, Prototypes, Inheritance
  4. JS Regular Expressions
  5. LESS Mixins, Classes, Arguments, Guards
Progress @ General Assembly (GA)
  • Javascript - String Literals, JS Special Characters 
  • Startup Scene - Read about Anti-Problem Entrepreneurs vs Unexotic Underclass vs Anti-Answers (bureacracy) 
Progress @ Intro to Startup Entrepreneurship
Progress @ Intro to Startup Entrepreneurship
  • Unit 3 Tech 101 - Summary
    • Summary Lessons 1-6
      • Front-end Decisions: 
        • Platform (decision influence, startup friendliness) - Browser, Mobile, Desktop, Back-end
        • Tech Stack (reflect on known solutions) - Web stack, Native, Meta Frameworks, Web Front-end
      • Back-end Decisions:
        • Priorities (tech options, fast MVP to market, use tech you know)
      • Cloud (on-demand scalability)
        • Server (Platform as a service) 
        • Services (Services as a service) - Identify pre-existing solutions
      • MVP - Top priority!
      • Prototyping:
        • Change costs increase with time
        • Sketch ideas to convey details and functionality pre-dialogue
        • Wireframing quick visual prototype mockup. Share for test iterations
        • Functional Prototypes - Test before build
        • User Testing - Insight from others for objective feedback
      • Hustling:
        • Priority is effort and investment in first customers to build momentum
        • Seed data and manual solutions to save time and avoid unnecessary automation
        • Kickstarting: "If it's perfect it's too late" - Early perfection and optimisation = evil, "who cares if noone wants to use it", "who cares how fast it is if it misses its mark" - Phil Reither (watch the video)
      • Homepage of Startup:
        • 5 seconds to impress
        • Outsource design?  (compromise quality vs cost)
        • Responsive across devices design - Mobile first strategy
        • Slogan, Screenshot showcasing implementation, Call to actions
      • Developer Competency and Fit Testing and Interviews - Coding ability, Communication skills, Motivation, Aptitude, DNA, Goal compromisings (speed vs quality with modular solutions), Project testing
      • CTO responsibilities - Handling build, unforeseens, understanding competing tech and impact of strategies and choices on products and users 
      • Outsourcing - Maintain control of product and them, realise common understandings of goals, visions, requirements and activities, candidates are stand-alone features, offers faster solutions allowing focus on strengths and priorities, test their timezone availability and motivation (i.e. Skype interview)
      • Product Management - Startup tools - Github (Versioned Source Control, Community, Collaboration), Dropbox, Trello (Digital Post-It Board), Jira (Atlassian System Dashboard), Skype, Basecamp (Product Management Platform)
      • Agile Development - "Fail early and fail often", Feedback, Try, Throw-away willingness
      • Scrum - Fast moving, Process and Specification (guideliness), Adapt what works to team, Pick and match (good and bad parts)
      • Traditional Systems - RUP (Rational Unified Process) like Waterfall with 120 rules, Prescriptive Rules
      • Kanban - JIT Change Management modelled from assembly line manufacturing and LEAN Value System
      • Scrum (preferred by Startups) - Adaptive Rules, Software development and creative product design, Agile Value System
        • Sprint - Daily Standups (mornings <15min), Planning Meetings(start of iterations breakdown into manageable tasks, Timebox <45min, Agenda, Chair, Assign Actionable), Always Testable Product, Deploy after each
        • Roles - Product Owner (process, upcoming, priorities, sign-off), Scrum Team (build product, no micromanaged, signoff on tasks at sprint start, responsible to do in sprint or its their fault), Scrum Master(Lord)(team runs smoothly, tools working)
        • Artifacts (non-person, touchable) - Agile Manifesto, Scrum Boards (Post-it notes, To Do, In progress, Ready for QA, In QA, Validated) Backlogs
    • Links:
    • Apps:
      • Xero accounting cloud app
Other Thinking (reflecting on this Unexotic Underclass reading):
  • Potential clientele?: Impoverished, Injustice chain of deliverers and recipients, Inflexibilities, In-appropriation, Deceptive selling and marketing {reflect on $ vs timeframe to earn value}, Untimely, Unaccelerated and Un-engaging education with limited UX, Unfair distribution of wealth, freedom and rewards (celebrity and anti-problems celebrated and spark interest across society), Lack of humaneness in some large corporates (lenience, common sense, broad effort, care, genuine companionship, are not always prevailing, spectrum of consequences isn't closed loop to drive continuous change), Highly ambiguous and near primitive legal constructs enforced with gaps, and even the most fundamental parallels ignored (lack of proactive behaviour, only excessive wrongdoing and persistent suffering by the good seems to ever drive social movements that realise change for betterment), Media and role models often drive and thrive on widespread curiosity toward negativity, excessively celebrating stupidity and anti-problems (disregard for intelligence and purity in values), Lack of acknowledging human achievements (with broad reason and purpose), cascading unrealistic and uncoordinated timeframes (underpromising, overdelivering, and ignorance of corporate slavery and its impact on the mental and physical health of teams and wider society), lack of hero metrics and parallels, Upheaving long-impoverished markets (technology driving the tides to turn), Rethink societal pressures driven by emphasis on borrowing and manipulation of value cycles, Overhaul life-expired legal systems with tech, Transform emotional intelligence into measurable skillsets, Flatten broader societies class hierarchy (viral knowledge-worker syndrome), Rank quantifiable risk parallels and actions across society, markets and the environment, Rejuvenating and monetizing traditionally boring and mundane jobs using media and gamification, Unjust distribution and priority toward handouts and freebies in response to sympathy trippers, carefrees, excuses, and whingers (average joe busy bodies and the genuinely disadvantaged miss-out or are excluded from offerings)
  • Keynotes?: Assume and dwell on impossibilities, Reverse mentality, Back to basics fallback, Demise of the first-class citizen and leveraging the rise of eager emerging markets overhaulling white elephants in our traditional frameworks, Rediscover purpose and passion following creative and adventurous pathways, Filter out monetary enticements to jump back on the treadmill bandwagon of mundaneness and in-humaneness, Carefully judging deservedness
Community Contributions:
  1. My First Post answering a question on Stackoverflow
Curiosity:
  1. Composition and 'includes' in Javascript to work-around single class inheritance limitations

Wednesday, 5 February 2014

WDI Progress Update - Production, Bootstrap, CSV migrations

Challenges:
  • App exploded when tried to install bootstrap, used Heroku clone to recover
  • Searching databases and filtering selections
  • Resolved absolute file paths not being recognised when uploading to Heroku. Fixed data migration files and relocated CSV files to the root directory. Compiled successfully with this code:
require 'fileutils'require 'csv' 
class AddIdeaData < ActiveRecord::Migration
  def up
filepath = Rails.root.join("ideas.csv")
# locate the csv file in your /public folder if File.exist?(filepath) CSV.foreach(filepath)do |col| Idea.create(:name => col[0].to_s, :description => col[1].to_s, :author => col[6].to_s, :url => col[7].to_s, :country => col[8].to_s) end else  raise "No file exists with name: #{filepath}" end  end
  def down   Idea.all.destroy # only with team permission  end
end

                                                Progress @ General Assembly (GA):
                                                • Rails (Authentication vs Authorisation, Static page controller, Custom controller methods using routing collections and members, Hidden form fields)
                                                • Production (Heroku)
                                                • Gems (Sanitise for customising Devise Authentication, Rails_12factor for production and images on Heroku)
                                                • Agile (Daily Scrum meetings)
                                                • Bootstrap themes


                                                Contributions to Developer Community 
                                                • Exciting ideas and concepts explored with the The Slippery Gypseas!
                                                • Sydney Tech Startup Meetup on 6th Feb

                                                Curious:
                                                • Cancan (Authorisation)

                                                Monday, 3 February 2014

                                                WDI Progress Update - Agile Tools, Wireframes, Migration Change Control Diligence, Alumni

                                                Progress @ General Assembly (GA):
                                                • Agile Dev Intro (Agile vs Waterfall, Manifesto, Test Driven Dev (TDD), Behaviour Driven Dev (BDD), Scrum Sprint Cycles and Ya Ain't Gonna Need It YAGNI / MVP Priorities, Ship early ship often, Estimation Points Sys. & Timeframes, Break-down Tasks, Team Velocity Forecasting Sprints, Burn-down Charts, Timeboxing Spikes, Daily Brief Stand-p Meeting Agenda Protocols, Project Normal Workflows, Planning & Design Stage, Site Structure, Use-cases, Wire-frames, Non-standard CRUD requirements, Development Stage) 
                                                • PivotalTracker - Agile Project Management tool using Scrum
                                                • Balsamiq Mockup - Wire-frames
                                                • Rails (Devise Authentication, Importance of Ongoing Migration Due Diligence to Teams and Traceability)
                                                • Presentation by Tiffany McHugh of GA's Studio Service:
                                                  • Job readiness, Partner connections, Alumni network, Teaching opportunities, Sharing, etc