Over the past few months, I’ve spoken with many C-level executives about the high level, strategic challenges they’re facing when it comes to building software. Through these conversations, common themes emerged. To help with these challenges, I’m excited to introduce Intertech Executive Briefs.
Based on 25+ years of building enterprise software for our clients, each Intertech Executive Brief outlines the challenge along with recommendations and insights for the busy executive.
CIO’s Guide to Avoiding Cost Estimation Errors
In the inaugural issue, the Software Development Cost Estimation Executive Brief, shares commonly overlooked costs when building enterprise software applications along with practical insights to make sure every project has an accurate budget.
Key factors include:
Hidden project infrastructure costs
Costs related to staff turnover and the need for new skills
Expenses due to project dependencies and communication
Underestimating costs by assuming who is doing what
The Triangle, Choose Your Two: Speed, Cost, Quality (SCQ)
Minnesota’s low temperatures and high taxes don’t make our state the easiest place to do business. Yet, our world-class workforce has made Minnesota a hub for innovation and economic growth. While I think we can and should do more to address other barriers to growth (at least the tax climate), we should start by preserving our biggest advantage—the quality of our people—which is threatened by rhetoric and policies that discourage international students from attending our colleges and universities.
The fact is nearly 70% of Twin Cities college graduates stay in the metropolitan area after graduation. As our current population continues to age, Minnesota businesses need access to talented people from around the world to keep pace.
Unfortunately, instead of looking for ways to attract the world’s best and brightest, the president obsesses about building a wall along the U.S.-Mexico border to keep out immigrants. It’s not surprising that many top foreign-born students are choosing to skip the U.S. of their own accord—with negative consequences for our economy, particularly our engineering and technology sectors. I’m referring to international students at U.S. colleges and universities who used to come here in record numbers to study STEM subjects.
In 2018, the University of Minnesota-Twin Cities ranked 21st of all leading institutions in the country hosting international students, with 7,212 international students. That number has decreased to 5,500 international students today. This distressing higher education trend is happening nationwide.
Why are the world’s brightest students skipping the U.S.?
“Many schools attributed the trend to problems with student visa delays and denials, as well as the U.S. social and political climate and student decisions to enroll outside the United States,” reported the Washington Post (11/13/18). With some education leaders noting, “Trump’s advocacy of immigration restrictions, travel bans and a U.S.-Mexico border wall is not helping the nation compete for academic talent in the global market.”
As foreign-born students say “no thanks” to what they perceive as a hostile United States, many are saying “yes” to higher education institutions in Canada and Australia. Their gain is our loss.
These are deeply disturbing trends to owners of IT consulting firms like me. We compete on a global basis and losing access to some of the world’s most talented science and technology students and professionals is a major blow.
And you should be worried too. Not only do these foreign-born students help grow the U.S. IT industry—IT workers represent about 2.9 percent of the U.S. workforce says the U.S. Census Bureau—but when they stay and start new businesses they create good jobs for people born in the U.S.
There’s another worrisome side effect of this growing trend: the loss of millions of dollars in tuition payments at American colleges and universities, including our own U of M. Since foreign-born students pay higher rates than U.S. students, their tuition dollars are vital to keeping costs lower for students here. If current trends continue, the next state budget might need to include funding support for struggling state colleges and universities.
Leaders in Washington appear to live in a U.S.-centric bubble these days, but here in Minnesota (and the rest of the country) it’s one highly competitive global economy. We need to do everything possible to make foreign-born students feel welcome at our colleges and universities.
Last time I shared a bit about the concept of Development Centers for software development. Because we effectively use this model at my firm – we call it “The Intertech Way” – I thought I would share the best practices for making it work.
The fundamental criteria for an effective Dev Center model is using defined methodology (and following it, of course!). I recommend several levels of leadership to ensure that the younger professionals (think of them as apprentices) are supported at every project level and, most importantly, that clients or end users (if you are interested in using the Dev Center model within your corporate IT department) receive quality software on time and within budget. Levels of accountability within your Dev Center might look like this:
Delivery Manager to ensure a standard process is followed on all projects and that quality standards have been met before project delivery.
Director of Consulting to ensure that each apprentice is paired with a dedicated senior professional
Dev Center Manager to mentor, help bolster technical skills, and to ensure all apprentices can operate at a consistently high technical level.
Maybe you will want a slightly different organizational structure in your Dev Center, but the key is to ensure you have more than simply a senior professional paired with an apprentice. The other roles are necessary to ensuring that younger team members develop consistency in their skills and the overall process they use to make software. We have found this model is working well and consistently results in turnkey solutions.
When I began this series of posts on the perils and challenges of software development, I lamented the high level of failed IT projects and my theory that offshore development is largely to blame. I noted that instead of providing a cheap, fast turnkey solution, offshore software projects frequently are bedeviled by poor management, confusion about team roles, and quality standards well below what U.S. companies (and consumers) expect. (In fairness to lower-paid offshore IT professionals, language barriers, and time zone and cultural differences are tough hurdles to overcome.)
And yet many are holding tight to the offshore model hoping to save money. Ironically, instead of cost savings, we’re now seeing costs shift from the actual development work to the writing of requirements and quality assurance – and development takes longer because of the time lag in communication when team members are located around in the world and in different time zones. Also, not surprisingly, people writing such detailed requirements must be more advanced (i.e., expensive) to anticipate issues a lesser-skilled developer might face during a project.
The only true benefit with off-shore development is that it forces business leaders to think holistically about what they expect from an application on the front end. That helps to prevent costly changes in mid-stream. But the negatives of off-shore development still outweigh the benefits.
I’m convinced that guided learning and mentoring, in the matrixed leadership approach I described above, allows younger developers to be exposed to every aspect of a project (a good way to build your department’s expertise) while providing the guidance from deeply experienced IT professionals – and the level of accountability necessary for quality outcomes. With an offshore model or a completely outsourced model, however, there is no accountability at the individual level where it matters most.
In our youth-obsessed culture, it’s easy to forget that younger people lack one very important attribute: experience. And while software development is a fast-changing industry that traditionally favors young people eager to learn, experience still is a critical ingredient in quality outcomes. Instead of putting young hotshots on a pedestal – and then suffering predictable disappointment when they stumble – I recommend a more moderate approach that goes back centuries in many traditional trades.
I’m talking about pairing younger professionals with more experienced people in a classic apprenticeship approach. This approach makes a lot of sense and still is common in European countries where young people often apprentice for several years before they are considered fully developed professionals. I think of this as the “Development Center” approach.
Besides ensuring valuable transfer of skills and judgment, a Development Center model provides financial benefits too. For companies relying entirely on in-house IT staff, employing a mix of young (and less expensive) and older (and more expensive) professionals helps keep overall employee costs more moderate. IT consulting firms, such as Intertech, that use this Development Center model can charge clients a lower overall project rate without sacrificing quality or accountability.
For this model to truly work, however, senior people must do more than peek over the shoulder of younger talent. Acting as true mentors, more experienced professionals should outline what younger team members are expected to do, review their code, and help integrate the work that they’re doing into the overall project.
And then there’s the harder to measure but infinitely invaluable transfer of “soft skills” that make all the difference between success and failure. At our firm, this means having one of our top consultants allocate 100 percent of his time to provide guidance on project management, communication, understanding Agile and Scrum, and how to work effectively with team members and clients. Watching senior people in action also allows younger people to develop critical skills. And clients obviously appreciate not picking up the tab for junior employee making mistakes or missing deadlines during the process!
I’m reminded of the picture of an older cobbler painstakingly making top-quality leather shoes while a young apprentice stands by observing and occasionally engaging in the less critical aspects of the job. While shoes are now manufactured in mass production factories, the old master/apprentice model still makes perfect sense for those engaged in the work of making software. (I will share more about how this works at Intertech in next post.)
The older have a lot to teach the young and it’s time the IT industry starts acknowledging this truth. When we do, we all win.