Вы находитесь на странице: 1из 6

Are You Wasting Your

Developer Training
Budget?

What are You Getting from Your Training Investment?


If your organization is responsible for building critical business software then you already know that improving developer
performance can:

• Reduce development costs


• Accelerate application delivery
• Increase customer satisfaction

Systems integrators, ISVs and all companies that build mission-critical software are constrained by the link between developer
training and performance. So why do most organizations ignore developer training or offer lip-service at best? Building and
maintaining the skills of a software team entails multiple challenges:

• Implementing a training program that’s effective and affordable


• Motivating developers to participate
• Verifying retention of new skills and knowledge
• Practical application of new skills before they are forgotten

According to The Standish Group, “the difficulty of optimizing your teams' skills through conventional methods like classroom
training and e-learning is reflected by the common occurrence of poor quality and error-prone code, security flaws, project delays,
cancellation, and ultimately customer dissatisfaction.”

It’s hard to validate the effectiveness of conventional training programs, because neither classroom training nor e-learning offers
you a way to verify actual developer performance improvement. It is likely that much of the actual learning in your software
development team is 'on the job' or experiential, which can be painful for developers and risky in terms of customer satisfaction.

This whitepaper first explores the reasons for the failure of conventional learning methods in training developers, and then
investigates the practicality of formalizing experiential developer learning to create a more effective developer training program.

1
What Makes Developer Training Painful For executives of enterprise organizations, the difficulties in
scaling training programs become painfully obvious as they
and Costly? face the further challenge of offering training consistently
across geographically distributed organizations.
We expect our software teams to develop new applications,
support an existing code base, and gracefully retire past
According to The Standish Group, “the difficulty of optimizing
generations of code, all while staying abreast of the latest
your teams' skills through conventional methods like
advances in software technology. New team members are
classroom training and e-learning is reflected by the
expected to come up to speed quickly and with minimum risk
common occurrence of poor quality and error-prone code,
to their assigned projects, while existing team members are
security flaws, project delays, cancellation, and ultimately
reminded to enhance their productivity by broadening and
customer dissatisfaction[2].”
deepening their skill sets.
While traditional corporate learning methods work well for
In reality, new developers often get thrown into projects
developing basic competence in performing ‘by rote’ tasks or
totally unprepared and 'learn by doing' on the job, frequently
routines, this learning model simply does not address the
with negative consequences for code quality and project
needs of developers, who require far more than basic
schedule. Senior developers are forced to spend far too much
competence.
valuable time mentoring junior developers, or just rewriting
their code for expedience. When traditional developer
training is available, it often takes developers away from Is There a Better Way to Learn?
coding, causing further delays. So developers grab bits of
new technology all too infrequently, when and where they
It is generally accepted by learning professionals that
can, squeezed in between deadlines and crises.
knowledge can be divided into three distinct categories:
According to IDC, over $3B is spent annually on developer
• Declarative knowledge
training in North America alone, and 95% of this money was
spent on pure knowledge acquisition, primarily in classroom • Procedural knowledge
training and e-learning[1]. Classroom training, often • Metacognitive knowledge
positioned as the 'reward' for key contributors, has proven to
be prohibitively expensive and difficult to scale for the entire Across all domains of learning, novices generally focus on
organization. And e-learning is scalable but it is often declarative knowledge, the lowest-level details of learning
disdained by developers as 'boring' and too basic for all but facts and concepts. At an intermediate level, the focus turns
beginners. With both traditional training methods, actual to procedural knowledge, the understanding of 'how to' and
performance improvement is difficult to substantiate and the ability to actually perform an activity or skill. Finally,
measure, and if it is not applied within a brief window, much domain experts demonstrate metacognitive knowledge, the
is forgotten and lost. ability to strategize, plan, execute, and adapt to changing
circumstances. Data from research on computer
While your developers are struggling to stay afloat, you’re programming is consistent with this picture - expert
forced to staff projects with limited visibility into the specific developers conceptualize programs in terms of what the
skills of each team member. All managers want to deliver application needs to do, whereas novices conceptualize
their projects to a high standard of quality, on time and under programs in terms of how it operates [3]. The more abstract
budget. Yet in spite of significant strides in understanding representation used by the expert permits designers to get
and managing the development process, 66% of software beyond the surface features of a program to a more
projects are late and/or over budget. Waste and overruns meaningful level.
cost an estimated $55 billion per year (out of a total $255
billion spend) and 16% of all software projects are cancelled In the software industry, because traditional training
before completion. Less than 18% of all projects finish on methods tend to focus almost exclusively on developing
time, and only 52% of all planned features make it into the basic declarative knowledge, there tends to be a big gap
released product[2]. Clearly there’s room for improvement separating what developers 'know' in theory and what they
here. can actually 'do' or deliver.

