|
  esommer.net : blog : archive : 2003 : 03
 | yes, i'll just let Mr. Rosenberg do the talking for me, thanks. |
 | < navelgrazing> |
 | so, why are the permalinks broken? |
 | they arent. i copied the url, opened a new browser window and pasted it in the address box thingy -- works. problem seems to be that my provider is doing something funky with framesets, which is why the url you see never changes either, when you click around the site. |
 | o well. |
 | < /nabelschau> |
 | 04:10:13 in K |
 | will my program work? |
 | dunno. try it. |
 | but it's written in standard xxx -- how can it be that you say "try it?" |
 | well, there's no end to the dumb things one can do. try it. |
 | but it runs on platform yyy. all i want to know is if it will also run on platform zzz. |
 | does it have inputs? well. there you have it. |
 | i can't believe it. Don't you call it computer science? |
 | 09:14:05 in train |
 | yes, i'm winding down the Rhine again, and though the day is diesig, it is still a wonderful trip. |
 | so 'onderful that i'm sounding like travel brochure. |
 | Just wound round the Loreley, and now there's a thousand year old castle tower not 3 meters from my face. |
 | 08:56:54 in K |
 | 06:40:58 in K |
 | condolences to us all on the night's events. |
 | 06:51:11 in K |
 | Doesn't it sound better when you put it that way? |
 | 16:54:16 in K |
 | 08:22 in K |
 | so much to learn, so little time .. |
 | 09:23:08 in K |
 | been programming a lot, over the weekend. programming is such gratifying work, so different from the consulting i usually seem to end up doing. i'm not online right now, so i run the risk of saying what's been said many times before, but hey. |
 | programming feeds the soul, the low-down basic instinct one: you tell the box to do something, and .. it does it! non-programmers will never understand the absolute gratification this can provide. |
 | 16:26:06 in train |
 | so, it turns out sending 1 MB via http POST is not a good idea, if you are using an Url-encoding implementation that's exponential in the length of the url |
 | who knew? |
 | but this means i get to implement an RFC call to the back end, yoo-hay! |
 | 08:36:14 in train |
 | ise a cowboy off to put out some files fires deep down in the ties that bind J2EE and R/3 |
 | seems there are too many strings, and they're acting like thick hairy ropes, and they're all tangled up -- i'll know more in a couple hours |
 | it's a beautiful day. if you ever get to old europe and it's a beautiful day, you must take the train from Cologne to Mainz -- it meanders along the Rhine at a chugalug pace (au contraire to what they may be telling you when you buy the ticket and pay extra for the so-called InterCity or EuroCity so-called Express), past ruins of real castles and the Loreley, a hairpin curve in the river where blond ladies in flowing white dresses used to sing to boat captians, causing them to sink their ships against the submerged cliffs .. |
 | 10:54:59 in train |
 | Vermögensschadenhaftpflichtversicherung |
 | this is an actual word, just uttered by my insurance agent |
 | 13:04:52 in another train |
 | Deutsche Bahn story: |
 | nicht nur habe ich mich etwas geärgert, einen ICE Zuschlag bezahlt zu haben, um jetzt wegen Verspätung doch in einem RegionalExpress zu sitzen -- nein, mehr noch: der Schaffner will mir jetzt sagen, meine Fahrkarte sei ungültig, weil ich ja nicht im ICE sitze, und das sei ja ein Plan und Spar ticket. |
 | Jetzt bin ich also auf der Defensive, gegenüber der DB, weil die DB mich verspätet hat. |
 | 07:14:23 in K |
 | an interesting and elusive situation often arises in larger IT projects -- personal accountability is lost. |
 | this is a much nicer word for what i have in mind here; the bind in the middle is the same root word as the english, and saying Verbindlichkeit evokes things like the ties that bind, a picture of friendly strings connecting the team members. |
 | all the tools and condiments project managers throw at this .. |
 | issue lists |
 | bug tracking lists, or even complex bug tracking software tools |
 | change request regimes, with precise and rigid rules whose study and execution become major resource-eaters in their own right |
 | huge and convoluted project plans that often take on a life and semantics of their own |
 | .. all these serve mainly to draw attention away from that loss. |
 | what can you do? |
 | well, it's not easy. it's elusive in its own right, but the individuals, the people, the persons, the mensches have to lean back, look each other in the eyes once in a while, and acknowledge what is going on. Someone has to get up and come out and say it: |
 | it's not about blame assignment. |
 | unfortunately, it is often about money. no two ways about it, and following my plan isn't going to eradicate the costs of a large project gone haywire -- but it will significantly reduce them, because the tools and condiments i've seen thrown at the problem time and time again, are, in large part, make-work, resource hogs and obfuscators. |
 | because they are basically nice menschen, many young project managers -- |
 | and face it, if you are in the market for large IT projects today, you are eventually going to end up with a nice young man as your main contact, even if -- or besonders wenn -- you are paying big-five top dollar, a kid who will want to please the customer and please his employer, who is completely overwhelmed by all the technology involved, and by the characters of the people involved, and who will end up being paralysed by the multimensional vises of these opposing, orthogonal or at least conflicting forces |
 | -- are reluctant to say to the customer's face This is going to cost extra. Often this reluctance metastasizes to the point where the nice kid is lothe to even say more important things like |
 | This requirement of yours, not only is it going to cost, but it is Wrong Thinking. |
 | You don't really want this, |
 | and i will go back to my cubicle and devise an explanation for why this is so, and suggest an alternative, and we can discuss some more, just give me the time. |
 | Beyond all the technobabble, this is, after all, what you are really paying me for, and it's the most valuable service i can provide. |
 | Practise this in front of the mirror in the morning: Team, we have lost Verbindlichkeit. Let's do something about it. |
 | 15:36:00 in train |
 | yesterday on the way to the baui, i explained to my 9 year old what it is i do. not for the first time, but this time around i think he understood some of it. so if you have a nine year old you want to explain something about product configuration to, come to daddy, i have the experience. |
 | it helped that he watched me build a website the other day, so he had an idea of that already. |
 | this picture helped, too: |
 | imagine a company that builds and sells computers. they sell want to sell 1000 computers a day. if they didn't have a website with a configurator, what would it be like? |
 | they'd have to have a hundred people sitting by the phone, listening to the customer, answering questions about what's available, how much it costs, what combinations don't work and why. |
 | they'd have hot ears, said my nine year old. |
 | then, when one of these 100 finished taking an order, they'd pick up the phone and call the factory, and tell them what the customer wanted built. |
 | or they'd write it down, and have it delivered by messenger. |
 | i kid you not. i have seen a company where this was happening. |
 | in fact, they'd need another 100 people -- or maybe 50, because both sides speak the same argot, hopefully -- on the factory side to talk to the hundred phone sales people. |
 | i was at a company once where they had already informationtechnologised this setup -- in two different software systems that didn't speak to one another. |
 | so they did have an order-taking system at the front end, and production control system at the back, but guess how they connected the two up? right, sneaker net, plus typo-net. |
 | the front end end people printed out the orders, these were brought -- and i mean that in the most 18th century sense of the word -- to the back end people, who proceeded to type the stuff, in a different format of course, into their back end system. |
 | ask yourself how many errors got inserted into this paper trail along the way. triple your estimate. flash psychic say: you are still way, way, way too optimistic. dude. |
 | this is were some problems creep in: |
 | - how do you ensure the first 100 people do actually know what the second 50 know? |
 | if they told the customer something wrong, and we are lucky, the factory person will notice, and they'll have to call the customer back, and start from scratch. |
 | if we are not lucky, it'll go off to the shop floor, and some time later the sound of a big expensive machine come to a grinding halt shalt be heard for miles around. |
 | - how do you ensure they actually communicate it effectively to the customer, day in and day out? |
 | if you think, now, that these questions are contrived or rhetorical, stop. |
 | products can get very complex, and they change constantly. keeping different groups within a company in synch on what the product actually is, and is not, is a major, major issue in practice. |
 | so, anyway. the motivation for using a configurator is to Do The Right Thing in these situations: |
 | offer the customer |
 | a good interface that cleary shows |
 | what options are available for the product, |
 | - never offering choices that can't or won't be built |
 | - automatically setting choices that are mandatory (that rules say must be selected given the other choices) |
 | and how much they cost, |
 | and possibly even how long a given set of options -- i.e., the chosen configuration -- would take to deliver (this is called ATP in suit-speak, available to promise) |
 | & a one-click, no-hassle way of actually ordering the desired configuration |
 | offer the supplier full integration: |
 | an automagic recepticle for that one-click, no-hassle way of actually ordering the desired configuration |
 | automagic branch-offs into the supplier's product lifecycle managment |
 | - taking and storing the order |
 | - ensuring that it it can be built -- automagically, because we only allowed the customer to specify buildable configurations in the first place |
 | - ensuring that it is built to spec -- automagically, because the data communicated to production is the same, the very self-same & identical, data the customer constructed by using the front end configurator |
 | - ensuring that the front end knows what the back end knows |
 | in fact, there is not front end and no back end anymore. they are now different views on the same, identical core data: the product model |
 | the product model knows how to present itself to the customer |
 | the product model knows how to present an instance of itself -- a configuration -- to the production people |
 | - and the costing people |
 | - and the materials managment people |
 | - and the control freaks |
 | so the theme of the day is, The Product Model Knows |
 | and who's going to help get one of these product models? esommer.net! |
 | so, doesn't this make so much sense as to be stupid to go through the trouble of actually writing it down? |
 | if not, let me know -- i'm still trying to hone this to the point where i can explain it to my grandmother. |
 | if so, then why is it not being done so much? |
 | have an answer for that, too. because it's hard. very hard, and expensive, and it likely to cut through a great deal of intra-company responsibility thickets. but the thing is, it's mainly a one-time, bootstrap kind of effort that pays out almost immediately if done correctly. |
 | Full disclosure: i dint actually say all those things, especially the last so anyway .. stuff, to my nine year old. |
 | 17:14:44 in K |
 | ok, i think i understand now. |
 | i also think this is crazy. the variant configurator is a complex software system including an interpreter and compiler for its own programming language. what you are saying is that you want to re-implement (parts of) that. |
 | why? your customer need to return to first principles, re-assess their business requirements and then make a decision founded on knowledge of the technology available. |
 | imho, no matter what their business needs are, re-implementing the VC is the wrong approach. |
 | 11:26:28 in K |
 | welcome to esommernet's handrolled blog! |
 | so, what will this be about? |
 | so, what happened before? |
|
. . . . . home . english . deutsch . siteindex . . . . . . . . . . . . . .
|