Tuesday, April 3, 2007

Building Information Model And All That

It's quite interesting to see how similar concepts take hold in various areas of human endeavor! Back in the early nineties I was part of a set up that created GIS databases. The Automated Mapping/Facilities management based on these databases was a big deal already in the US and we Indians were trying to set a beachhead back then. Real nice twist to this database was that it linked together graphics elements and standard RDBMS entries together. And that gave a complete new dimension to the information, the way it was being used. One could have a map of a place and have lot of information captured for the buildings in it, the roads and so on. One huge application was for the utilities, be it electric, gas or water or whatever. If all the relevant information about a electric feed, the poles, switches etc could be captured and then queried, it becomes a very useful tool during design, construction as well as operational lifetime. During this phase it helps with the maintenance activities too.

Then when later in the nineties I got involved with CAD/CAM slowly PLM or the product life cycle management became all the rage. besides spanning the full product life cycle, it was to become a tool for concurrent design, collaboration etc.Web access makes that even easier. That's how products like Windchill fro the stable o PTC that works with Pro/E became quite the rage.

Now in this new millenium I am into architectural CAD services industry and Building Information Model (BIM) is all the rage. In fact we are differentiating our services by positioning ourselves as a BIM vendor rather than just CADD! By attching pieces of information to the design model we make this model as well as the information a useful tool through the life cycle of the building being designed. Desin is quicker and less error prone, information is useful in the construction as well as occupancy phase. Same way that the GIS or the PLM database is so useful. A simple facility management system can make life so much more easier during occupation phase, helping with the up-keep to so much detail!!

Wednesday, March 14, 2007

Issues Of Software development

I am completely convinced that in today's scenario one or the other "agile" methodology is the way to go. However, whatever you do some common problems appear. Mostly people related. Would it not be wonderful if we did not have to deal with such issues! But there's no way, people have to develop the stuff. I'll basically be discussing about 3 blog posts that look at these issues.

James Shore talks about how software have to be "done done" to be useful. One of the cornerstone of agile delivery is that we attempt to deliver fairly well cooked stuff every release cycle.Problems arise as everybody's sense of closure is widely different. He has a checklist that tells us when it's "done done". A quick look below.
  • All unit, integration and customer tests are finished (tested)
  • All code written(coded)
  • Code refactored to team's satisfaction (designed)
  • Software being released is completely integrated UI, database etc. (Integrated)
  • Build script includes any new modules (builds)
  • Build script includes the story in the automated installer (Installs)
  • Build script updates database schema if necessary and installer migrated data when necessary (Migrates)
  • Programmers, testers & customers have reviewed the story for bugs and UI glitches (Reviewed)
  • All known bugs have been fixed or rescheduled as newer stories (fixed)
  • Customers agree that the story is completed (Accepted)
This is really a chapter of his upcoming book "The Art Of Agile Development". Rest of the chapter is devoted to how to fulfill all the above criteria.

The second issue is taken from another blog "perils of pair programming" by Matt Stephens. Pair programming is an essential framework for the extreme programming methodology. When the capabilities of both programmers are nearly matched, pairing works well. But pairing like novice-novice or novice-expert does not work well at all. Even when in novice-expert like pairing the expert is a willing mentor, productivity is likely to suffer. It is a difficult optimization to achieve in general in a team then. Add to that not everybody is inclined to sit with another at the programming terminal and be extrovert enough to make it work. It is difficult to select people by programming orientation, and pick those who are pair-programming oriented!

A third angle tackled in Kelly Waters' blog "what if my Agile colleague won't play ball?". Kelly is an experienced project manager and discusses various ways of dealing with the situation". The essence being counseling first, unlike the team putting in peer pressure to make the misfit leave. Change is phobic to many people and they may not even realize it. Hence the counseling and discussions based approach. Obviously when all else fails, surgery has to be resorted to!!

Tuesday, February 13, 2007

80 Core Processor !!!???


Intel has announced a research chip that contains 80 (yes, eighty!!) cores. Each is a dual floating point execution unit. That's a record of maximum integration! This achieves a performance of 1 teraflops at 3.16 Ghz. That's a supercomputer performance that can make supercomputer on a desk possible when commercially available.


All that performance at an energy expense of 62 watts only, lower than some of the PC chips today! As I have mentioned couple of times in my past posts, this is what's going to happen. Ever more performance at as low a consumption as is possible. Otherwise the way the need for more performance, whether through such high performance devices or a multitude of servers, increases the energy consumption and corresponding cooling requirements will become unmanageable.

Only thing comparable has been a supercomputer built by Intel with 10,000 Pentium chips that reached teraflop performance yet consumed 500 KW of power! This was a supercomputer housed in Sandia National Labs of USA. Mind boggles just to think of possibilities when such power would be available for personal use! Some of the applications being talked about are real time speech recognition, multimedia data mining, photo-realistic game etc. That would/could lead to immediate speech based interaction with the computer like the HAL of 2001 A Space Odyssey! Digging out a photo of some one with a smile on his face in contrast to his frowning! Photo realism particularly in real time animation would add a totally different dimension to gaming experience!

