Having been in and around software design for far longer than I care to
admit, here is some of what I have "learned" over the years about
software design projects. Almost all
of the successful marketable software design projects I have been
involved in and observed over the years seem to have a few traits in
common that tend to lead to their success.
I also apologize in
advance to the board that the main points in this post aren't really
ruby related at all and should probably be moved to a different board
more centered around the business aspects of software design.
off, at the very beginning of the project there are at least three key
roles that should be filled before the software design should seriously
begin. However don't let me or anyone
discourage you from trying. Be sure and read the last paragraph about
what I think you should be focusing on in these early stages. In
any case, it will be a great learning experience for you! The three
key roles before the software design project really begins are the
marketing role, the legal role, and the finance role.
marketing role needs to decide if there will be demand for the software
that you are going to produce, when will you produce it and identifying
which customers appear willing to pay good money for it. Who are the
competitors? Is your product a clone+ of something else? How will you
productize it, package it, promote it, etc. If there is a real demand
for your product there should be a company that will help sponsor its
development or at least help you alpha and beta test.
role involves walking the mine field of software design legalities
regarding reuse of other's ideas/codes/tools, etc. so that you don't
get close to market only to find out that others, perhaps even one of
your competitors, has deeper legal pockets than you and may even try to
tie you up on legalities that may have escaped your attention while you
burn off your cash in court.
The last role is the finance role.
In order to quickly move an idea and a viable product to market
generally will require some capital. All of your own time spent on this
project is time that isn't available for other endeavors. And as
others on this board have already suggested, it will be incredibly
challenging for one person to fill all of the key roles involved in a
project of this nature.
In the good old days 10-15 years ago,
here in the States anyway, before the dotcom bubble burst practically
anyone with a good idea could put together a team and venture
capitalists/angel investors would fall all
over themselves to fund it. Such is not the case anymore!
last paragraph: Whenever I find myself going in circles, I generally
take a long hard look at my project's scope. I would suggest that you
should simplify your current plan's scope to not include any of the
business aspects yet regarding a new proposed software solution or any
proposed enhancements to their current system but should totally focus first on developing a software prototype
using currently available tools to accurately model those aspects of
the current environment of an educational system that are of interest to
you. Only after you have successfully modeled the current
environment as you now know it should you begin to look at ways to
enhance it. In many software systems that have been in the field for a
while, things tend to work the way they do(trade-offs) because of an
meet some customer marketing need.
With this down-sized scope,
this will still be a great technical learning endeavor for you to
experience developing a real-life software prototype. This will also
be very useful for you to evaluate the software model's complexity, to
test your own understanding of the environment, to evaluate the software
tools available today and their capabilities, etc. etc..
in my opinion anyway, successfully writing fundable, fully
maintainable secure marketable legal software generally will typically
require the expertise of some marketing, legal, finance, and software
design professionals that have already been there and done that.
--- On Mon, 2/7/11, Hilary Bailey <***@gmail.com> wrote:
From: Hilary Bailey <***@gmail.com>
Subject: Re: Totally lost in learning Ruby
To: "ruby-talk ML" <firstname.lastname@example.org>
Date: Monday, February 7, 2011, 6:16 PM
Based on the responses I have been receiving, I will greatly appreciate
any comment on how to move forward from this point. Thanks in advance to
all respondents whom have been soooooo kind and patient.
What I want to create is a database that can measure the performance of
all entities in a school district. The closest software that exhibits
some semblance is that of Microsoft Access. Where, as I understand it,
the input entry of a single data can be housed and then derived, through
a set of queries, then further analyzed through/by Microsoft Solver
The difference with my proposal would be that based on selected
indicators [which will be dynamically influenced by changed event(s) and
policy(ies], which would be able to measure success. I have been exposed
to a statistical software named SPSS and having worked as an economist,
has influenced my outlook on creating an approach/database/software
which would indicate in real time, measured results.
As you can tell, there is an element of nervousness regarding saying
too much. But on the other hand, if not much is said, not much help can
be given. So it's a "catch 24", where since the last 20 years I have
been improving on a systems that would be able to measure defined
academic output, vis-a-vis, financial constraints etc..
Mike Stephens recommended Mendix as a possible solution to my woes. Do
you know of such arena?
Therefore, I figured that, doing it all by myself may be the best
solution. However, some of my concerns are: "Why reinvent the wheel?',
How can I create a sustainable system that does not compromise quality?,
What curriculum structure should I follow that will meet my needs
without, straying from my goals?
Therefore, this is my dilemma, which seems to be going in circles. Any
Posted via http://www.ruby-forum.com/.