Large-scale Software Engineering at High Speed

I very much enjoyed presenting the Distinguished Lecture at this years Texas A&M Industrial Affiliates Program, and have uploaded my slides to I had the opportunity to review and judge a number of the under grad and doctorate poster sessions, and was impressed with both the breadth of the ideas being explored and the depth of the doctoral thesis topics. Some very imaginative projects. I liked a couple so much I’m going to make an effort to get them in as summer interns here at Dell.

Visiting Universities and especially Computer Science classes is always fascinating, any trends that are going to happen are often really visible in this type of environment. What I noticed, and I shouldn’t have been surprised, was a number of this year under-grad class with projects using Android phones and bluetooth, combined with GPS. There were proximity projects, location awareness projects, directions finding projects and more. None really required a GSM contract.

What this indicates is that Android based mobile phones are becoming generalized computing platforms, not just smart phones. Of course, if they are doing this at Texas A&M, similar projects will be running at other universities all over the world. The knowledge, education and development in this space will push the next generation apps, often around the same platform. Back in 1998, I visited Warwick and a number of other Universities and this convinced me Linux was coming.

Today, we’re in an era where speed is of the essence.

  • It’s critical for competitive reasons to stay ahead of the competition.
  • The customer expectation for the Internet is much higher.

Engineering is a discipline.

  • Foundation: I look for people who have a firm foundation in engineering and treat it like a discipline
  • Definition: Look up engineering on Wikipedia and the first descriptive word behind it is discipline (followed by art and profession)
  • Software: Software is NOT [treated like] an engineering discipline today.[It’s all about invention]
  • Discipline: The key to success: We have to get better as a profession at treating software engineering like a discipline.

Culture is critical.

  • Garage band?: The days of four or five people starting out of their garage and working that way is less common now[in the enterprise app space, but increasing IS in the personal space].
  • Big=global. Most big projects are globally distributed and developed.
  • Global differences. The attitude and approach of teams in the USA, India, and China will be vastly different.
  • Play to cultural strengths. Adapt to cultural strengths — understand, and use them to your benefit.

Process matters.

  • The “how”: It’s not just what you’re doing, but how you do it.
  • No surprises: Good ≠ good; Bad ≠ bad
  • Communicate: Overcommunicate if needed, but make sure people understand and are aligned.
  • Incremental works: Let people see checkpoints where they can gauge progress and give individual groups/teams a chance to report out. You don’t need everyone to review.

Architecture must support the engineering.

  • No roadblock: Architecture can’t get in the way of engineering/development.
  • Good architecture: Allows people to work effectively in a globally distributed environment.
  • Vertical no more: Silos were the old way; technology grew up vertically.
  • Alignment: The way people think about constructing systems needs to match the engineering.
  • x86 and Cloud: Both allow for globally distributed environment (open source is another example)

Customer First: Dells Software Approach

  • Starting anew: Starting and building from scratch
  • Integration: It’s all about bringing elements together
  • Customer choice: We’re taking a different approach, delivering customer choice through open, horizontal integration (customers can choose hardware – storage, networking – and hypervisor)

Thanks to Michael Conway in Dell Product Group for helping me crystallize my thoughts into a concise structure for the slides. Also to Dr Valerie Taylor, Department Head and Royce E. Wisenbaker Professorship in Engineering at Texas A&M for the invitation and for hosting my visit.

As always, if you have any comments or feedback, please feel free to post here, or via email.

0 Responses to “Large-scale Software Engineering at High Speed”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

About & Contact

I'm Mark Cathcart, formally a Senior Distinguished Engineer, in Dells Software Group; before that Director of Systems Engineering in the Enterprise Solutions Group at Dell. Prior to that, I was IBM Distinguished Engineer and member of the IBM Academy of Technology. I am a Fellow of the British Computer Society ( I'm an information technology optimist.

I was a member of the Linux Foundation Core Infrastructure Initiative Steering committee. Read more about it here.

Subscribe to updates via rss:

Feed Icon

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 915 other followers

Blog Stats

  • 88,695 hits

%d bloggers like this: