Gray's Matter
Justice Gray - North America's favorite metrosexual software consultant
E-mail Justice
Subscribe to this feed
Subscribe to comments
Perennially Popular Posts
How to write a presentation abstract
My grandmother, globalization, and what's wrong with DateTime.Parse
A letter to my Worldvision sponsor child
Development Methodologies for the 21st Century
My grandmother & the difference between strong typing and weak typing
How I am becoming a better developer, part 1 of infinity
Facebook RSS Feeds: How to Write Your Own With C#
The Ten Keys To Happiness
My grandmother and the Global Assembly Cache (And Star Wars)
My grandmother and the difference between processes and threads
How to make a meeting request
Why you should never be an independent consultant
The DasBlog 1.9 AJAX Autosave True Story, Part 2
Other "metro" developers
Ben Scheirman
Bil Simser
D'Arcy Lussier
David Woods
Donald Belcham
Donald Jessop
George Clingerman
James Kovacs
Jason Hunt
Jason Row
Jean-Paul Boodhoo
Jeffrey Palermo
Joey deVilla
John Bristowe
Jonas Avellana
Kyle Baley
Mack Male
Martin Hinselwood
Michael McClenaghan
Mike Duncan
Mike Friesen
Mo Khan
Otyce
RoboSapient
Russell Ball
Scott Hanselman
Scott Reynolds
Steven Rockarts
Tech Embassy
Terry Thibodeau
Tom Opgenorth
Vladimir Levin
The Justice Gray Fan Club
Amazing Mrs. Loquacious
Dr. Teeth
Facedown
Janey Lynne
Maxime Lamy
Ridley Thunder
Stan Woo
Vanilla Con
Wobbly*Bits
I Wish These People Updated More Than Once a Year
Anand Narayan
Jeff Perrin
<< Introducing new people to your organization the Justice Gray way
An update on goals >>
New development methodologies for the 21st century
Scott Berkun
recently
listed off some new methodologies he discovered
and asked the community if they had witnessed any of their own. Now, I've seen all sorts of different practices out there, but to entertain you with my vast, near-omnipotent knowledge on the subject would take the entire width and breadth of the Internet. Thus, I've reduced the number I'm discussing in this post from
a million billion
down to only four. Read on for more details.
Resume Driven Development
You want to have an exciting career full of exciting accomplishments and nothing is more exciting than introducing exciting new technologies into a project! But what do you do when the new technology has no business justification or simply isn't the best solution for the problem as opposed to something less sexy? That's the beauty of Resume-Driven: in this methodology,
you don't care
! If you think XSLT is cool, how about using them to completely deliver HTML pages with static javascript inside? Sure it's a maintenance nightmare but with XSLT on *your* resume, what does it matter? You'll have left this project by the time it gets maintained anyway! Building a static web page for an a capella band? Why not use Microsoft Biztalk? With RDD your career is only limited by your imagination!
Cut and Paste Driven Development
Definitely the most efficient methodology you'll ever see! Combat Not Invented Here syndrome in the ultimate way and never write another line of code again! Don't waste your time with any sort of refactoring strategies when you can simply Shift-Del/Shift-Ins your way to coding glory! Why bother trying to get code reuse if you can simply copy a method here or there with a quick rename to get what you need? I was lucky enough to work with someone who used this methodology exclusively, and apparently had become a master at it over the course of a decade-long career. In fact, he had taken this to a whole new level where he would actually copy entire *projects* worth of code and do some quick renaming. An underappreciated genius, he was removed from the project after our team discovered his practices. The official reason was "ridiculous incompetence" but I believe the unofficial reason was "developer envy". What developer wouldn't be jealous when someone can blow the speed of their development away with only two or three keystrokes?
Meeting Driven Development
As anyone in a high management level knows, meetings are the one essential part of any development project. Nothing screams "skyrocketing productivity" than sitting in a 3 hour, 25 person meeting where your team listens to something entirely unrelated to their own work. The best part about MDD is that the meeting becomes the solution to *everything*. Bugs in testing? Let's have a meeting. Unit tests failing? Let's have a meeting. You think your time could be better spent practicing software development rather than sitting in a conference room for half of the day? Let's have a meeting about it!
[A warning - some people make the mistake of thinking that short, focused meetings (like 15 min standups) are adequate meetings for this methodology, and they most certainly are not. How can you even get anything done in a meeting where people are standing rather than sitting? Without a rambling meeting that spans hours and covers about 30 different topics at random, how you truly be sure you've covered *everything* that is important to a project, like your VP Development's opinion of the video he rented last weekend? Remember, if you have a problem, "the big meeting" is your solution. ]
Note: this is a close relative of checklist-driven development, where the solution to everything is to make a checklist. For best results, try to combine both of these together and ensure that the end result of every meeting is that a new checklist is created! Trust me when I say that design headaches or bugs in your application will soon be much less of a relative problem!
Masterpiece Driven Development
Here comes the architecture astronaut! No matter how simple the problem of "Hello World", it's nothing that several whiteboards full of object diagrams can't solve. Some of your team might say that you're over-architecting, but sternly remind them that you are on a quest for *elegance*! After all, the best architectures are never truly finished; they just get refactored again! And again! And potentially again.
A client will always forgive a project not hitting *any* of its delivery milestones if they know you've spent that time making the code infinitely flexible and pleasing to the eye. Trust me, when your key stakeholder gets enraged because your project is late and you don't have any sort of functioning user interface, just show them the code to your elegantly refactored and re-refactored database adapter class and tell them that's what you've spent the last 2 months working on! I guarantee you the client will be reduced to tears - tears because your code is just that beautiful.
Are there any other ones I'm forgetting here?
Friday, June 22, 2007
Comments [6]
Technical
|
6/22/2007 7:48:54 AM (Mountain Daylight Time, UTC-06:00)
"Are there any other ones I'm forgetting here?"
I've been getting pretty heavily into "Awesomeness Oriented Programming" (otherwise known as the *real* AOP). The major premise around this revolutionary development technique is that all code that is "awesome" is sacred and should be relished as such. Any code that is not awesome should be made to be awesome. Simple, effective, awesome.
Jeff Perrin
6/22/2007 8:23:17 AM (Mountain Daylight Time, UTC-06:00)
I practice this at work all the time - I just use "awesome" to account for any code I write or touch. How can anyone argue with that stream of development thought?
Justice~1
6/22/2007 8:38:09 AM (Mountain Daylight Time, UTC-06:00)
My company has been known to vacillate between the stolid and time-honored:
ADDD (Arbitrary Deadline Driven Development)
and the also popular:
CRDD (Contradictory Requirements Driven Development)
While both are about equally successful, ADDD clearly has more Ds in it.
Self-aggrandizing obligatory link to my pithy yet illuminating DDD post :
http://www.mikeduncan.com/domain-driven-design-explained/
Mike Duncan
|
mduncanAT NOSPAMgmail dot com
6/22/2007 11:52:07 AM (Mountain Daylight Time, UTC-06:00)
3D - Delegation Driven Development
Why do the work yourself when you can delegate it? Also, who says its a problem with the code? I'm sure it is just biztalk acting up again! Better get Justice to look at that biztalk there!
Alex
6/22/2007 1:51:24 PM (Mountain Daylight Time, UTC-06:00)
I guess it could also be called Blame Driven Development
Alex
6/24/2007 7:54:17 AM (Mountain Daylight Time, UTC-06:00)
LOL...I actually worked somewhere where all their websites were generated using XSLT...classic...
How about "Assumption Driven Development", where its "assumed" a new application block from Microsoft will fit a need for a project, and the project is sold on that fact...only to discover that no, the block really doesn't do what they thought.
It's a great way to swallow labor costs that you'll never recoup and destroy morale.
D
D'Arcy from Winnipeg
|
darcy dot lussierAT NOSPAMgmail dot com
Name
E-mail
Home page
Remember Me
Comment (HTML not allowed)
Enter the code shown (prevents robots):
Justice Gray
: a seething cauldron of rampaging masculinity. A fighter! A brother! Your
secret lover
! He's also a software development consultant and the Vice President of the
Edmonton .NET user group
. He also greatly enjoys speaking about himself in the 3rd person.
Gray's Matter Archives
Recent Posts
Controversy clarifications!
The most controversial interview of ALL TIME
Finally! The *winner* of the "What Justice Gray Means to Me" contest
The mystery of D'Arcy Lussier's ASP.NET MVP is solved...
Well, now that's pretty horrifying
MVPs on MVC: "No, we don't have any idea either"
Why I am happy to not be at the MVP Summit
Donald Belcham's cry for help: MS MVPs, your attention is needed
ALT.NET Pursefighting revealed
Test, please ignore!
Change yourself, change the world: a great week 4
Post Categories
BookReviews
Conferences
DasBlog
EDMUG
Goals
HanselmanQuestions
HotDeveloperCorner
ILiveToInform
Leadership
Mac
OtherGrayAreas
Personal
Productivity
Ruby
Suresh
Technical
Transformers
Vancouver
Wii
<
July 2008
>
Sun
Mon
Tue
Wed
Thu
Fri
Sat
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
Sign In