The people involved in the project build a list of requirements. They may talk with customers to find out what they want in a new application, or what additional features they want in an existing application. They may talk with experts in the product space to understand how the software needs to perform. They may check other existing applications. They may do combinations of these, and even try other options. Inexperienced development teams will jump right into writing code only to find they are wasting time building a product which doesn’t meet the market’s demands.
Once they have a concrete, specific set of requirements they will create a design for the software. This is typically done by senior software developers or even by people who have the title of software architect. Normally several designs will be considered. For complex projects it came be an iterative process. One design may be picked, modified, folded in with another design, being changed and changed again until a final design feels right and gets approved by various people.
Then the software developers will divvy up the project and
start writing code. If the requirements
are clear and the design is well thought out the process of creating the
software will go so much easier. Over
the years seasoned software developers have learned the value of nailing down
the requirements and spending a serious amount of time to come up with a good
design. Without these a project can take
much, much longer and end up with a buggy piece of software which customers won’t
buy.
So what does this have to do with homeschooling?
Well as parents I think before we jump into trying to teach
our children it is good to step back and really think about what it is that we
want. We need to ponder our own
requirements for a successful homeschooling experience before we jump in. We can consult with others to get some ideas.
And once we figure out our goals we then need to work on how
we will homeschool. It is also valuable
here to get suggestions for others. We
can design our curriculum to match our goals.
Once we have figured out our own requirements and come up
with a good approach for homeschooling then we can start in on the
homeschooling process with a much better chance of success.
With both software development and homeschooling it is
important to be flexible. After a couple
weeks or a couple months we may realize that we missed an important
requirement. Or that a requirement we
thought was important turns out to be something we don’t really care
about. And it is OK to change the
design. Sometimes we just need to tweak
it. Other times we may to toss the
design out and start all over.
If we'll be thoughtful about our end goals for homeschooling and how we do it, we'll have a much better chance of success.
No comments:
Post a Comment