Ayende @ Rahien

Hi!
My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:

ayende@ayende.com

+972 52-548-6969

, @ Q c

Posts: 08 | Comments: 18

filter by tags archive

Answering YAGNI commentary

time to read 3 min | 523 words

My post about applying YAGNI in Impleo has gotten a lot of comments, and instead of answering them one at a time, I think it would be useful to just have a post answering all of them together.

Ryan Riley: I suppose I'm still wondering, how did WebForms appear as a result of YAGNI? I realize that's the original ASP.NET platform, but MVC seems simpler to me, and even simpler would be starting with HTML, CSS, and JavaScript (or, heaven forbid, classic ASP) with some AJAX.

Ryan, it is quite simple. It is all about friction, using HTML, CSS & Javascript would have added more friction initially than the webforms solution.

Torkel: Any plans to open source it?

Highly unlikely.

Andrew: I know we all hate Web Forms, yada yada yada, but if you need to just setup a few pages, it's dead easy and much faster than MVC, a WCF service or any other method to deliver content.  Hence why it makes perfect sense in this "I'm using YAGNI to the letter of the law" experiment.
But the reality is, you rarely have a project where you can work in this pure YAGNI way, since there almost always is requirements such as make it testible, make it easy to maintain, make it SOE friendly, etc. so working in ASP.NET Webforms a poor choice for the job.  But there does come a time where a project is "All we need is one page that shows data in a grid", it can be done in literally 10 minutes with a WebForm.

I agree, except that there is an additional thing that I want to bring to the table. The most important thing for me in most of my apps is the first customer demo. That is important for a host of reasons, but most importantly, because it make a product real. Building fancy architecture and buzzward compliant development is usually in the way of that. The first customer demo is simple, stupid and should be out as soon as possible.

Dmitriy Nagirnyak:  

Your own website framework?
Hmm.
What are the reason for starting it from scratch if there are some of them already available?
- Exercise?
- Lack of extensibility?
- Wrong architecture?
- "Just want my own" thing?
- others?

Quite simple, I wanted something that would work the way I need it to work. Anything that adds friction to the process is not acceptable. I am willing to build my own thing to get a friction free process.

Richard Dingwall: Article starts with YAGNI and ends up writing a whole new CMS from scratch! Ayende!!

See previous reply.


Comments

Andrew

Good point about the demo, I rarely work in an environment where demos are necessary anymore, so I didn't think about it.

Paul cowan

My first demo to the client would be balsamiq mockups with no code. Feedback very soon.

Set
Set

The problem with such demo is that managers think the product is there so they wouldn't understand why it'd take so long to ship the final one.

If it's done with balsamiq, they wouldn't get why it took so long to release such...bah~~

Just random whines

Frank Quednau

Funny...a few weeks ago I also decided to kick off my own CMS, for similar reasons. That source code is available though, at my github. Seems to be that time of the year.

Andrew

I love Balsamiq, but it all depends who the intended audience is. A more functional demo is sometimes what customers want. We often forget that the person making a lot of decisions is not always that tech savy.

Dmitriy Nagirnyak

Oren,

"I am willing to build my own thing to get a friction free process."

Why do you think that building your own CMS will be much less friction free?

Any "statistics"/analysis behind that or it is a gut feeling, or maybe lessons learned and experience?

On the other hand I agree that most of the CMS-s are too bloated, painful to use and maintain.

In such cases I just think about creating custom web application which gives a lot of benefits if you are technical enough (sure enough we all are).

The issue with it is that end-users won't be able to contribute the way you would expect.

But for me the biggest issues with CMS-s are editing and publishing :)

dnagir.blogspot.com/.../...tpublishing-system.html

Ayende Rahien

Dmitriy,

This is something that I need to do for myself, as such, I am the best judge. I updated 3 different sites today, and the process has been wonderfully painless.

I know what the best way to create content is, for me. And so far, it has been working great.

Ryan Riley

Okay, I have a bit of backup now (or so I think): jeffreypalermo.com/.../#

That's what I meant. I realize it's my opinion, and we obviously differ, but <yodaWebForms, simple it is not.

Ryan Riley

By the way, thanks for answering the questions above. I wish more bloggers would take the time to carefully consider and respond as you have.

cheers!

Comment preview

Comments have been closed on this topic.

FUTURE POSTS

  1. Concurrent max value - 3 hours from now
  2. Production postmortem: The case of the memory eater and high load - 3 days from now
  3. Production postmortem: The case of the lying configuration file - 4 days from now
  4. Production postmortem: The industry at large - 5 days from now
  5. The insidious cost of allocations - 6 days from now

And 5 more posts are pending...

There are posts all the way to Sep 10, 2015

RECENT SERIES

  1. Find the bug (5):
    20 Apr 2011 - Why do I get a Null Reference Exception?
  2. Production postmortem (10):
    14 Aug 2015 - The case of the man in the middle
  3. What is new in RavenDB 3.5 (7):
    12 Aug 2015 - Monitoring support
  4. Career planning (6):
    24 Jul 2015 - The immortal choices aren't
View all series

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats