This spring I have been doing some work on a web application, part of a deliverable in one of my courses (INF5270).
We were a team of four writers/programmers/designers/whatever needed. The deadline was about an hour ago, and we delivered our system 3 hours before that for once. So, for personal reflection I thought I’d sum up my experiences. Especially in the light of having read through a better part of Getting Real by 37signals.
The theme of the course is, as stated in its title, Design of Interactive Web Sites. The curriculum is somewhat broad, but the main focus is on Information Architecture and Sociability. Our task was to build a social web site (and also write up some reports about it and reflect on the theory of the course).
We decided on a theme early on; books. We were going to build a social web site about books, or literature if you want it dandy. We started investigating other sites within the theme, and found some. Looked into them, and what they did and reflected about what we would want to put in.
At this step, we only had some thoughts, and also a report that we had to deliver about our findings and how they related to the theory taught. The next step was, as Getting Real suggests, making the screens in HTML. Only, we skipped the part with sketches and drawings and drew directly on a document with ideas. I think this is probably one of the first (major) faults we made in the project.
Words in a document are fine, but do they really convey what we want? Everybody has different ideas, and that really shone trough nearing the deadline. We were not on the same note and the end result was different than, I think, everyone envisioned. If we had sketched the site early on and put it somewhere on the web it would have been much easier to see what we agreed and disagreed on and reach agreements.
So, we had the screens out there in HTML (part of another delivery), we disagreed, agreed and none of them really got updated. The same screens were the basis when we started on the 4th delivery that included the first bit of implementation. The screens where as much worth as the dead document, nothing. So we started coding, all in our own directions, which resulted in confusion and a delivery that consisted of different ideas, not ONE idea.
And, that was pretty much the story for our 5th and last delivery that was finished up some hours ago. We ended up delivering a system that deviated some, or much, from both our personal and common vision.
I think the following would have made the project execution better:
* Interface sketches EARLY on, perhaps just after deciding on our theme for the site, and then meeting up for more iterations and doing an early assessment of feasibility for the different parts of the site. Together with a vision document, and some documentation of elements in the sketch this would serve as the framework for the whole System.
* A live document where we documented our choices, so that they could be found in easily when needed (some code at night, others early in the morning).
* Some more meetings . Although Getting Real really disapproves of them I think they would work in our case (small team) to easily and quickly solve confusion on certain aspects in a quicker way than e-mail and/or IM.
* A centralized, online, meeting place. Campfire could probably have been suitable for this.
Hm, that’s what was on top of my head for now.
What I’m currently up to
I guess I’m not blogging much. I’ll try my best to fix that.
These days I’m occupied as a java developer at a company called Cicero Consulting. The company is a combination of several services, but they are all related to banking and finances. Luckily in a way that shouldn’t hurt us to much during the economic downturn.
The company is like a small family, and we’re currently about 20 people working there. We have 8 developers that does consultancy and product development. I started out with product development in on our core product called Cicero Financial Planner. It is product delivered in various forms to major actors in the Norwegian banking sector and enables them to do effective client counseling.
Fast forward to november and I was sent out as a junior consultant to a (for me) large project related to the financial field. Being a consultant is in many pretty different from working in the office. Both good and bad. I’ll probably write a post on this later as I get more time to compare. But the biggest change is perhaps working in a focused team again.
In the product developer setting we were 2-3 developers working on different parts of the product. This meant that you felt somewhat alone with what you were working on. In one way this was bad. It raised the threshold of starting a conversation about the aspect you were working on. I guess this is perhaps a bad personality trait that I have. I’ll work on it. On the other hand it also gave a lot responsibility and freedom to influence decisions during the development process. A huge bonus.
In the team and project context (in my specific case at least) the roles are somewhat reversed. There’s plenty of opportunity to discuss the different topics of the ongoing development process within the team, but smaller opportunities to be a part of decisions. This is both good and bad. It allows you to offload this work to others (or, it newer reach you), but it is frustrating when (in my eyes) bad decisions have are made. The decisions can also take quite a lot of time to clarify with the customer. Which is pretty frustrating when they’re minuscule in my eyes.
So, what do I favor? I can’t decide. Working for yourself, being your own boss and being allowed to make decisions contra the interaction and focus in a team. I think both have their merits. Either way, change is good and conditioning.
I guess that sums up my current status as to work.