Our objectives were:
- to gather a team of students to work with a professional, volunteer developer
- to use Agile and software craftsmanship working methods in relation to the development of a simple app
- to develop an app from the idea of the Base2 team in their AcornHack2016 team entry, with some client communication
- to provide between 6 and 8 days of work experience for up to three full-time students
- to explore opportunities for students to progress in an appropriate way
This blog post records my personal review of the process.
Our final session (14th January was a whole Saturday at Clapham Art Centre, where we have been working for most of the project. We had a plan and a deadline and we all worked hard to meet that deadline.
Our plans were ambitious. We had no ‘lead’ developer for our team and I had t take on this role, having not worked fully in the industry for over 25 years!
Our brief was to produce a working revision app for the Base2 team to meet their requirements but also to allow them to play some part in the development. During the development phase we had been focused on solving the problems and, with no mentor available for the team, we had asked them to come up with a logo and to start to create a web page for the app. This would allow us to get a bit of an idea of what they wanted. Our aim was to produce a back end (PostgresQL database, Java classes and REST API controllers) and to provide a very basic, working, front end that the team could then edit, with some support.
So what did we achieve?
- four full working days (mostly focused on development but with some planning)
- three evenings (mostly planning but with some development)
- a team of 4: 2 student developers (Jake and Riaz), myself (sort of lead development) and Emily (product owner, project manager). One student dropped out after the first evening. Sadly we haven’t been able to get a response from him to find out why.
- a PostgresQL database, tables created and populated, documentation and scripts for creation and population on a new server
- a set of Java classes (subject, topic, sub-topic, activity, resource(video, past paper, multiple choice)
- a set of Java REST API controllers (subjectlist, subject, topic, sub-topic, activity, vidResource, ppqResource, mcqResource, vidResult, ppqResult, mcqResult)
- angular javascript with the following functionality:
- get a subject list to populate a menu
- get a topic list to populate a sub-menu on selection of a subject
- get a sub-topic list to populate a sub-menu on selection of a topic
- get a list of 3 activities to populate a list on selection of a sub-topic
- get an activity resource to display the activity and a space for user comments on selection of that activity
- check and display the results of the activity sending the user’s answer to the API and receiving feedback based on a set of key terms.
- a set of documentation to help with the development of a front end to fit with what the team want from it.
During development, we had two sprints and two retrospectives, we estimated and we reviewed. We did some pair programming but we didn’t manage to get to grips with test-driven development mainly because the focus, in such a short pilot, was on quite fast development.
The handover
We held the handover meeting at the British Library, where we have first met the Base2 team. Alesssandro was the only member to make it in person but Arun joined us by video link. Isabelle had attended all previous meetings but couldn’t make this one.
We were able to use the opportunity to explain what we were giving to Alessandro and Arun, to show them where everything was hosted and to enable them to find the code on GitHub, where we had created a repository for them. This is their project, their IP and they have full access to the code.
The following links will take you to the code, the front end and the backend where you can play with the APIs:
Back end
We are incredibly grateful to both Jake and Riaz for their hard work. Jake’s confidence and ability in creating the Java classes was crucial to the project’s success and Riaz was fantastic at picking up tasks that needing doing, doing the necessary learning and just getting on with it!
After the handover we were able to have half an hour to have a quick retrospective. We thought about what went well and should be continued next time, what didn’t and needs to be changed or removed from the process.
Of our objectives, we achieved a good proportion. We were missing a lead developer (reliance on volunteers didn’t work out for us and we will have a paid developer for the next pilot). We didn’t get everything working and will be spending some time improving the code (the multiple choice code is working but not integrated and the database is not yet connected to the Java classes).
All other objectives were achieved. Our final objective, to open up opportunities for our students, was realised when Tengio, a mobile app development company, offered an interview for further work experience to Jake, on our recommendation.
What next?
We now prepare for the next pilot, starting at the beginning of March. Talks in schools and colleges, a presentation at BETT, funding applications, registration as a Community Interest Company, reaching out for projects, and the search for office space that we can use both during the week and on Saturdays. Importantly, we are actively looking for a developer to work with us and to lead two teams of young people to create beautiful apps. There is a lot of work to do and we are really excited to be moving forward.
- Karen Scott
Co-founder, FutureCoders