Friday, December 08, 2006

Thursday, December 07, 2006

When real mux is infered by synthesis?

with SEL select
DOUT <= DI_SCAN when '1',
DIN when others;

Or a case statement

case SEL is
begin
when '1' => DOUT <= DI_SCAN;
when '0' => DOUT <= DIN;
when others => DOUT <= '0';
end case;

What could be the probelm with if/else;

mux_scan: process(DI_SCAN, DIN, SEL)
begin
if (SEL = '1') begin
DOUT <= DI_SCAN;
else
DOUT <= DIN;
end if;
end process;

- Bharat Singh | rathorebharat

Tuesday, December 05, 2006

Create a set latch from a reset latch?

- Bharat Singh | rathorebharat

Monday, December 04, 2006

What are JTAGs? using Boundary scans?

Simple definitions or concepts:
http://en.wikipedia.org/wiki/JTAG
http://en.wikipedia.org/wiki/Boundary_scan
http://www.inaccessnetworks.com/projects/ianjtag/jtag-intro/jtag-intro.html

Nice manual about JTAG + DFT from Texas Instrument
http://www.xess.com/faq/M0000297.HTM
http://focus.ti.com/lit/an/ssya002c/ssya002c.pdf

more details and interesting facts later....

- Bharat Singh | rathorebharat

Lock up latches? Common uses?

Stitching of multiple scan chains. (multiple clock domains).
(different clock enable, posedge, negedge).

Automatically generated by the Test compiler for scan chains.

10 tips for successful scan design: part one & two - 2/17/2000 - EDN
http://www.edn.com/article/CA46603.html
http://www.edn.com/article/CA46604.html

www.evaluationengineering.com/archive/articles/0997dft.htm

-- Bharat Singh | rathorebharat

HW:Launch and capture shift clocks for delay tests? double pulse?

This concept is used for finding transition delay (rise fall) faults:
http://www.soccentral.com/results.asp?CatID=488&EntryID=13069

This explains the basics of launch capture and double pulse:
http://www.iec.org/events/2005/euro_designcon/pdf/6-ta1.pdf

Slow speed clock is required to launch (load unload) the scan flops
or chains and then the faster PLL clock is used generate 2 or 3
pulses of at-speed of internal clock (given to scan flops). The data
is then compared. This is the delay test for the chip.

Nice PPT about delay tests with scan (some algorithms).
www.eng.auburn.edu/~xugefu1/D&TSeminar/files/VLSI07.ppt

At-Speed Structural Test:
ieeexplore.ieee.org/iel5/6540/17459/00805810.pdf

- Bharat Singh | rathorebharat

How to make multiple chains work effectively?

Need of compression logic for scan. EDT compactor.
Collectively feeding multiple scan chains in the design.

For basics:
www.mentor.com/products/dft/news/articles/upload/06_TM_test_compression.pdf

Advanced stuff:
www.mentor.com/products/dft/upload/ITC2005_Compressed_Pattern_Diagnosis_30_3.pdf

More test strategies for testing memories:
http://www.elecdesign.com/Articles/Print.cfm?ArticleID=9527

Multiple short scan chains could be connected to single
big scan chain. Only care is required to see if the connection
is done to correct edge triggered scans. Output of one scan chains
becomes input of another scan chain.

Multiple clock domains might require lockup latches for connecting
mutiple smaller scan chains to one scan chain

- Bharat Singh | rathorebharat

Friday, November 24, 2006

SD:Where British and French management differ?

A amulgam of good traits of all management styles is being Roman in Rome.

Excerpts from the below article on internet.
http://www.mngt.waikato.ac.nz/ejrot/cmsconference/2005/proceedings/criticalresearch/Boussebaa.pdf

Upon 'colonizing' firms, the former become cadres. The term 'cadre' originated from the military and, at the beginning of industrialisation, the French firm hierarchy model presented strong similarities with that of the French army (Poirson, 1993: 54).

The term 'cadre' denotes the dominating managerial class, and althoug h graduates from the university system may also establish themselves as cadres, they lack the status and authority of the graduates of the Grandes Écoles. The term 'cadre' differs from the Anglo-Saxon term 'manager' in that the latter focuses on the management of people whereas the former has a more strategic, planning role (Gordon, 1996).

