jducoeur: (Default)
[personal profile] jducoeur
This month has been a somewhat tough one emotionally. This is largely because, about four weeks after I started, I now have a program that prints, "Hello, Mark Waks!" (plus, as of this morning, the last time I logged in).

Mind, I haven't exactly been quiet for the past month. The program:
  • Uses Apache Tomcat to serve that string out via a servlet;

  • Has a JSON-based Ajax interface to allow the static webpage to fetch the data from the servlet;

  • Integrates the MooTools Javascript toolkit to signal when the page is ready (and will use it for lots of UI shortly);

  • Runs inside of Facebook as an application, and fetches the user's data via the Facebook APIs;

  • Uses Hiberate to generate all of the data-manipulation code, and to talk to a MySQL database on the back end;

  • Implements the Ecology pattern that I'm so fond of as a program-lifecycle and discovery model, and has a bunch of specialty classes to make JSON and Hibernate and such all play together nice and transparently, and allows me to extend the program API trivially;

  • and has automated functional tests that use Selenium to open the browser, navigate through FB to the app, and check the results. (No unit tests, admittedly, but that's intentional -- I've always focused more on functional tests than unit tests.)
So basically, I have a program that does nothing -- but does it *really* well.

This is all more or less according to plan. One of the precepts of at least some forms of Agile Development is the "slice of cake" model. You do your work in slices, and each is pretty thin, representing just a single bit of functionality, but each slice should cut all the way across the system, doing it all correctly. That first slice is always the hardest, because it requires you to set up the bulk of your infrastructure. With that done, it becomes much easier to add each feature as a proper little increment.

Realistically, I knew this was all going to take a while. I've never even touched most of those technologies before, so there has been a great deal of self-education in the past month, to get to the point where I can get each one up and running. It's taken about a week longer than intended, mostly because the documentation for this stack is rather less well-organized than the Microsoft stuff I'm used to. (And yes, that comment is as scathing as it sounds, but it's probably inevitable given how much open source I'm using here.)

None of which makes me any more content about having so little to show for a month's work. But with any luck, by the end of next month I'll have made quite a lot more progress...

(no subject)

Date: 2008-01-29 08:37 pm (UTC)
From: [identity profile] metahacker.livejournal.com
Hello World it ain't! Sounds like you have your whole pipe in place, end to end, with testing, and all ("all") you need to do is start filling it with content. Which, in your case, is actually smarts, but close enough.

So congrats!

(no subject)

Date: 2008-01-29 09:29 pm (UTC)
From: [identity profile] learnedax.livejournal.com
Hmm. While I think it's good that you have that infrastructure in place, and it's absolutely a valid approach to get that all set up first, I think it's not what I would normally call agile.

Agile is indeed about taking tiny little slices of the project... but making the first slice weighted with all the infrastructure isn't really doing that. Sure, you need to design your system so that at every step it's modular and extensible, but you explicitly shouldn't write heavy components in advance of necessity. It's tricky to write features before you lay down the infrastructure, but the idea of agile is that you can't know in advance what that infrastructure should really be like, so you keep it as light as you can as long as you can...

(no subject)

Date: 2008-01-29 09:32 pm (UTC)
ext_104661: (Default)
From: [identity profile] alexx-kay.livejournal.com
None of which makes me any more content about having so little to show for a month's work.

But you managed to *do* a solid month's work on that infrastructure, so congratulations! I've never been able to maintain that sort of focus for more than a few days at most, which is why I've never gone into game development on my own.

(no subject)

Date: 2008-01-30 03:01 am (UTC)
cellio: (avatar-face)
From: [personal profile] cellio
The next slice of cake will come more easily because of the work you've done here. Congrats!

(no subject)

Date: 2008-01-30 07:34 am (UTC)
From: [identity profile] doubleplus.livejournal.com
Congrats! And sympathy about docs for open source stuff -- I presume it's because everyone wants to work on the parts that are cool and fun, and the parts that are necessary to make the cool stuff work, and documentation is rarely cool and fun.

Profile

jducoeur: (Default)
jducoeur

July 2025

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
27 28293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags