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
Good point about the demo, I rarely work in an environment where demos are necessary anymore, so I didn't think about it.
My first demo to the client would be balsamiq mockups with no code. Feedback very soon.
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
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.
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.
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
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.
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.
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