Here’s one of the first brainstorming diagrams I’ve come up with. It’s a break out of transportation modes. I wonder if I’ve missed any? Each mode is broken out to the amount of persons the respective mode can carry. This information will then be broken down at some point. Right now I’m off to some lively debate at Life of Riley’s (it’s in Portland, so if you’re here, come and have a drink).
The Project I've Been Planning
So I’ve been planning to start a project on the side, just for fun, that I could really showcase some of my interests and skills all at the same time. In other words, from a high level, all the way down to the nitty gritty example, build a fully functional application. I got to thinking, what really truly interests me enough to stay focused on to develop an application for that I could use to present enterprise application demos with?
Well, I’ve kind of shut my “Transit Slueth” blog down for the time being, maybe permanently so what better topic to use. With that in mind I will be posting some brainstorming diagrams and other ideas on what I intend to develop. It will be related to transit in some way, but I’m not 100% sure yet. Feel free to pop ideas in the comments section. Until then I’m off to brainstorming a problem to create a solution for! (It’s kind of funny, I usually don’t create the problems, I just create the solutions!)
Software Fuctoring
Project Manager Definitions from Sedition.com
The important ones:
scope creep hostile feature negotiation.
slippage retaliation.
…and the scary events of a software project.
Some of the key scary elements of a software project:
- Management has renamed its Waterfall process to Agile Waterfall- Your eldest team member references Martin Fowler as a ’snot-nosed punk’- The SCRUM master doesn’t really care what you did yesterday or what you will do today- Your best developer only has his A+ Certification- You do not understand the acronyms DRY, YAGNI, or KISS; but you do understand WTF, PHB, and FUBAR- Every milestone ends in a dead sprint- Project estimates magically match the budget- You get into flame wars if { should be on new line, but you are impartial to patterns such as MVC- The company hires Senetor Ted Stevens to give your project kick-off inspiration speech- Your boss expects you to spend the next 2 days creating a purchase request for a $50 component- The sales team decreased your estimates because they believe you can work faster- Requirement – Rank #1 on Google- Management can not understand why anyone needs more than a single monitor- Your development team only uses source control as a power failure backup system- The project code name is renamed to ‘The Death March’- Your teammates don’t refactor, they refuctor
…and the scariest thing to see on a software project?
The return of the Waterfall Process.
DSDM and Recent Listens on InfoQ
On the InfoQ site today I’ve taken a listen to the “Agile Styles: Lean and DSDM” by Jean Tabaka. DSDM was introduced by a group in Britain. Jean gives a decription of where it came from. Then the meat of the topic is brought up.
DSDM = Dynamic System Development Method
Jean goes on to describe the topic in some detail, laying out the bullet points. I listened to a few others but cut those short as they weren’t as pertinent to what I am currently working on or interested in.
The next one I did listen to that was worth writing about was the Chris Anderson on WPF interview. This gave some good history on why WPF was created and what the intentions are behind the platform. The two coolest questions (and of course answers) that I dug where;
- Is there a standardizing process that’s happening at Microsoft in regards to controls?- Where does Avalon start and Areo end?- Where does the intersection occur between rich and web clients?
He goes on over more than a few more questions. Overall this is a pretty decent interview. One of the last questions posed is about MVP/C and how Avalon and WPF are going to make it much simpler and useable instead of the “high science” that it currently is. I believe this is good mostly with only a few negative points. I look forward to Model View Presenter/Controller work with WPF in the near future! It sounds like it should rock in comparison to some of the mundane effort that is required with current MVP/C technology from Microsoft.
So go and check em’ out. They’re interesting and easy to listen to while you’re working (if you can multi-task) ![]()
What I'm Doing to be a Better Developer
I’ve been doing some CAB & MVP/C work for almost a year now on and off. With that I’ve gone digging for a lot of related topics. One blog that I stumble onto regularly, and also have book marked now, is Jeremy Miller’s Blog. Recently while digging through his blog I came upon the entry titled “OO, TDD, and Agile processes are all good, but better get the basic things right too“, which then for some reason led me to the entry “How I’m, sigh, going to become a better developer“. This later entry got me thinking about what I’m doing to become a better developer.
The first thing, which I’m really good at to begin with, but always can use improvement, is communication. When I mention communication it isn’t just getting one point across from myself to another person. I also mean being able to read other people, understand how they learn, what “hats” they wear in an organization, understand how they fit into the communication from meetings to office cooler chat. Communication doesn’t stop at the spoken and written word, it goes far beyond that. Some might call it politics, some might call it haggling, and some call it other more vulgar things. The fact is, everybody gets frustrated with the various levels of communication. I’m attempting to get a grasp on these things, and get faster at reading people, better at understanding learning patterns, and improve my mentoring ability.
The second thing is to generally improve my architecture knowledge. From a hardware perspective I’ve always been very strong, but from a 100k foot high view of software in large enterprise environments I’ve always felt a little overwhelmed by the layering, approaches, and generally open ended endless ways to “connect” software to other software in the enterprise. I’ve read through at least a dozen books, including Patterns of Enterprise Application Architecture by Martin Flower and fellow crew. Of course I make every endeavor to keep up with his material on his site and other similar to his also.
The third thing I’ve started doing is reading as many blogs that I can humanly read during the course of a day without eating up too much of my stress release and personal time. Some of the key blogs I’ve been reading can be found at Code Better which has Jeremy Miller’s Blog and Jean-Paul S. Boodhoo. Others that I enjoy include; Brad Wilson, Wyatt Preul, Phil Haack, Sandcastle, Mladen Prajdic, Tom Hollander’s Blog, and .NET Slackers. One other site I’ve been reading via RSS is InfoQ. InfoQ is an awesome site with absolutely great material. If you do Java, .NET, Ruby, SOA, or Agile you need to keep up with this site.
I kept reading these various blogs after reading Jeremy Miller’s Blog entry and realized something, almost all of them had something in common. They listed something besides software related things to start doing to help them become a better developer. Even though some might consider it a bit unhealthy, that leads me to my obsessive nature of learning as much as possible all the time about all sorts of things. Which in turn places me right at number four.
The fourth thing is that I will continue to read up and learn about history, transportation and transit, music and specifically guitar, listening to great music, catching live bands, meeting new people all the time, having fun, traveling on the train, continue racing my car, and living a walkable-carless (except for the racing) life, writing lyrics, and generally, having a good ole time!
So now the question is, what are you doing to improve your developer skills?