With several processors running together, system bus saturates very soon. Caches help but even then limits are reached very soon, as numbers increase. Memory interface speeds, data management between these cores, keeping them current are some of the problem areas. Particularly the interface speeds possible on this system bus.

Intels' stated aim is to research these areas with a chip like this. Innovations generated in the project as per Intel are as follows,

  1. Rapid design – The tiled–design approach allows designers to use smaller cores that can easily be repeated across the chip. A single–core chip of this size (100 million transistors) would take roughly twice as long and twice as many people to design.
  2. Network on a chip – In addition to the compute element, each core contains a 5–port messaging passing router. These are connected in a 2D mesh network that implement message–passing. This mesh interconnect scheme could prove much more scalable than today’s multi–core chip interconnects, allowing for better communications between the cores and delivering more processor performance.
  3. Fine–grain power management – The individual compute engines and data routers in each core can be activated or put to sleep based on the performance required by the application a person is running. In addition, new circuit techniques give the chip world–class power efficiency—1 teraflops requires only 62W, comparable to desktop processors sold today.
  4. And other innovations – Such as sleep transistors, mesochronous clocking, and clock gating.

Tuesday, February 6, 2007

It's Not Done Until It Is Shippable

James Shore is writing a book on agile methodology "The Art Of Agile Development" and parts of that was being published in his blog. The latest is "Done Done". His point is that whatever is the methodology a piece of software is not "done" until it is shippable. In the sense it has been tested, detectable bugs have been ironed out etc.

Surprising how wide a range of meaning is attached to something being done by individuals. It can really be a huge range of completeness. Some would consider it done when he has finished coding and may be the piece runs, nobody knows if rightly or wrongly. Other end of the spectrum obviously is a tested, tried, polished piece of functionality.

I still remember reading an article on "sense of closure". It was precisely this issue being discussed. I have always maintained with my colleagues that when reporting something being complete the only test one can use is, is it ready to be shipped? Would somebody pay money to buy that piece of functionality. That, of course applies to any kind of product be it software or hardware or a mix of both in the form of embedded product.

Wednesday, January 31, 2007

GIS/GPS Really, Truly Mainstream Now!!

Time, Nov 20 issue, Asia edition features 3 of the most portable and affordable of GPS and combination devices as "Gift of the year". The three devices are Delphi NAV200, Mio H610 digiWalker and Garmin StreetPilot c550. All three are really truly portable, actually hand-held sized. Prices range from about $300 to $750 or so. Location/navigation has become ready for mass use. These can be used for street walks as well as for driving guidance. They come with preloaded maps, cute user interfaces and has added functionality such s MP3 player, phone, PDA etc.

As these are based on quite powerful processors additional functionality become easy. Could be flight directory, weather, traffic update and so on. I can imagine a time very soon when instead of a Lonley Planet country guide, tourists carrying one such device. The device would be multimedia capable and provide all the background information these guides provide!

Tuesday, January 16, 2007

ADT Still Has Mileage Left

Despite newer product being introduced and being actively promoted by a company, the product due to be superceded quite often shows surprising strength. Though Autodesk is actively promoting Revit, the architectural desktop( ADT) does not show any signs of becoming obsolete yet. In fact there seems to be active 3rd party support that adds to the products vitality.

H E Goldberg talked about two such resources in the Cadalyst issue. One of the advantages of ADT pointed out by Goldberg is an open API and VisionREZ is cited as a shining example of what could be done with ADT still! VisionREZ is a customized solution of ADT for the residential market and makes many design issues much simpler than it is in the original product. AmeriCAD has other resources for customer training and provides a set of services based on ADT.

ARCHIdigm is an example of useful resources. The author cites them for very useful training material for using ADT effectively.

I have been associated with both products. Couple of years back I was part of a set up that used to produce localized versions of software from Autodesk. I never really got very familiar with usage of the product. In my current avatar, I am into Revit quite heavily. I already see some workflow compatibility issues because Revit and AutoCAD did not come out of the same roots historically. I guess that would not be much of an issue with ADT as it's built on top of AutoCAD. Need to find out more.

Wednesday, January 10, 2007

SCRUM Works For BBC

I have been looking for evidence to see effective these "agile" methods of software development really are. What the specific religionists say, though honest, are always biased a little in favor of the religion/process they are promoting. I do feel these methods ought to work wonders. The waterfall or any such document/process heavy schemes are not workable they way they are required to.


Here comes a case study that show how BBC has used SCRUM to their great advantage.
The story was presented at JAOO. A premier European developer conference on software technology, methods and best practices. The conference presents in-depth presentations and tutorials by researchers, engineers and trend-setters in software engineering and technology.


Andrew Scotland, the presenter, is Head of Development within the BBC's New Media Division. He is a certified SCRUM master and has successfully introduced SCRUM practice into the New Media division's multidisciplinary development teams (Software Engineering, User Experience, Information Architecture, Editorial, Product Management and Project Management).


The Author tells how BBC's New Media division, characterized by a lot of uncertainty and emergent software process, decided to use Scrum to more effectively deliver software amidst all that change and uncertainty. Three years later - the difference is significant, and the journey was worthwhile.

The environment is ever-changing thus it's really good to see Scrum succeeding in a situation it is supposed to work best. I'll need to look around for more such stories.