2
In other words, it is often a lack of ability, more than of learned, regardless of whether they learned it in a class,
knowledge, which limits an individual's performance. The online, or from a book or mentor. Learning experts agree that
element that is missing is 'deliberate practice' or practice this requires a structured environment for practice:
specifically for the purpose of improving [4].
“To construct effective educational situations, software
Research on the nature of expertise, conducted on software educators must understand the nature of expertise in the
students at the University level, makes it clear that expertise software engineering context and how to structure learning
is a very complex, multifaceted aggregation of skills that environments to encourage the development of these
develop only when practiced explicitly by the individual, cognitive skills [6].”
whether rank novice or expert[5].
By creating a structured practice environment that addresses
Some developers find their own ways to move deeper into your developers' unique needs, you will promote deeper and
procedural knowledge, and thus become ‘senior’ members of more effective learning. The following elements are
the team. Metacognitive knowledge is only attained by a required:
small elite over a long period of time, and many developers
never even aspire to reach that goal. For those who do, the 1. Familiar environment
progression can be inefficient and painful, as they are Developers learn best in a secure and familiar environment,
gaining experiential learning through an ineffective process similar or identical to their normal development
of trial and error while learning 'on the job'. environment. In addition to increasing comfort level,
learning in the target environment is directly applicable to
work performance. For .NET developers, the ideal practice
Essential Elements of Practice-Based environment is fully integrated within Visual Studio.
Learning
2. Structured practice tasks
By shifting your training program to focus on the developer’s By completing a structured set of tasks, developers benefit
ability to solve specific problems, you can formalize the from a planned progression of learning and avoid gaps in
process of experiential learning. To accomplish this, your knowledge. This also ensures uniform skills development
developers must be motivated to practice what they have across the team.

3
3. Resources
When an impasse is reached within a task, a developer must
have easy access to additional resources to avoid frustration.
The internet contains a wealth of resources but it can be
overwhelming for a developer to sort through the multitude
of references using a standard search engine. Targeted
access to trusted internet resources such as MSDN articles
and books by programming experts offers the most efficient
How Important is Feedback?
assistance.

4. Immediate feedback
Chemistry students at Edith Cowan University in
It is not sufficient to simply support practice. To maintain
their motivation, developers must be offered direct, specific,
Perth who were asked to complete pre-lab exercises
and immediate feedback on the correctness of their coding
solutions. Feedback also helps developers move beyond
with immediate feedback and a chance to rework
procedural knowledge by encouraging them to use
metacognitive skills in troubleshooting their solutions.
their solutions showed an improved understanding
5. Prioritizing skills development over natural ability
of the link between theory and practical work and
Developers need to believe that practice will help them
improve, so the most effective learning environment will
enhanced confidence in their ability.
recognize and reward practice over natural ability. This was
experimentally demonstrated in a study of organizational
decision making with graduate business students. Half the
students were told that in acquiring a new skill, people do not
This immediate feedback helped them to learn
begin with faultless performance. However, the more they
practice, the more capable they become. The other half were
difficult and abstract chemistry concepts. The data
told that the task would identify whether they had the
underlying ability to be good managers. The group who
shows students' interest in how they are learning
expected to improve with practice showed continued
improvement with practice, whereas the ‘fixed ability’ group
and examples of reflective learning practices. The
showed a steady decline in performance goals, efficiency of
problem solving, and actual performance [8].
students’ metacognitive awareness demonstrates an
6. Management Reporting
appreciation of their responsibility for the learning
To close the feedback loop, the learning environment should
provide clear and concise information to keep you informed
and their value of the learning resources. [7]
of developer learning progress, so you can address gaps in
knowledge and special needs. This information supports you
in making informed management decisions regarding hiring,
project staffing, and recognizing achievement.