http://www.mngt.waikato.ac.nz/ejrot/cmsconference/2005/proceedings/criticalresearch/Boussebaa.pdf

French management tends to
conform to Trompenaar's (1993) 'Eiffel Tower' model of corporate organisation, whereby French firms tend to be hierarchical, with a rigid, bureaucratic and well-defined division of labour imposed by the upper echelons of the hierarchy (see also Hofstede 1980). State dirigisme is reflected in management in that the latter is characterised by a centralisation of decision-making that is unquestioned, attaching great importance to the principle of the 'Unity of Command' (Fayol, 1970). Thus, French management is based on the principle of control with power concentrated at the top of the hierarchy (Lane, 1994; van der Klink and Mulder, 1995). Cadres are viewed as autocratic, directive. They see the firm as an elite school in which they are the most intelligent and subordinates, therefore, cannot conceivably have valid ideas. Cadres are, therefore, more possessive of their individual autonomy. Their reaction is: "I know my job; if I am controlled, this means they have no confidence in me" (Poirson, 1993). In contrast, British managers attach less importance to being authoritarian and hence have a more participative, democratic managerial style (Lane, 1989: ch. 4).

http://www.mngt.waikato.ac.nz/ejrot/cmsconference/2005/proceedings/criticalresearch/Boussebaa.pdf

Accor: Story of the merger of american and french company

Franck's book details many other experiences in addition to that of Rhone Poulenc. One of the
successes is that of Accor, the hotel chain. It initially got itself into a bad situation by offering the managers of Motel 6, the company it bought out, a handsome benefits package based on maintaining quarterly and yearly profits over a three-year period, by which time the managers on board at the time of acquisition would leave the company. Introducing a theme which runs throughout the book, Franck details this example of "moral hazard" : the American managers of Motel 6 immediately stopped managing in the interests of the shareholder and ran the company solely to increase short-term bottom-line profits to reward themselves with the highest possible bonuses. Capital investment came to a halt, preventive maintenance vanished, rooms were no longer redecorated. In fact, in many motels, the rooms were no longer even swept or cleaned. Regular clients began to prefer to sleep in their cars in the parking lot when faced with the alternative of a louse and rat-ridden room in a Motel 6 which had become known as a hang-out for drug-dealers.

When Accor realised what was happening they sent Georges Le Mener to turn the situation around. He had come to them after leaving vocational school with only a flimsy hotel management certificate. However he had later graduated with honors from the internal Accor training system, one of the best in France. As Guillaume Franck writes in his book, Le Mener arrived at Motel 6 knowing he had confidence in himself, but knowing precious little about the U.S. and even less about the American budget hotel market. He succeeded against all odds. In making a success of Motel 6, Le Mener handsomely paid back the training and confidence Accor senior management had vested in him. Without him Accor would never have made another acquisition in the U.S., but because of him they later purchased Red Roof Inns and they now have more than 10% of the budget hotel market in the U.S.

Accor brings its managers up through a tough corporate university just outside Paris in which the client is king. The company recruits its staff from outside the elite French management schools (les grandes écoles). Pechiney, on the other hand, used the old boy network to a maximum. Pechiney bought American Can in a famously corrupt deal and is a perfect example of all that can go wrong with the French management style. Le Mener bore more of a resemblance to the typical American manager than to any other French manager mentioned in the book. Many of the other French managers mentioned were incapable of functioning six thousand miles away from their "grande école" support networks and they had to be ignominiously repatriated, in a number of cases because their American subordinates
and colleagues perceived so much arrogance that they just couldn't work with them.

- Bharat Singh | rathorebharat

SD:Does Science and Spirituality Converge at 'c' (Speed of Light)?

More story to come later.

- Bharat Singh | Prashanth | rathorebharat

Thursday, November 23, 2006

HW: Remove a component or module from the chip hierarchy?

Any declaration of that component or module should be removed.
Any instantiation of them should be removed. All remaining holes
for the signals travelling should be highlighted.
This task is a bit tedious and complex as it needs to be done at
chip level.

Thanks n Regards,


