IT Employment

My Ideal Software Project


I have been kicking around some of my experiences with software projects that just did not fly lately. Sure, they may have worked (eventually, maybe) at a technical level, but they seemed to not go anywhere in reality. I have been thinking about why they failed, or were not as successful as they could have been, and in most cases, the flaw was obvious to the people working on the project. So, what would my ideal, real world friendly project look like? Applying the magic formulas of Six Sigma actually helps here, and that formula boils down to “remove as many potential points of failure as possible.

About

Justin James is the Lead Architect for Conigent.

22 comments
tcoulter8
tcoulter8

Hi Justin- Liked your recent blog on the perfect software project. I've just completed the reference architecture for a comprehensive Information Classification and Management platform for unstructured data. I'm looking for a Software Architect preferrably in Chicago. Do you have recommendations or suggestions? Thank you.

onbliss
onbliss

For some reason I see a disconnect between the title and the content of the blog. Can't place my finger. Don't ask me what it is though :-)

onbliss
onbliss

I was an Altavista user before I switched to Google. Hmmm... I don't anymore remember how I searched the Internet pre-Google days. Altavista has become google-like, but still the google UI is simple.

Justin James
Justin James

I would love to read some examples of projects (fake or real!) that meet these specs! J.Ja

Justin James
Justin James

Unfortunately, I do not know anyone in the Chicago area, but someone else on here might! Glad you liked the article! J.Ja

Justin James
Justin James

... I get on tangents sometimes, the blog did not end up quite as I thought it would when I initially set out to write it... J.Ja

Justin James
Justin James

... were a simple UI focused purely on search, and better results. For the last few years, Google's search results have decline significantly in quality, and the UI is not as big of a factor since you can use a toolbar from any other engine to easily search too. Nonetheless, Google does have a critical mass, and they are still no worse (and stilla bit better) than their competition, so they still rule the pack. Since they kept the interface clean, you still can't beat 'em on that, so it is really down to results... and everyone stinks right now, just that Google is marginally less stinky. J.Ja

tcoulter8
tcoulter8

Hello Justin- I'm talking about building a platform for managing the information lifecycle of unstructured data - billions of files for a single enterprise in order to address federal compliance, e-discovery, data privacy, and risk mitigation initiatives. All of the components I listed in the previous message already exist and don't need to be built from scratch - just embedded or integrated into a BPMS for instance. Thanks for your time. I'll find an Archtitect to discuss this project with here locally. Best regards.

Stuart R
Stuart R

Reading this article I immediately thought of a company that takes this development methodology very seriously, and also applies it to many other business areas - 37 Signals (www.37signals.com). I don't work for these guys, but do use a couple of their tools, and love the results. Simple, fast to learn, fast to use. They really are the masters of only supplying features that are needed, and resisting any pressure to add more until enough customers actually ask for them.

Tony Hopkinson
Tony Hopkinson

Certainly your choice of ideals is pretty close to mine and I'm hoping to have enough input to get an ideal project particularly loosely couple everything and using meta data for configuartion and control. Big blank piece of paper at the moment, product management overview of a new app they think will sell, and a wish list on the part of development in terms of a sense of how it should be approached.

tcoulter8
tcoulter8

Hi James- Thanks for responding. One question: Do you have any suggestions about how to locate a Software Architect in Chicago? Trade associations? On-line forums? I estimate this project will cost $2MM with some overseas developement resources. It involves a real-time classification engine, semantic search engine, BRE, and file transformation capabilities. Lots of moving parts. Please let me know if you have any suggestions. Thank you for your consideration. Best, Tim

adornoe
adornoe

Though the Google interface and that of most other search engines are simple, they don't always get you what you're looking up. The results may contain the item that you seek, but that's where the initial interface disappears and you're on your own again to search amongst the sometimes thousands or millions or returned items. The initial interface is neat and simple, but the results are intimidating and oftentimes useless. A better interface could go deeper into more initial selections or entries from the user regarding what it is that he or she seeks. Such as a date or date range to limit the number of returned results. Then, if the item being sought is a published article, the publisher and/or author might be very useful for narrowing down the results even further. Even beyond that, the user could be asked to select from a list of most popular subjects. Above all that, perhaps a category list with subcategories could be presented for the user to select. An initial simple interface that oftentimes results in more work later is not very useful.

Justin James
Justin James

That one is a tall order... bringing structure to unstructured documents. How well is that coming along? I would love to hear more about it! J.Ja

