Chapter 3
Our Starting Point
We installed the host tools for our technical ‘classroom’ in Chapter 2, now we consider the environment in which our organisation works in a broader, softer sense.
You are a start-up entrepreneur planning your new business. You want to build a federated learning environment to provide online e-courses and allow anyone else to also create their own courses. The idea is to bypass any centralised control by allowing anyone to create servers for hosting courses but provide a coherent interface to users (so they see one ‘account’ regardless of where the course itself is hosts).
Like all initial ideas you’re not entirely sure how to create this service but you know that you will need to be able to create and tear-down experimental systems. You’re also pretty sure you want to use cloud services to host your system because this allows you to scale cost effectively.
You are a keen open source advocate, so not only will you use open source solutions where possible you will also contribute back to the open source community. That said, you’re a pragmatist first, so you won’t rabidly pursue an open source solution if a cost effective non-open source solution presents itself.
To keep initial costs down further you want to use your existing computers where possible.
Initially you will be working from a home office, but recognise that you will need more computing power than you own. Access to 24 × 7 up-time and good network availability will be important as you progress. You currently have a laptop and an internet connection, and that’s pretty much it.
3.1 Ideation
The first step in any project is the formation of the idea.
When I first get an idea for a project it is either specific (these tend to be smaller projects that are easily conceived as a single highly focussed idea) or nebulous (these tend to be more aspirational, general, and poorly conceived at the start). This project is the latter type.
The process of fleshing out these more general project ideas tends to be cyclic.
- Have idea
- Use existing knowledge to formulate plan
- Experiment
- Evaluate
- Refine
- Discover new tools and techniques
- Repeat steps 1–6
It is seldom as linear as this and rarely a smooth process, particularly for larger projects where we are dealing with many people (and often many teams) all with different perspectives on the project.. In my professional life I have rarely worked on a large project that has been delivered as it was originally conceived.
Turn general notes into something more constructive.