4
See for Yourself - Try Practice-Based InnerWorkings offers 500+ hours of .NET learning including
.NET Framework 3.5, WCF, WPF and WF, Enterprise Library,
Learning with InnerWorkings Developer VSTS, AJAX, ASP.NET 2.0, XML Web Services, Programming
Fundamentals and Object Oriented Programming.
InnerWorkings Developer™ is a structured learning
environment designed to address each of the 6 elements of
Whether you're a CTO, VP of Technology or development
practice-based learning, so you can help your developers
manager, training manager or EVP, we know that your
reach new performance levels.
ultimate priority is to find the most cost-effective training
solution over both the short and long-term. To request an
With InnerWorkings Developer, your software developers
evaluation of InnerWorkings Developer for your
learn by writing code within the familiar Visual Studio
organization, or just to learn more, email us at
environment. They sharpen their skills by completing
sales@innerworkings.com.
programming tasks structured to progress logically through a
given .NET technology from beginning to end. After
"InnerWorkings Developer is invaluable - it's the best
completing each task, developers submit their coding
solutions to our patented code-judging engine for immediate way to become proficient at using an application. It
feedback. Learning support from our Personal Tutors and
also provides a way to gain coding experience and
online resources like Safari Books Online is provided for
additional help if needed. Detailed reports are provided to best practice knowledge."
help you track the progress of each team member and the
team overall. Software Developer, Envision Financial

InnerWorkings Developer provides a structured practice environment within Visual Studio


 

5
References
1. IDC, "US Professional Developer Training Market Forecast 2005".

2. Standish Group, "Chaos Report 2003".

3. McKeithen, K. B., Reitman, J. S., Rueter, H. H., & Hirtle, S. C. "Knowledge


organizations and skill differences in computer programmers," Cognitive
Psychology, 13, 1981, pp. 307-325.
About InnerWorkings
InnerWorkings began with one aim: to radically 4. Ericsson, K. A., Krampe, R., & Tesch-Römer, C. "The Role of
transform the way developers learn. Our mission is Deliberate Practice in the Acquisition of Expert Performance,"
to move software organizations to a new level of Psychological Review, 3, 1993, pp. 363-406.
effectiveness, reducing development costs and
schedule delays, and ultimately, improving 5. Sims-Knight, J.E and Upchurch, R.L "The Acquisition of Expertise
customer satisfaction. in Software Engineering Education," Frontiers in Education
Summit, Volume 3, Issue , 4-7 Nov 1998 Page(s):1302 - 1307.
InnerWorkings was founded in late 2002 by a
management team with over 100 years combined 6. Linn, M. C. "Designing Computer Learning Environments
experience in the technology-based learning for Engineering and Computer Science: The Scaffolded
industry. Knowledge Integration Framework," Journal of Science
Education and Technology, 4, 1995, pp. 103-126.
InnerWorkings works closely with Microsoft to
support new .NET technologies often even before 7. Chittleborough, G., Treagust, D. and Mocerino, M. (2003).
Microsoft RTM. InnerWorkings has been a Gold- Providing immediate feedback: A responsible approach to
Certified Microsoft Partner and a Visual Studio learning. In Partners in Learning. Proceedings of the 12th Annual
Integration Partner since 2003. Teaching Learning Forum, 11-12 February 2003. Perth: Edith
Cowan University. http://lsn.curtin.edu.au/tlf/tlf2003/abstracts/
The company maintains corporate headquarters in chittleborough-abs.html.
San Francisco, CA, and a Research and
Development center located in Dublin, Ireland. 8. Wood, R. & Bandura, A. "Social cognitive theory of organizational
management," Special issue: Theory development forum. Academy
For more information contact of Management Review, 14, 1989, pp. 361-384.
sales@innerworkings.com or visit our website at
www.innerworkings.com. InnerWorkings and InnerWorkings Developer are registered trademarks
of InnerWorkings. All other trademarks are the property of their respective
owners

6
>ccZgLdg`^c\h)(%*=VX^ZcYV9g^kZ!Hj^iZ)'% IZa/ &.'*,(,%+%% lll#^ccZgldg`^c\h#Xdb
 EaZVhVcidc!86.)*-- ;Vm/ &.'*,(,%+%- hVaZh5^ccZgldg`^c\h#Xdb

Вам также может понравиться