We're coming up on the deadline for our first Software Development Life Cycle Challenge, the Pitch Video Challenge, so I thought I'd take a moment to explain what we're trying to do, and tell you
you should participate in the Challenges.
Professional software development doesn't begin when you start typing code. It's a long process that involves many steps to decide not just
to implement, but also
to implement, and even
to implement it. The path developers follow to go from a brilliant idea to a product in the market is a long and often circuitous one, and it’s easy to get lost along the way, take a wrong turn, and spend months building a prototype only to throw it away. I’ve been there, I’ve watched multiple years of development and design get thrown out, and I’ve wished then that we had a better roadmap.
The goal of the Software Development Life Cycle Challenges is to
get you that roadmap
Let me repeat that again, because it’s important:
The Software Development Life Cycle Challenges are for
benefit. They’re meant to help
We can’t guarantee that competing in each of them will win you a spot at the World Finals, but we can tell you that last year’s World Champion team,
, competed in two of the three, and placed highly in both.
I’ll talk about each of the SDLC Challenges in more detail, but the big picture is that if you compete in the Challenges, you’ll end up with a better and more polished final project. They’re not really meant to be separate competitions from your main project that you’re planning to submit to your National Finals; they’re guideposts along the way, meant to refine and enhance that final project. We believe that they represent work you
should be doing anyway
; we’re just asking to see it early.
Oh, and we’re offering you a chance at winning
for doing so.
Got your interest?
Pitch Video Challenge
This is the simplest of the Challenges. Just sit down with a camera and your team, and tell us about yourselves and your project. Pretend we’re investors – in a way, we kind of are – and explain to us why we should invest in your team. Make us understand your goal, and then get us excited about what you’re building.
So why should you participate in the Pitch Video Challenge? The truth is, when you make it to the World Finals, you’re going to get two chances to impress the judges. The judges will get to use your project, try it out, take it for a test drive – but before that, before the project gets to speak for itself, you’re going to make a presentation.
The judges’ first impressions of you and your project are going to be based on a ten-minute live presentation before an audience. You’re going to stand there and talk about your idea, about your team, and about your project. Sound familiar?
The presentation is a
step in the World Finals. It can make or break your performance. Last year, we had teams come within a
of each other in the final scoring of the top three in each category. With competition this fierce, you can’t afford to go into the presentation period with anything less than perfection.
This Challenge is here to help. You need to get your pitch ready
. You’ll be making that pitch over and over again, both during the competitions and afterwards, when you take your project to market.
Project Blueprint Challenge
This Challenge asks for documents that describe your plan in a lot more detail than the pitch. In a lot of ways this Challenge is easier than the Pitch Video Challenge; everyone can write a ten page document, where not everyone can make a compelling pitch in front of a camera. This is your chance to let your great idea speak for itself, on paper.
So why do this Challenge? It’s a hard and bitter truth that when you write a lot of code, you’re also going to throw out a lot of code. You’re going to go down the wrong path, try the wrong solution, even build and then discard an entire app, in the worst case.
In the real world, you’ve got deadlines and deliverables, and that’s just as true in the Imagine Cup. Between now and the end of the National Finals period, you’ve got only about 190 days to work on your project. That’s really not that long, and you can’t afford to waste any of that time.
Another truth about software development: it’s easier to revise your concept on paper than it is in code. You might go back and forth about a particular feature, but once that feature is coded, you’re going to be reluctant to change it too much. There’s a kind of inertia to finished code; if the feature
, you think, why change it?
The Project Blueprint Challenge exists to let you make those mistakes, go down those wrong paths, try those wrong solutions,
committing them to code. You write it all down, and then you see where your plans are unclear, or not sufficiently developed, or downright crazy. Then you revise, and reconsider, and polish your blueprint.
When you finally do write the code, you’ll still end up making mistakes and backtracking, but with a Blueprint document you’ll at least know what the destination looks like. You’ll know where you’re going. And even after the Blueprint Challenge ends, you will continue to return to that document, revising and refreshing it to match your latest ideas and inspirations.
The Blueprint is the ‘roadmap’ we’re talking about when we describe the SDLC Challenges as helping you to build a ‘roadmap’ for your project. It’s the essential component that every project needs to ensure success.
User Experience Challenge
In the ancient times when I was learning my way around my school’s computers, we had no real user interface to speak of. If you were lucky enough to have an account on a UNIX system, you could read the man pages, but for those of us condemned to use VMS, we were lost in a wilderness of strange command line instructions and baffling editors.
Modern software is a consumer product, and the cryptic and arcane interfaces we used to use are no longer acceptable. If the user can’t figure out how to make your software work, they won’t be a user for very long. With the marketplace saturated with alternatives to your project, you have to work hard just to capture the user’s interest, and once you’ve captured it you can’t afford to lose it.
It’s easy to get so wrapped up in the code that you stop thinking about how the end product will look and feel to a customer. You’ve written a great algorithm that’s fast and elegant, but how will the user see that algorithm’s results? How do you translate your great code into a great experience for someone who doesn’t know the first thing about algorithms?
At the World Finals, you’re going to be talking to some judges who are highly technical, who will understand why your code is cool, and why what you’re doing on the backend is so amazing. But you’re also going to be talking to judges who aren’t technical, who are representative of your end users. You’re going to have just
with each of them, hands-on with your project. How much of that time can you afford to spend, explaining how your user interface works? Do you want the judges to be thinking about your menus and your options panels, or do you want them thinking about the heart of your project, the great idea that got you started?
That’s where the User Experience Challenge comes in. You can’t leave UX to the last minute. You can’t throw together a quick-and-dirty menu and declare it ‘good enough’. The UX is
the only thing the judges will see
. If it’s bad, or rushed, or broken, it doesn’t matter how good the rest of the project is. They’re going to look at that bad, rushed, broken UI and
score you based on that experience
It’s a bit tougher than the previous two challenges. We’re asking for some fairly detailed documentation about the user’s path through your software. We’re asking you to get some polished, final-release quality art together, and we’re asking you to make graphic design and layout decisions that might be outside your comfort zone.
But in the end, when you’re talking to the judge for those 15 precious minutes, every bit of effort you spent on the user experience will pay for itself tenfold.
What I’d like for you to take away from this post is simple: The SDLC Challenges are not just competitions. They’re tools to help you succeed. They’re not separate from your project; they’re an integral part of your project.
Of course, they’re optional. You can submit your final project to your National Final or the Online Final without ever doing a single minute of video, or a single page of blueprint.