-- Bharat Singh | rathorebharat

Wednesday, November 15, 2006

HW: Find finer points to verify this simplest protocol?

Ready comes within 4 clock cycles.
Should not miss more than 2 write enables.

Write 'e' transactions or tests for the same.
Write formal verification properties.
Write VHDL or VERILOG testcases.

- Bharat Singh | rathorebharat

HW: Device best solution for 32bit and 64bit restricted interface! (VHDL)

We have a entity or module which has input output interface
of 32bit wide word. This entity or module will instantiate a
memory of 64bit word. Now device best VHDL solution to feed and
receive this 64bit memory using this 32bit restricted interface.

What will be impact on the highest possible speed which this
64bit memory can possibly be used.

Analyze both the cases when input and ouput interface can be
inout or (only input and only output).

What logic needs to be added in between the interface
and the memory?

- Bharat Singh | rathorebharat

Where an SOC consumes power?

Accurate power-analysis techniques support smart SOC-design choices

Using Dynamic and Static Power Rail Analysis to Maximize Results with Minimum Effort

Sequense power aware SoC design flow

Power Islands: The Evolving Topology of SoC Power Management

- Bharat Singh | rathorebharat

Algorithms used by BIST? Marching? Others?

- Bharat Singh | rathorebharat

Tuesday, November 14, 2006

Best book for Beginners for VHDL Verilog and Sysnthsis under one Roof?

Douglas Smith (One of the best books) Golden reference

HDL Chip Design : A Practical guide for Designing, Synthesizing and
Simulating ASICs and FPGAs using VHDL or Verilog

by Douglas J. Smith
Publication date: June 1st 1996

http://www.amazon.com/Hdl-Chip-Design-Synthesizing-Simulating/dp/0965193
438

- Bharat Singh | rathorebharat

How to migrate from 'e' to SystemVerilog?

Synopsys Verification Avenue
http://www.synopsys.com/news/pubs/veritb/oct06/va_vol6_iss3_f6.pdf
Or
http://www.synopsys.com/cgi-bin/systemverilog/pdfr1.cgi?file=SystemVeril
og_for_e_Experts_Janick_Bergeron.pdf
Or
http://www.synopsys.com/links/va_oct06.html?BAC-va&Link=Oct06_Issue_SNPS
_Home_Pubs
Or
EE Times: SystemVerilog won't kill 'e,' say proponents
http://www.eetimes.com/showArticle.jhtml?articleID=174400218&printable=t
rue

- Bharat Singh | rathorebharat

What are HDFR in memories? Uses?

[HW] What is meant by scrabling in memories?

What are ring osillators? Their Common Uses?

Sunday, November 12, 2006

What are BFMs?

History: Reference: http://www.simpod.com/registered/powerpc-bfm.pdf
The BFM came into existence when FPGAs and ASICs started to interface to other chips for
which a complete, full-functional model was too complex or not available. Engineers realized
that the behavior of devices was less important and what really counts is what happens on the
pins of a chip. A bus functional model is a model that provides a task or procedural interface
to specify certain bus operations for a defined bus protocol. For microprocessors these
transactions usually take the form of read and write operations on the bus. Bus functional
models are easy to use and provide good performance. Unfortunately, BFM accuracy is only
as good as the engineer who wrote it and the data book used to write it. The challenge facing
new projects is where to get bus models and how to guarantee they are accurate.
New methods for model creation are needed that can provide all the benefits of the BFM
without the accuracy problems and the increasing model creation times. (Ref1)
The choice of what kinds of models to use for design verification depends on the skill set and
experience of the engineers involved. Many engineers prefer to write the tests in C and run them
on the target microprocessor. This results in a set of system diagnostics that can then be run on
the final product in the lab. Other engineers who are not familiar with C or assembly language
and do not want to understand how to initialize a microprocessor tend to use bus functional
models to verify system operation. Ease of use and good performance make bus models
attractive for testbench development for ASIC and board simulation. As bus protocols get more
and more complex new techniques for bus model creation and validation are required. One
solution to this problem is to use a hardware modeler to provide the functionality and features of a
bus model. Using a hardware model as a bus model provides the best accuracy, takes the least
time to develop, and has many other uses including full-functional models and HW/SW coverification.
Reference: http://www.simpod.com/registered/powerpc-bfm.pdf

