The "Longhorn Startup Demo Day" event yesterday was amazing. I got to see lots of new startups as they pitched their ideas to VC's.
I'm on Chapter 10, "Working with Agile User Stories." Here's two example stories, from a video in chapter 10:
"Because my employees work all hours, in different time zones, and around the clock, I want the system to be stable."
"As a frequent shopper, I want to purchase with one click so I can buy without hassle."
So we should keep it simple. Large groups of stories that combine to compose a particular feature are often grouped inside so-called Epics. I learned about a burndown chart, which is just a way of measuring how much work has been done and how much work needs to be done.
Next was Chapter 11, "Implementing Agile Yourself." In this chapter, we went over Pivotal Tracker, a free web-based project management program. Under pivotal tracker, stories are rated as 1 (easy), 2 (medium), 4 (hard), or 8 (huge) in complexity, and stories that are rated an 8 should be broken down into smaller stories.
Projects are broken down into iterations, which usually take a week. An iteration is then broken up into 6 sections:
1. Gathering requirements.
2. Story breakdown.
3. Story estimation.
4. Prioritization.
5. Build software.
6. Acceptance.
Stories are ranked according to importance, and rejected stories go back to the queue. Usually, we try to get all the stories in when the project is first started, but it is normal that stories are added as the project goes on. The Product Owner is the team member or client who acts on behalf of the users (so we can ask questions of this person when we need clarification).
Next was Chapter 12, "Introduction to Software Testing." I learned about TDD (test Driven Development) and RSpec, which is a set of tools used to test Ruby on Rails. Jasmine is a testing framework used to do testing for JavaScript, so it does testing on the front end (as opposed to RSpec, which does testing on the back end).
I learned some interesting concepts, such as Coverage (% of code paths tested), Regression Testing (automatically rerun old tests so changes don't break what used to work), and Continuous Integration Testing (continuous regression testing versus later phases).
The Agile way incorporated Test Driven Design, which is to write tests before you write the code you wish you had (tests drive coding). We went into a broad overview of testing methods.
Next was Chapter 13, "Test- and Behavior-Driven Development." Behavior Driven Development has an acronym, BDD, just like TDD. The basic premise of Test Driven Development is to write the test and then write the code to make the test pass. A "Spike" is when you code something up to try it out with no intention of ever using that code in production, it's used in TDD. I learned about scope creep, which is uncontrolled changes or continuous growth in a project's scope (it's not called scope creep if the budget, resources, and schedule are increasing along with the scope).
YAGNI stands for "You Aren't Gonna Need It," and it's a principle of extreme programming that states a programmer should not add functionality until deemed necessary. We should implement things when we actually need them, never when we just foresee that we need them. It's basically used to keep the project focused on the essentials.
KISS stands for "Keep It Simple, Stupid," and it's a design principle exhorting us to refrain from adding unnecessary complexity to a system. The less moving parts, the better.
I like both of the acronyms above because I am a minimalist myself, in both my business dealings and in my design aesthetic. It's been my experience, both with my current business and with businesses I have owned in the past (and sold), that the less moving parts, the better. Keep the system simple.
I watched a 30 minute video on TDD, "Test-Driven Development: A Love Story," and then the chapter briefly went into BDD, which is like a more story-oriented version of TDD. Here's the video:
Next was Chapter 14, "Stories for the E-Commerce App," which incorporated an assignment! Woohoo! Looking forward to going through this chapter and working on a project!
Before I started on the Chapter 14 project, I peeked at Chapter 15, "What is Pseudo-coding," and it made me really motivated to finish up chapter 14, because I already want to get to work on pseudo-coding!
O.k., back to chapter 14, we have to work with Pivotal Tracker on a Viking shopping cart site. It's actually pretty cool. We have three critical goal paths:
1. View the store's inventory of axes.
2. Keep track of the axes Viking warriors want to purchase using a shopping cart.
3. Check out and pay for their shopping cart.
SUMMARY OF CODING SKILLS
I'm on Chapter 10, "Working with Agile User Stories." Here's two example stories, from a video in chapter 10:
"Because my employees work all hours, in different time zones, and around the clock, I want the system to be stable."
"As a frequent shopper, I want to purchase with one click so I can buy without hassle."
So we should keep it simple. Large groups of stories that combine to compose a particular feature are often grouped inside so-called Epics. I learned about a burndown chart, which is just a way of measuring how much work has been done and how much work needs to be done.
Next was Chapter 11, "Implementing Agile Yourself." In this chapter, we went over Pivotal Tracker, a free web-based project management program. Under pivotal tracker, stories are rated as 1 (easy), 2 (medium), 4 (hard), or 8 (huge) in complexity, and stories that are rated an 8 should be broken down into smaller stories.
Projects are broken down into iterations, which usually take a week. An iteration is then broken up into 6 sections:
1. Gathering requirements.
2. Story breakdown.
3. Story estimation.
4. Prioritization.
5. Build software.
6. Acceptance.
Stories are ranked according to importance, and rejected stories go back to the queue. Usually, we try to get all the stories in when the project is first started, but it is normal that stories are added as the project goes on. The Product Owner is the team member or client who acts on behalf of the users (so we can ask questions of this person when we need clarification).
Next was Chapter 12, "Introduction to Software Testing." I learned about TDD (test Driven Development) and RSpec, which is a set of tools used to test Ruby on Rails. Jasmine is a testing framework used to do testing for JavaScript, so it does testing on the front end (as opposed to RSpec, which does testing on the back end).
I learned some interesting concepts, such as Coverage (% of code paths tested), Regression Testing (automatically rerun old tests so changes don't break what used to work), and Continuous Integration Testing (continuous regression testing versus later phases).
The Agile way incorporated Test Driven Design, which is to write tests before you write the code you wish you had (tests drive coding). We went into a broad overview of testing methods.
Next was Chapter 13, "Test- and Behavior-Driven Development." Behavior Driven Development has an acronym, BDD, just like TDD. The basic premise of Test Driven Development is to write the test and then write the code to make the test pass. A "Spike" is when you code something up to try it out with no intention of ever using that code in production, it's used in TDD. I learned about scope creep, which is uncontrolled changes or continuous growth in a project's scope (it's not called scope creep if the budget, resources, and schedule are increasing along with the scope).
YAGNI stands for "You Aren't Gonna Need It," and it's a principle of extreme programming that states a programmer should not add functionality until deemed necessary. We should implement things when we actually need them, never when we just foresee that we need them. It's basically used to keep the project focused on the essentials.
KISS stands for "Keep It Simple, Stupid," and it's a design principle exhorting us to refrain from adding unnecessary complexity to a system. The less moving parts, the better.
I like both of the acronyms above because I am a minimalist myself, in both my business dealings and in my design aesthetic. It's been my experience, both with my current business and with businesses I have owned in the past (and sold), that the less moving parts, the better. Keep the system simple.
I watched a 30 minute video on TDD, "Test-Driven Development: A Love Story," and then the chapter briefly went into BDD, which is like a more story-oriented version of TDD. Here's the video:
Next was Chapter 14, "Stories for the E-Commerce App," which incorporated an assignment! Woohoo! Looking forward to going through this chapter and working on a project!
Before I started on the Chapter 14 project, I peeked at Chapter 15, "What is Pseudo-coding," and it made me really motivated to finish up chapter 14, because I already want to get to work on pseudo-coding!
O.k., back to chapter 14, we have to work with Pivotal Tracker on a Viking shopping cart site. It's actually pretty cool. We have three critical goal paths:
1. View the store's inventory of axes.
2. Keep track of the axes Viking warriors want to purchase using a shopping cart.
3. Check out and pay for their shopping cart.
SUMMARY OF CODING SKILLS
Total Treehouse Points: 5,385
Treehouse Points by Subject Matter (Miscellaneous not included):
HTML: 663
CSS: 1,599
Design: 1,193
Development Tools: 747
Javascript: 1,120
Treehouse Ranking (%): "You have more total points than 94% of all students."
Treehouse Badge(s) Earned Today:
Treehouse Courses Completed:
How to Make a Website
HTML
CSS Foundations
CSS Layout Techniques
Aesthetic Foundations
Design Foundations
Adobe Photoshop Foundations
Adobe Illustrator Foundations (66% complete, switched focus from web design to web dev)
Git Basics
Introduction to Programming
Javascript Basics
Codecademy (& other) Courses Completed:
HTML and CSS (Codecademy)
Design Foundations
Adobe Photoshop Foundations
Adobe Illustrator Foundations (66% complete, switched focus from web design to web dev)
Git Basics
Introduction to Programming
Javascript Basics
Codecademy (& other) Courses Completed:
HTML and CSS (Codecademy)
Books Read or in Progress:
Completed: "Head First HTML and CSS," by E. Robson & E. Freeman
In Progress: "Eloquent JavaScript," by Marijn Haverbeke (On pg 27)
In Progress: "Head First Javascript," by Eric Freeman and Elisabeth Robson (On pg 56)
In Progress: "A Smarter Way to Learn Javascript," by Mark Myers (on pg 72)
My Progress on The Odin Project:
1. Introduction to Web Development 100% Complete
2. Web Development 101 29% Complete
3. Ruby Programming 0% Complete
4. Ruby on Rails 0% Complete
5. HTML5 and CSS3 0% Complete
6. Javascript and JQuery 0% Complete
7. Getting Hired as a Web Developer 0% Complete
Hours Spent Coding Today: 3.5
Total Hours Coding: 513.5
No comments:
Post a Comment