Justin James
Justin James

... is indeed an excellent company! While I do not use any of their products, I do see the quality of them. I have always liked seeing that they keep their scope of functionality very tight, and as a result, the applications are simple to use and work right. Why code & debug 100 features when the user only cares about 10? J.Ja

Justin James
Justin James

At the new job, we are getting through the tail end of the initial release (not done to my specs), and I have been worrking on the second release, hopefully to my specs. A lot of it depends on how much of the existing code base they are willing to jettison ("they" being the business folks on the one hand, and our developers on the other hand). On the plus side, I have the initial release to guide me in terms of the business requirements, since I am working closely with the business people on where it meets and misses expectations. The most important parrt for me right now is to get the statement of work in order and the design documents in order. We are using third party, offshore developers presently, so the more abstract the documents that we sign off on (and the initial release had very abstract documents), the less constrol we have over the development efforts. I am working on getting it from the "this is the kind of app we want, figure it out and code it" that we did initially to "here is the pseudocode, turn it into real code and test it please". I also have a "Fantasy Project" in my mind that of course meets my specs. One day I will actually do one of my "Fantasy Projects", if I can find the time and motivation. J.Ja

Justin James
Justin James

For a project of that size, you definitely want a good architect. Trade shows, industry conventions, etc. are a good starrt. You will definitely want to do the "meet and greet" and romance the right person, instead of just hiring someone you dug up on Monster. Asking people you respect to refer you to one is a good start too. You might want to check http://jobs.joelonsoftware.com/ as well, thzt is a good place to look for work. Prepare to pay a lot, too. A good architect has built in ROI. A properly architected program is easierr and cheaper to maintain, has less bugs, and is more likely to meet specs. For a project of that size, it pays to pay for the best. J.Ja

Justin James
Justin James

I just get page after page of search engine bait. Mailing list archives, typically the same mailing list (Google never seems to notice how it is all identical). Always seems to be loaded with "Ads by Gooooooooogle". This is why Google is no longer my default search engine. MSN and Yahoo! may give me crummy results a lot of the time, but their crummy results do not seem weighted to their partners, outside of the clearrly marked sponsored results. Indeed, for the paid marketing campaigns I manage, we had to take down the AdSense part of it, because we were blowing out the budget with a billion sites, all of which were clearly click fraud. The response rate on clicks (measure by clicks that resulted in a contact effort from a user) were much higher for the sponsored results (Google as well as its competitors) than the AdSense ads' clicks. Even more disturbing, the vast majority of the AdSense clicks were from foreign countries, and the web sites running the ads were from foreign countries. The company needs to advertise globally, so we could not just restrict the ads to US based sites. Our guesstimates were that well over 50% of the clicks through the Google affiliated sites were fraud, plain and simple. Google has lost my trust since they went public. Everything they do is geared towards driving clicks to their ads, from turning a blind eye to fraudulent sites, to compiling databases of what GMail users' email is "about" to letting their search results get filled with garbage that generates clicks. Ugh. J.Ja

onbliss
onbliss

...Advanced Search of Google. Most of the time, I get what I need in the very first few pages.

Justin James
Justin James

You are absolutely right; search engines,even Google, have miserable interfaces for advanced search. Advanced features are where things fall apart, they are never powerful enough for the power users, or easy enough to use without becoming a power user. Microsoft Access is the desktop application version of this. It is far too hard for most folks to use which is why you see people doing in Excel what should be done in a desktop database application. But it is too "automagically easy" To actually be of any use to anyone who has ever written a SQL statement on their own. Finding a balance for any kind of "power user" feature is a balancing act that very few get right. You are also riught that the only way to get meaningful results from Google (or any other search engine) is to use the advanced search. It is a shame that this is wherre things have ended up. J.Ja

adornoe
adornoe

It's true that the advanced search offers the user a means to target a more meaningful and less intimidating set of results. But, the Advanced Search is not very user friendly and doesn't offer the features that I suggested. I would venture to say that in most instances, once a regular user encounters that page that he/she will drop the idea about using it and they revert back to the simple search interface.

onbliss
onbliss

Doesn't the Advanced Search page/feature gives some of the features you are looking for?

tcoulter8
tcoulter8

Hi Justin- You hit the nail on the head with your comment about bringing "structure to unstructured data". That's exactly my enterprise software vision. I have the reference architecture designed and am now looking for a Software Architect in Chicago who can assist me in developing this comprehensive e-records management platform. Best, Tim

Editor's Picks