"V) High Level Verification
Reference: http://www.deepchip.com/posts/bsnug00.html

e Reuse Methodology (eRM) Developer Manual
This really takes a very good example and explains the role of BFM is the verification evironment.
4 Typical eVC Architecture
4.1 Basic eVC Architecture
4.1.1 DUT and eVC
4.1.1 DUT and eVC
BFM
Bus Functional Model-- a unit instance that interacts with the DUT and both drives and samples the DUT signals.
Monitor
A unit instance that passively monitors (samples) the DUT signals and supplies interpretation of the monitored activity to the other components of the agent. Monitors can emit events when they notice interesting things happening in the DUT or on the DUT interface. They can also check for correct behavior or collect coverage.
In Figure 4-2, notice that the BFMs have bidirectional arrows to the DUT. This signifies the fact that they can both drive and sample DUT signals. Monitors have unidirectional arrows pointing from the DUT to them. This signifies that they can only sample data from the DUT. Monitors cannot drive DUT signals.

In the XSerial protocol, the XSerial eVC could have two agents-- an RX agent and a TX agent-- where the RX agent is significantly more simple than the TX agent. If the flow control mechanism involves a high level of interaction between the two directions, implement a single-agent eVC to model the flow control mechanism efficiently. The single agent covers both the TX and RX directions. The single agent contains all of the monitors, BFMs, and sequence drivers required for both directions.
4.1.1.1 Diagram Language
file:///opt/specman_5.1/components/sn/docs/online_help/wwhelp/wwhimpl/js/html/wwhelp.htm
5.1 Introduction to SequencesSequences let you define streams of data items sent to a DUT (or streams of actions performed on a DUT interface). You can also use sequences to generate static lists of data items with no connection to a DUT interface.
Sequence Driver
A unit that serves as the mediator between the sequences and the verification environment. The generated items are passed from the sequence to the sequence driver and the sequence driver acts upon them one by one, typically passing them to some kind of BFM (Bus Functional Model). Of course, the sequence driver can be rather empty and, instead of driving items into the DUT, simply place them on a list.
To complete the picture:
* A TCM does the actual driving of items into a specific DUT channel.
* The TCM resides in a BFM unit.
* For the purpose of driving data into the DUT, the sequence driver interacts only with the BFM.
The sequence driver and the BFM work as a pair, where the sequence driver serves as the interface upwards towards the sequences so that the sequences can always see a standard interface to the DUT. The BFM serves as the interface downwards to the DUT, letting you write sequences in any way you find appropriate.
At first, it might seem unnecessary to separate the sequence driver and the BFM. The importance of this separation becomes clear when implementing virtual sequences (see "Using Virtual Sequences").
The execution flow for generation of items and driving them into the DUT is as follows:
* The sequence driver launches the main TCM of a sequence (called body()), which in turn launches the main TCM of any subsequences. (See "Defining the Behavior of Sequences".)
* Sequences generate items on the fly (as part of the execution of their body() TCM).
* Each generated item is passed to the sequence driver, which in turn passes it to the BFM.
file:///opt/specman_5.1/components/sn/docs/online_help/wwhelp/wwhimpl/js/html/wwhelp.htm
Verilog examples of real BFMs.
http://www.gateslinger.com/chiphead/snug99_vbfm.pdf
BFM and reuse:
http://www.us.design-reuse.com/articles/article5164.html
Examples:
Course on web:
http://webcourse.cs.technion.ac.il/236605/Spring2006/
Exercises:
http://webcourse.cs.technion.ac.il/236605/Spring2006/hw/WCFiles/HW2.PDF
Books:
Misc:
Personal experience:

Difference between Testbench and Testcase?

