Fail Fast, Fail Early, Fail Simple

Nupur Patny
Design with code
Published in
3 min readAug 5, 2018

On a Wednesday afternoon, our class was flooded with inspectors of design — our peers and faculty of Srishti. We showed them our wizard of oz evaluation that let a real user experience what our product would do rather than just explaining it and leaving it to imagination. They then reviewed, critiqued and gave valuable feedback on our concept briefs so that we, in the words of David Kelly,

“Fail faster and succeed Sooner”

This evaluation happened at the best time as we could incorporate early feedbacks and revise our design at the concept stage itself. Any changes towards the end of the design stage would be radical restructuring with more speculation and rework.

Hello world!

Wikipedia definition of Python programming language is as followed :

“Python is a general-purpose high level programming language. Its design philosophy emphasises code readability.”

Learning the jargon and basic commands of Python was the first activity in programming that kicked off this week. We learnt — Editing paths, working with Random library and the different Data-structures and also ran into obstacles multiple times when trying to run the script. However, the errors did not prompt a panic reaction but helped resolve the mistake in the script. By the second day, I was able to understand what the script did, just not how it did it as Python is an ‘interpreted language’. In most cases, knowing the “how” is more important than the “what”. Hence, I began taking each command and tackling it line by line. The Code Academy course was especially helpful to aid my understanding. Of course, typing away on Code Academy and comprehending one script does not cover the large abstract language that is Python.

After talking through the script and discussing some of my misunderstandings and misconceptions about Python scripts, I began to understand how powerful Python scripts can be and how important it is to observe patterns in code. The possibilities that came to mind made me excited for what’s to come.

Prototyping

Each product goes through various stages of iteration and building, until it’s finally pushed for production. At each stage, it becomes important to evaluate whether the product is achieving the set goal and solving the problem of the users. A quick, working prototype is used to test our hypothesis with the users in order to understand their needs and difficulties, collect feedback, make necessary changes and iterate the process and come up with more refined but multiple ideas. It is easier to make changes to the design at an initial stage rather than when the product is near ready. Thus, it saves effort, cost and helps move the design forward, in the right direction.

I have always thought the we usually ask questions and then build prototypes. Scott Klemmer in his video of ‘Power of Prototyping’ emphasised on the fact that “Prototypes are questions”. Nobel Laureate Linus Pauling says that the best way to have a good idea is to have lots of ideas. Tons of questions will crop up and we need to answer all of them until there is a clear end point.

Thus we should design through prototyping.

Citation –

UKEssays. November 2013. The Python Programming Language Computer Science Essay. [online]. Available from: https://www.ukessays.com/essays/computer-science/the-python-programming-language-computer-science-essay.php?vref=1 [Accessed 5 August 2018].

Klemmer, S. (n.d.). The Power of Prototyping. [video] Available at: https://www.coursera.org/lecture/human-computer-interaction/the-power-of-prototyping-25EPu [Accessed 5 Aug. 2018].

--

--