I’ve been reading Pragmatic Thinking & Learning by Andy Hunt. In one of the chapters, the author talks about UML. Yes, even I myself find that UML can get a bit boring. He suggests that I literally draw out the diagram. And so I did. The author also suggests that you can do the same with Lego bricks or by role playing, but I won’t go into that.
At movideo, I’ve been assigned to make a program that runs on the server and upload videos to YouTube. In the future we might externally syndicate our videos to another provider (eg. Vimeo). So, I come up with this diagram to see how it can aid me with my software development process.
This diagram actually helped me by:
Acting as a check list
Making Test-driven Development(TDD) easier. Why? By looking at this diagram, you’ll be able to see the hollistic picture. By having a hollistic picture of the entire application that you’re about to write, it’s easier for you to write unit test for it’s expected behaviour
Writing pseudo codes. I don’t actually write pseudocode à la COBOL era, but for every function that I write, I’ll write comments of the things that I need to do.For example:
public void create() { // do validation
// check if record exists
// save to database
}
Most importantly, before you start scribbling, get away from your computer. Computers can be distracting at times (emails, IM, Twitter). You’ll be able to see a hollistic view without those distractions.