Testing

To help ensure an easy to use system for all users, which will in turn reduce support costs for our business, we will conduct thorough testing. Such testing will take place at various stages in the project lifecycle:

Unit Testing

Unit tests can be written for each of the functional requirements in LessonPlan 2.0. Each time a function has been developed, it will be tested by both developers and end user. The process will be iterative and users will be involved in all processes of software development life cycle. This will decrease the chances of later requirements modification, which is costly. Tools like JUnit will be used by developers for unit testing to ensure the correctness of a unit’s implementation in relation to requirement specifications.

Integration Testing

When developing several units and functions that supposed to work together, integration tests will be created to ensure interoperability of the components and to prevent error regression.

Prototype Acceptance Testing

When a design prototype is produced, potential users will be asked to try out the prototype system. They will provide feedback that can then be used to prevent usability problems and inform feature decisions.

Pre-release Testing

Select users will be offered the opportunity to try new updates and features before general release. This testing allows us to catch any potential bugs and usability problems before all users of the system are introduced to them.

This style of testing will happen repeatedly, mostly after new features have been developed and are ready to be released.

Cost Breakdown

Running costs of Lessonplan are predicted to be rather low. Primary costs will be time spent creating the system, the the time spent installing it at customer universities and any relevant support related costs.

Our service will be offered to numerous universities across the UK (for now) as a white label software solution. It is a web-application that will need to be hosted on web servers.

Two options will exist for client universities: hosting on their existing servers or an external provider. The latter will cost more for the university but will not cost any extra for us. Both of these options cost us nothing. If the customer wishes for us to provide external hosting, we will use a cloud server from DigitalOcean at a cost of £52 per month (all of which is forwarded to the customer).

Because we are a team containing web developers, the development costs will be very low, we will be using open source frameworks rather than proprietary software to develop the product. We also anticipate that support for the system will be minimal due to a test driven design methodology, designed to minimise the number of bugs that make it into production installations. Once the product is developed however, running costs drop off significantly further and the profit increases exponentially as we roll the system out to more universities very cheaply (with a typical set-up time of 6 man hours).

We don’t require any office space as we can work remotely and communicate via Skype and project management platforms such as Trello.

We may invest variable amounts of money in marketing the platform. This will involve travelling for meetings at potential universities to discuss our solution. This figure could range anywhere from £30 to £150 per visit.

We expect universities themselves will promote the use of the system by their students once they have purchased it. This negates any cost for us to perform this promotion ourselves.

Project Management

Strong project management is key to any successful business. From the outset we’ve used the best tools at our disposal so that everyone remains on track and productive.

Most of the design and marketing tasks were listed in Trello, a project management board provider. Using this board we have been able to list tasks that need doing, assign ourselves to them, and update them as they progress through “in progress”, “review” and “complete” stages.

A view of our Trello board.

A view of our Trello board.

For the software development aspect of our project, we will be using an Agile methodology, namely Scrum. Scrum was chosen as it allows us to work independently and at a fast pace. Ideas can be iterated over quickly and regular meetings amongst team members ensure the project as a whole remains on track.

We also use a Facebook group to communicate. Facebook provides notifications for events and updates within the group that all members can see and respond to quickly and easily.