A code-sprint is a mechanism where a small team is gathered to “aggressively” contribute to a software project with well defined components, for a short and focussed time frame. The team works under the full-time guidance of a senior and experienced technical leader who is familiar with the project or technology.
SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee
1. CSIR Meraka
SAFIPA – Meraka Institute Code-sprints: The
capacity and applications expansion program
Internet of Things Engineering Group
20 October 2011
by
Dr. Louis Coetzee
(louis.coetzee@csir.co.za)
Copyright 2011 CSIR
3. National Need for Software Developers
• South Africa has a large need for skilled software developers
– Specifically in open source technologies
– Limited national capacity to deliver on large scale ICT initiatives
– Brain drain amplifying need
• Initiatives to elevate ICT R&D&I
– National RD&I Implementation Roadmap
• University graduates not ”work” ready*
– Limited practical and relevant experience
– Lack of appropriate skills
– Require significant time and training before being able to contribute
• Graduates require post university training
– Internships
– Studentships
– Vacation work
– More appropriate university training
* (1) Accenture report:
http://www.doc.gov.za/images/stories/meraka/accenture report.pdf
(2) 2008 ITWeb-JCSE ICT Skills Survey Results
http://ww2.itweb.co.za/events/ictskills/2008/
Slide 3 of 16 Copyright 2011 CSIR
4. One Potential Additional Intervention –
Code-sprints
• What is a code-sprint?
– A dynamic, innovative energetic
environment
– A skilled code-sprint technical leader
– Well defined tasks in a real world project
– Several keen students
– Students work with leader for short &
focused time span, completing
assigned tasks
• Student gains
– Skills, experience, knowledge, networks,
team work exposure
– Minds are seeded for innovation!
• Organization gains
– Additional functionality for projects
– Opportunity to identify and attract talent
• Bursars, interns, studentships,
employees
Slide 4 of 16 Copyright 2011 CSIR
6. SAFIPA – Meraka Code-sprint Programme
Overview
• Funding from SAFIPA for two iterations
• Year 1 (2009)
– 10 code-sprinters in 2 code-sprints
• Year 2 (2010/2011)
– 16 code-sprinters in 3 code-sprints
• Hosted and managed by CSIR Meraka
Institute
– Dr. Louis Coetzee – Code-sprint
Programme Manager
– Dhiren Seetharam – Project Manager
• 20 working days duration
• Students from large number of national
tertiary education institutes
• Students at various levels
– First year to Masters
– Novice to experienced/seasoned software
development skills
• Code-sprint leaders with various
backgrounds
– Internal and external to CSIR
Slide 6 of 16 Copyright 2011 CSIR
7. Highlights (2009)
• Two code-sprints successfully executed in 2009 (10 sprinters)
– IOTA – mobile ready dissemination of information
– Afrimesh – network management system for network operators in rural areas,
developing countries and disaster zones
• Extensive skills transfer to students
• Significant functionality added to project's code-base
• Patch contributions to upstream open-source projects
– pmacct - JSON output support
– freeradius - memcachedb database plugin
– batman - JSON output support
• Management team extracted appropriate learning:
– Two articles presented at international conferences
– Detailed reports:
• Each sprint-leader
• Human factors specialist analysis of pre- and post evaluation of code-
sprints
• Methodology report
• Extensive feedback report to SAFIPA Steering Committee
• Lessons learnt
• One participant became a Meraka bursar
• One participant became a contract worker at Meraka
Slide 7 of 16 Copyright 2011 CSIR
8. Highlights (2011)
• Executed three code-sprints during 2011
– 16 sprinters
– Afrimesh – defined and implemented a complete business solution aimed at
empowering rural farmers and entrepreneurs operating in townships (
http://www.youtube.com/watch?v=Ci4WQChVXNQ)
– Beachcomber – implemented a business service which connects “things” and
“people”
– Fast Video Codecs – optimized video processing source code
• Management team extracted appropriate learning
– Detailed reports
• Each sprint-leader
• Human factors specialist analysis of pre- and post evaluation of code-
sprints
• Soft skills feedback report
• Extensive feedback report to SAFIPA Steering Committee
• Code-sprint Toolbox
• Improved methodology and execution based on learning from 2009
– Addition of three training workshops aimed at “soft” skills
• Treasure Map - Empowering the Individual
• Open Source and IP issues
• ICT and Entrepreneurship - An Introduction
• One participant became a contract worker at Meraka
• Developed: Code-Sprint Toolbox: How to run a code-sprint
Slide 8 of 16 Copyright 2011 CSIR
9. Challenges
• CSIR Bureaucracy
– Formal recruitment process –
Students have to be
“employed” by CSIR
• Access to students
– Reaching more Tertiary Education
Institutes
• Future sustainability
– Sourcing funding from commercial
and government entities
• Choice of appropriate time-frame
– 2009 in June/July – more
applicants
– 2011 in January – easier to have
all participants for full duration
• Logistics
– Increase in number of code-
sprints, enhanced
management load
Slide 9 of 16 Copyright 2011 CSIR
10. Outputs and Outcomes
• Enhanced development capacity of
students
– Extensive skills transfer to students
• Enriched and enhanced OSS
applications (code-sprint targets)
• New capability in Meraka Institute in
executing and managing code-
sprints
• Allowed for identification and fast
track of talent
• Introduction of short courses
innovation very successful, added
significant value to programme
Code-sprint Toolbox: How to
run a code-sprint
Slide 10 of 16 Copyright 2011 CSIR
11. Meraka Innovation in Code-sprints
• Code-sprints have been successfully
applied internationally
• Previous South African attempts have
had limited success (South Africa has
fairly unique context)
• Meraka initiative innovations:
– Extend code-sprint duration
– Provide just-in-time learning
– Allow for different skill levels
– Ensure within team knowledge transfer
– Work on real world OSS projects
– Meticulously planned and prepared before
hand
– Introduced “Soft skill” development
coupled with technical development
• Learn from each code-sprint to improve
next code-sprint
Slide 11 of 16 Copyright 2011 CSIR
12. Current and Future Actions
• Continue to
– Establish Meraka code-sprint brand
– Raise awareness of code-sprint potential
– Ensure application to viable & strategic important OSS projects
• Also external to CSIR → industry related themes
• Source additional funding for future
– Corporate branded code-sprints
– Government entities
• Partner
– Engagement required with ICT and Engineering companies that
require a dynamic way to stimulate their talent pipeline
– Ideal partnership opportunity with industry and tertiary
institutions via work-readiness programmes incorporating
code-sprint methodology
• Distribute Code-sprint Toolbox
– Disseminate learning
Slide 12 of 16 Copyright 2011 CSIR
13. Code-sprinters' Quotes
• “The experience here at Meraka has really been awesome. I
have learnt so much from the code-sprints. And I've had a
glimpse of what a career in ICT is like, got a taste of the
pressures and deadlines etc.”
• “I also really enjoyed and benefited from the Friday soft skills
presentations”
• “I have also come to know a few very powerful individuals who
I believe will help me advance in my career with advice and
direction”
• “This experience has had a big impact on my life in terms of
how I view and weigh challenges. I feel like I can achieve
anything. It was an eye opener and I actually started
seeing life from a different angle
Slide 13 of 16 Copyright 2011 CSIR
15. Conclusion
• Methodology and programme has proven to be HUGELY
successful
– 26 code-sprinters
– 5 projects
• Ready to take to the next level (expand)
– Learning captured in freely available “Code-sprint Toolbox”
• Partners and networks required to ensure larger uptake and
future impact in South Africa
Viable addition to current approaches to
enhance national ICT readiness
Slide 15 of 16 Copyright 2011 CSIR