History: Reference: http://www.eetimes.com/editorial/1995/hdlcolumn9504.html
More than one engineer has wondered where this silly word came from and why in the world anyone would use it to describe simulation control models. While the real origin of the term is lost, at least to us, the first we remember hearing it was back in the early days of VHDL when it was used by the original VHDL development team to refer to VHDL models that controlled the simulation of other VHDL models. To explain the word (and cement the analogy in the process) there was even a picture in a manual showing a work bench with waveform generator boxes driving the inputs to a "VHDL model" and oscilloscopes attached to the outputs.
Some may argue that in spite of the obvious analogy, it's still a silly word to use. We think the truth of the matter is that the word "testbench" has caught on for one simple reason: the lack of a better word. While "testbench" doesn't have any sex appeal, it also doesn't have any competition. Which slips off your tongue more easily: "simulation control model" or "testbench?" What other choices are there? And just to mark its acceptance into EDA jargon, let us point out that the word testbench has now broken the bonds of its VHDL heritage and has quietly slipped into the idiom of the Verilog world.
What's a testbench? In order to test the model of some design, a designer must apply test patterns to the input ports and observe the output ports over time to decide whether the inputs were transformed to the expected outputs. The model is generally referred to as the design under test (DUT). By testing, we mean verifying functional correctness, not finding manufacturing faults. The most common method used to accomplish this is to physically surround the DUT with a layer of code that performs the stimulus generation and output comparison (see Figure 1). This layer of code, known as a testbench, can be very simple or as complex as necessary for the application at hand.
Although testbench code has traditionally been coded using a simulator-specific simulation control language, we are going to recommend highly that the testbench be written using the same language as the DUT, whether VHDL or Verilog. The reason is simple: model transportability. These days, very few design models can be expected to spend their entire existence running on the same simulator. Sooner or later they are going to be sent across the street or across the country to some other group that uses a different simulator. If the testbench can't make the trip along with the DUT, a critical analysis capability has been totally lost.
Generally, the testbench is created as a new hierarchical level by defining a VHDL entity/architecture pair or a Verilog HDL module with no ports, one or more instances of the DUT and arbitrarily structured pieces of code to generate and apply test patterns and observe results. All of these code fragments are interconnected via signals. This new hierarchical level is frequently named (or referred to as) system, top, test, testbench, or environment.
The term "testbench" is somewhat generic in that it generally includes all the stimulus generation and output comparison applied to some DUT. Some unique set of input stimuli created to test a unique operation of the DUT is referred to as a test case, and one input vector from the test case is usually called a test pattern. A reference to a DUT's testbench is generally considered a reference to all the test patterns in all the test cases associated with that DUT.
Reference: http://www.eetimes.com/editorial/1995/hdlcolumn9504.html

Verification flow starts with understanding the specification of the chip/block under verification. Once the specification is understood, a test cases document is prepared, which documents all possible test cases. Once this document is done to a level where 70-80 percent functionality is covered, a testbench architecture document is prepared. In the past, this document was prepared first and the test cases one was prepared next. There is a drawback with this style: if test cases document shows a particular functionality to be verified and if testbench does not support it, as the architecture document was prepared before the test cases one. If we have a test cases document to refer to, then writing an architecture document becomes much easier, as we know for sure what is expected from the testbench.
Test Cases
Identify the test cases from the design specification: a simple task for simple cases. Normally requirement in test cases becomes a test case. Anything that specification mentions with "Can do", "will have" becomes a test case. Corner test cases normally take lot of thinking to be identified.
Testbench Architecture
Typical testbench architecture looks as shown below. The main blocks in a testbench are base object, transaction generator, driver, monitor, checker/scoreboard.
The block in red is the DUT, and boxes in orange are the testbench components. Coverage is a separate block which gets events from the input and output monitors. It is the same as the scoreboard, but does something more.
Referrence: http://www.asic-world.com/tidbits/typical_verification.html
Books:
Exercises/Examples:
http://www.asic-world.com/verilog/art_testbench_writing3.html
Misc:
Personal experience: ;(
Thanks n Regards,
-- Bharat

Minimun circuit Disk rotation (Jerome).

Hello Everyone,
This question was from Jerome sometime back.If I have a circular disk painted half in black and white. Now I have two sensor each one of them produces 1 and 0 when it is under (or detects) black and white region of the disk respectively. Now place the sensor anywhere under the disk and give me the smallest circuit (with Minimum digital components) to find if the disk is rotating clockwise or anticlockwise.PS: When sensor in under white region it produces output 0 and when it is under black it produces 1
Thanks n Regards,-- Bharat

Tuesday, July 25, 2006

Agile 2006: Another Perspective/Story

On a beautiful Friday morning when I drove to this Agile 2006 conference in extreme corner of Bangalore,I imagined beautiful Bangalore without those traffic problems. Here are my experiences for sharing:

An eye opener!
A wonderful story, that put forth a platform for many more stories!
A product development seminar : A story teller's way!
Reminds about Stefan Covey's habit "WIN WIN" & Cirle of Influence !
A paradigm shift in minds of people struggling to achieve common goal!
Hard to believe the statistics: Only 7% of the features are ALWAYS used by our customers !
Is the Agile story also true for the hardware products or any other products per se?
What is innovation and design? Can it be remembered as 1-2-3-4 !
A russian vodka in extreme cold and a french champagne when accompained with extremely beautiful!
Very Situational! :)
During the conference I was busy collecting as much as information and later decided to combine thebits and pieces to make a story which goes like this here.
Agile - The dictionary meaning!

