16
Copyright 2011 CSIR SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program Internet of Things Engineering Group 20 October 2011 by Dr. Louis Coetzee ([email protected]) CSIR Meraka

SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

  • Upload
    safipa

  • View
    355

  • Download
    2

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Copyright 2011 CSIR

SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program

Internet of Things Engineering Group20 October 2011

by

Dr. Louis Coetzee([email protected])

CSIR Meraka

Page 2: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 2 of 16 Copyright 2011 CSIR

Presentation Outline

• Context• Introducing Code-sprints• Highlights• Challenges• Outputs & Outcomes• Innovation• In Future• Quotes• Acknowledgement• Conclusion

Page 3: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 3 of 16 Copyright 2011 CSIR

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 Resultshttp://ww2.itweb.co.za/events/ictskills/2008/

Page 4: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 4 of 16 Copyright 2011 CSIR

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

Page 5: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 5 of 16 Copyright 2011 CSIR

Code-sprints Purpose

public String codeSprints(String you) {If (you == 'PROGRAMMER') {

ImprovedYou = Meraka.doCodeSprint(you);ImproveOpenSourceProject(ImprovedYou);EnrichSASociety(ImprovedYou);BrighterCareer(ImprovedYou);return improvedYou;

} else {

stillJustYou=you;return stillJustYou;

}}

Page 6: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 6 of 16 Copyright 2011 CSIR

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

Page 7: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 7 of 16 Copyright 2011 CSIR

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

Page 8: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 8 of 16 Copyright 2011 CSIR

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

Page 9: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 9 of 16 Copyright 2011 CSIR

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

Page 10: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 10 of 16 Copyright 2011 CSIR

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

Page 11: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 11 of 16 Copyright 2011 CSIR

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

Page 12: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 12 of 16 Copyright 2011 CSIR

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

Page 13: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 13 of 16 Copyright 2011 CSIR

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

Page 14: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 14 of 16 Copyright 2011 CSIR

Acknowledgement

• SAFIPA– Kristiina Lahde– Thiru Swettenham

• CSIR Meraka– Dhiren Seetharam

Page 15: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Slide 15 of 16 Copyright 2011 CSIR

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

Page 16: SAFIPA – Meraka Institute Code-sprints: The capacity and applications expansion program - Louis coetzee

Copyright 2011 CSIR

Questions?

Thank [email protected]

http://codesprints.meraka.csir.co.za