MyPicture

Hello, I'm Brad Dennis. I'm a husband, father, teacher, entrepreneur, and researcher. I have a wife and two sons.

My research interests include low cognitive load software processes and techniques, mobile development, agile development, and learning technologies. My business interests include mobile applications, learning technologies, and health & nutrition.

2014

PhD – Doctorate of Philosophy

Auburn University

2005

MSwE – Master of Software Engineering

Auburn University

2003

BSwE – Bachelor of Software Engineering

Auburn University

Jun 2019 - Present

66% Capital, LLC

Managing Partner

Managing Partner for a small, closed  investment and quantitative risk management firm. Primary responsibilities include platform development and systematization of trading approaches.

2011 - Present

Great Gut, LLC (Milwaukee, WI)

Owner

Oversee all operations for a dietary supplement ecom business.

Sep 2014 - May 2019

Milwaukee School of Engineering (Milwaukee, WI)

Assistant Professor

I was an Assistant Professor at MSOE in the Electrical Engineering and Computer Science Department. I teach, or have taught Databases (CS386), Software Requirements and Specifications (SE3821), Software Verification (SE2832), Software Process II (SE3800), Software Development I and II (SE1011, 1021), Software Maintenance (SE498).

2007

Graded Labs, LLC (Reno, NV)

Owner

A small business environment that provided software support for network training including hardware automation, learning technologies, and customer support.

2010

Internetwork Expert, Inc. (Reno, NV)

Director

Oversaw all operations of $6M+ annual revenues Cisco professional training firm while owner was on sabbatical, continued to manage many operations upon owner’s return.

2000

Matria Healthcare (Marietta, GA)

Manager

Department manager in IT for in-house software projects. Primary project was an Enterprise Disease Management call center solution.

2000

PriceWaterhouseCoopers (San Francisco, CA)

Project Lead

Led a team of 13 developers on an Enterprise Disease Management call center solution.

1999

Computer Sciences Corp. (San Bruno, CA)

Project Lead

Technical lead for Y2K testing efforts of Catholic Healthcare West’s Year 2000 project. Oversaw 60 analysts in 15 teams located across California.

1998

SAIC, Inc. (Walnut Creek, CA)

Technical Lead

Managed a team of five engineers engaged in Y2K remediation of Kaiser Permanente’s healthcare systems.

1997

Ocular Sciences, MIS (San Francisco, CA)

Contractor

Development and support for several manufacturing and ANSI X.12 EDI systems.

Teaching Statement

My experiences at MSOE, Auburn, as well as my time with a professional training company, have solidified a very hands-on, pragmatic philosophy to teaching software engineering. The primary pedagogical approach at Internetwork Expert, Inc. was to introduce networking concepts, then demonstrate them via exercises. The material was reinforced through the repetition of hands-on labs and troubleshooting exercises. This strategy unintentionally incorporated five of the six learning domains in the revised Bloom’s Taxonomy; remembering, understanding, applying, analyzing, and evaluating. It was learning by seeing then doing. I believe this type of teaching strategy is especially effective for software engineering, as it introduces the concepts and gives the students exposure to the application of them in practice.

Research Statement

Imagine in 1994 the Bridge Building Group released a report that bridge builders spent $250 billion in 1993, building 175,000 bridges. Of these 31% had to be cancelled, 52% overran their budgets by nearly 200%, and only 16% of the bridges built were on-time and on-budget. Now imagine that in 2013 the Bridge Building Group announced that over the past twenty years bridge engineers had improved these numbers to only 18% failures, 43% over budget and late, and 39% on-time and on-budget. It’s disturbing that a profession could have such abysmal outcomes, yet that’s where we are with Software Engineering. These statistics were taken from the Standish Group’s 1994 and 2013 Chaos Reports on the state of software development. While their analysts attribute much of these gains to the advent of agile software development practices, it is clear that we need to continue improving our practices. I believe research into low-cognitive load techniques such as repatterning, can contribute to the agile body of knowledge, while ideas like process minimalism can shift agile to new places.