Saturday, June 27, 2009

Building software systems

Ok, so the art of software architecture is relatively new compared to building architecture, vehicle architecture and other sciences that have been around for a while. They have matured such that there are a set of best practices that govern them so that its very difficult to go wrong. After all how many times do we hear of building collapses and a vehicle construction gone horribly wrong? Very rarely right?

So the good thing here is that software architecture can learn from these other disciplines. We don't have to make the same mistakes the ancient building and vehicle architects made while they learnt their trade. Of course I'm talking from a principle point of view.

Unfortunately, most software development teams seem to forget this. There are plenty of real world success story examples out there that we can draw from, but unfortunately we seem to have blinders on. The most significant example I think is this,

- Before building anything (a large sky scraper for instance, or even our little two storied house) the first thing thats done is that a solid foundation is laid - for a vehicle its the chassis. Once the foundation is complete, only then do they construct each layer, and its a layered approach, one floor at a time.
SW: We do have similar qualities here, but how often have teams forgotten the importance of laying the right foundation. How often have teams started construction of a huge project on work in progress framework code? And what does this result in? several iterations cause there are soo many flaws in the system - while the framework is being refined the final product is also being adjusted and re-adjusted. Project managers may think that starting early will be advantegous, but instead the net result is that there are soo many defects and overall instability resulting in many more iterations to fix them resulting in the project taking even longer. Too many moving parts in my opinion does not constitute to a stable release.

The well established software giants do this right, but soo many of the smaller software houses keep making the same mistake. By making this mistake once, they learn the invaluable lesson of how NOT to do things in the future right? :) but alas I've seen the same people making the same mistakes over and over again.

Tuesday, March 17, 2009

IPhone 3.0 Guide...

The iPhone 3.0 OS release promises some really cool and long awaited features
- Copy, cut and paste
- Landscape keyboard,
- Notes sync
- Peer to peer connectivity
- controlling peripherals
- Push notification

Just to name a few.
Read on here - i.gizmodo
and here - AppleInsider

Thursday, March 5, 2009

Leadership is not management....

Something very interesting I came across...

"Management is about manipulating resources to get a known job done,..leadership is about creating a change that you believe in.

Movement have leaders and movement makes things happen. Leaders have followers Managers have employees. Managers makes widgets. Leaders make change."

Read on here...
Nati Shalom's blog-leadership is not managment

Search This Blog