Ayende @ Rahien

It's a girl

Answering YAGNI commentary

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
11/09/2009 09:52 PM by
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
11/10/2009 05:58 AM by
Paul cowan

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

Set
11/10/2009 07:05 AM by
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
11/10/2009 09:59 AM by
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
11/10/2009 05:03 PM by
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
11/10/2009 11:13 PM by
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
11/11/2009 12:21 AM by
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
11/11/2009 05:33 PM by
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
11/12/2009 03:45 PM by
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!

Comments have been closed on this topic.