Pronunciation: 'a-j&l, -"jIlFunction: adjectiveEtymology: Middle French, from Latin agilis, from agere to drive, act -- more at AGENT1 : marked by ready ability to move with quick easy grace2 : having a quick resourceful and adaptable character - ag·ile·ly /-j&(l)-lE, -"jI(l)-lE/ adverb

Let me introduce to you few people who had a high level of influnce on my thinking those 2 days:
Craig Larman [keynote speaker, cheerful, listening hindi songs, didn't had lyrics for them, speak tuti-fruity hindi]
http://www.craiglarman.com/Steve Messenger [keynote speaker, tall personality, old and experienced rum]
http://www.dsdm.org/Paul Hammant [very practical, can answer in yes and no and then explain, XP guy, die hard fan of agile ]
http://www.paulhammant.com/Henry Jacob [indian malai kofta wrapped in western name, innovation in mind, runs a blog]
http://www.henryjacob.com/

Here goes some of the stories talked about in the conference
Sitting in uncomfortable chairs?How many of us would still like to sit on our old uncomfortable chairs? NONE I believe !! Do we also
apply the same for the product we work on? I think YES. Our search to optimize the process, quality,
scope, budget continues endlessly. Bloodletting verses the mordern way of treating a diseased person! This indeed was the way of curing diseased people in medival times. They even had Level 1-4like today's CMMI levels :). None of us now believe in that anymore? This was possible withexistance of empirical evidences and a revolution in medical history. Are we still developing
product the old way? How is our interaction with our mordern customer influence their product?
Agile: iterative way !! What is Agile? (Later)!
Bloodletting was apopular medical practice from antiquity up to the late 19th century, involving
the withdrawal of often considerable quantities of blood from a patient in the hopeful belief that
this would cure or prevent a great many illnesses and diseases. http://en.wikipedia.org/wiki/Bloodletting Earth is not the centre of universe.Confirmed with empirical evidences. Acceptance to others also have to pass the samilar tests. http://en.wikipedia.org/wiki/Ptolemaic_systemPig and Chicken Story: How committed are you to customers?A chicken and a pig went for a walk around the farm. As they passed the farmers window they noticed awonderful breakfast prepared for the farmer and his wife sitting on the breakfast table. As they peekedcloser they noticed ham and eggs on the plates. The pig and chicken were silent for a moment as theytook in the impact of what they saw. Finally, looking at the eggs and prideful of her contribution, the chickensaid, "now that was a sacrifice!" The pig looked at the ham on the plate and finally turned to the chickenand said, "Yes, for you it is a sacrifice. But for us it is total commitment!"Story of stock market product design.Imagine designing a software for a stock market company. MyStocks section should show theonline customer stocks to SELL and BUY. A simple design. But when you peep into what bringsmoney for the company. It's the number of transaction of BUY and SELL done by customer.So how do you think a group of people working in MNC's would make those transaction duringthe working hours, fearing management might catch them doing?And how do the group of people most of the time away from computer can achieve this?That's when the solution for Alerts on computers and mobiles were designed. :)Indian Farmers: Innovation is to *speed up* few things.3 decades back it would take a week to plough a piece of land, whereas today it can be done in hours.Washing Machine: Innovation is to *eliminate* somethings.With automatic washing machine we eliminate the long involvement of people throughout the washingof clothes.Bringing the *WAH factor*.When did you see any product last time and felt like saying "WAH"? That's WAH factor.Story of Mouse.What do you think is the most significant innovation in computer. Will you believe it to be mouse?It is because that made it possible for computers to reach comman man. Circle of Innovation
Below figure shows the places the product visits during it's lifetime. It also relates to Circle of Influence by
Stevan Covey. Code has and can influence few people and the software has influence of many more
people. It is very interesting to know how it is going to influence life. Keeping that in mind quite early
is the key.
Interesting Book by Alan Cooper on how software products affect life: The Inmates Are Running the Asylum
: Why High Tech Products Drive Us Crazy and How To Restore The Sanity.

Fig. Copy from http://www.designdrivendevelopment.org/docs/D3Introduction.pdf
What is Gamda? (Not very sure about how it is spelled). How is it similar to situation during Surgery?
It is Japanese word for real place of work. There are no boundaries there. No cubicle walls. Very strange!! It could
only be possible when we work for a solution the way we play together. This open another perspective about
how the surgeries are done? No doctor examines/fixes patients in their cubicles.

Here are some of the buzzwords talked about in the conference.

Waterfall
Some of the later studies suggest the failure of this traditional method and demands more interaction with
customer. A ambassador from customer needs to be always in contact with development team.

The waterfall model is a software development model (a process for the creation of software) in which
development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis,
design, implementation, testing (validation), integration, and maintenance. The term was introduced in 1970 by
W. W. Royce; ironically, Royce himself advocated an iterative approach to software development. Royce
originally proposed what is now known as the waterfall model as an example of a system that he argued
"is risky and invites failure" http://en.wikipedia.org/wiki/Waterfall_model


Agile (The Revolution for developing product , Iterative way)
Most agile methods attempt to minimize risk by developing software in short timeboxes, called iterations,
which typically last one to four weeks. Each iteration is like a miniature software project of its own, and
includes all of the tasks necessary to release the mini-increment of new functionality: planning,
requirements analysis, design, coding, testing, and documentation. While an iteration may not add enough
functionality to warrant releasing the product, an agile software project intends to be capable of releasing
new software at the end of every iteration. At the end of each iteration, the team reevaluates project priorities.
Agile methods emphasize realtime communication, preferably face-to-face, over written documents. Most
agile teams are located in a bullpen and include all the people necessary to finish software. At a minimum,
this includes programmers and their "customers." (Customers are the people who define the product. They
may be product managers, business analysts, or actual customers.) The bullpen may also include testers,
interaction designers, technical writers, and managers. http://en.wikipedia.org/wiki/Agile_software_development

An iteration could be small as a day(s) or week(s).

Paradigm shift (Change is not accepted easily. What is paradigm shift?)
Paradigm shift is the term first used by Thomas Kuhn in his 1962 book The Structure of Scientific Revolutions
to describe the process and result of a change in basic assumptions within the ruling theory of science.
Don Tapscott was the first to use the term to describe information technology and business in his book of the
same title. It has since become widely applied to many other realms of human experience as well.
http://en.wikipedia.org/wiki/Paradigm_shift


Empirical Evidences What is it and why it is required to facilitate paradigm shift?
Empirical research is any research that bases its findings on direct or indirect observation as its test of reality.
Such research may also be conducted according to hypothetico-deductive procedures, such as those developed
from the work of R. A. Fisher. http://en.wikipedia.org/wiki/Empirical_research

Die or Retire
Resistant to change leave only two options behind "Die or Re t ire". What is your preference?

DSDM (Organisation and Philoshophy) Cousin of Agile methods.
The DSDM (Dynamic Systems Development Method) is a method that provides a framework for
Rapid Application Development (RAD), supported by its continuous user involvement in an
iterative development and incremental approach which is responsive to changing requirements, in order to
develop a system that meets the business needs on time and on budget. It is one of a number of Agile methods
for developing software and forms part of the Agile Alliance. http://en.wikipedia.org/wiki/DSDM

Fixed bid projects
Where the cost scope time of the project is fixed. Definitely not a WIN-WIN situation! Chicken and Pig story?

X-treme programming Do you think you can paint a picture of next generation office in first draft?
Way to work with the modern customers who can't paint the picture well in first draft.

Extreme Programming (XP) is a software engineering methodology for the development of software
projects. It prescribes a set of day-to-day practices for developers and managers; the practices are
meant to embody and encourage particular values. Proponents believe that the exercise of these practices,
which are software engineering best practices taken to "extreme" levels, leads to a development process
with the qualities prized by Agile Manifesto signatories. This makes Extreme Programming the most
prominent of several agile software development methodologies used to create software. Agile methodologies
prioritize adaptability to changing requirements over the project predictability valued by more traditional
methodologies. Some elements of the Extreme Programming methodology are controversial.
http://en.wikipedia.org/wiki/Extreme_programming

It is also four eye principle and also facilitate the high interaction and feedback and highly iterative
process. The customer needs to be handled as the buddy and vice-versa.

Refactoring Did you clean your paper rack today! You might not find where the nice note you kept
among pile of dirty papers.

Refactoring is the process of rewriting a computer program or other material to improve its structure or
readability, while explicitly keeping its meaning or behavior. http://en.wikipedia.org/wiki/Refactoring

Here are some of the research quoted in the conference.

Dr. Winston W Royce.
Gave first person to invent about the Waterfall model (but it was his personal view that time ).

Frederick P Brooks Jr.
Chairman Defence science board Task force on Military Software failure investigation 1987,
I found the later report of 2000 which says the same thing. Page 11 talks about iterative design and developement.
http://www.acq.osd.mil/dsb/reports/defensesoftware.pdf
The Mythical Man-Month: Essays on Software Engineering is a book on software project management
by Fred Brooks, whose central theme is that "Adding manpower to a late software project makes it later.
" This idea is known as Brooks' law, and is presented along with the second-system effect and advocacy
of prototyping. The work was first published in 1975, and republished as an anniversary edition in 1995
(ISBN 0201835959) with the essay No Silver Bullet and commentary by the author.

B Randell and FW Zurcher.
"Iterative Mulltilevel modeling a methodology for computer system design" - IEEE

Harlan Mills.

Johnson Usage of features by customers.
Never (45%), Always (7%), Often (13%), Sometimes (16%), Rarely (18%).
You need to have a ambassador user to tell you time to time verify the next generation office picture he is
keeping in his mind.

Mac Cormack

Standish (study on 23000 projects).
2 of 5 success factor were (Frequent user involvement, Smaller milestone). Both are Agile methodologies.
http://www.standishgroup.com/sample_research/PDFpages/chaos1999.pdf

Shine

Some of the books suggested in the conference and some links i found.

Agile and Iterative Development : A manager's guide.
Applying UML and Patterms
Freaknomics.
Funky Business.
http://www.standishgroup.com/sample_research/PDFpages/chaos1999.pdf
http://www.acq.osd.mil/dsb/reports/defensesoftware.pdf
http://www.cio.com/archive/070101/secret.html
The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How To Restore
The Sanity.

Games played during the conference to learn some techniques:

Xtreme Programming Game with Lego kits
Game of Innovation: http://henrydjacob.typepad.com/home/files/slides/D3DesignByGames.pdf
This paper is about the 1-2-3-4 steps for innovation.

WIN-WIN

Adopting Agile methods and working closing with our customers all the time build a WIN-WIN
situation. Mordern world customers are not very clear about the products they want. It is only
when there is something working and solving there problem their vision starts getting clearer . Now
these customers starts demanding more. Not their fault. Something has struck their mind.
Few things need to be removed from the product and many more need to be added as well.
How closely we work with our customer, can it be determined early enough?

Since this might leave you with another perspective about me or Agile.
You play Niel Bohr as kid. :) I play 9 - 2 -11 before you catch me. :))
Neil Bohr as kid
http://www.cyd.liu.se/~kamva881/blogs/musings/2005/01/height_of_a_skyscraper.html