My Life in Tech: Q&A with Software Assurance and Requirements Engineer Nancy Mead
InformIT: Can you explain what you do as a principal researcher in the CERT Division at the Software Engineering Institute?
Nancy Mead: I primarily lead and participate in small research and education projects in software assurance and software requirements engineering. I also participate heavily in professional activities and enjoy teaching at CMU and mentoring students and occasionally other staff members when the opportunity arises.
InformIT: What are you working on now with regard to your study of software security engineering?
Nancy: Since 2009 I’ve been leading a software assurance curriculum team. We’ve developed a Master of Software Assurance (MSwA) reference curriculum and many related reports, including a recent report describing a software assurance competency model. I also lead my own research project in security requirements engineering, primarily as an outgrowth of my work on SQUARE and participate in a couple of other requirements engineering projects at the SEI.
InformIT: How and when did you make the transition from mathematics to software engineering?
Nancy: When I was finishing my master’s degree in mathematics, the career opportunities were in teaching, actuarial work, statistical work, and computer programming. I had gotten the lion’s share of my education on scholarships and fellowships. I knew that I didn’t want to teach at the secondary school level, but couldn’t afford to go on for a PhD at that time. I knew very little about actuarial work and wasn’t interested in statistics. A couple of my classmates encouraged me to apply for programming jobs, even though I had never had a programming course or done anything on a computer. At that time, companies were hiring just about anyone with a STEM degree into programming positions, not to mention taxi drivers and Classics professors, so it was almost accidental that I got into the field. Later on, thanks to my math background, I was involved in programming scientific and military systems, so there was some algorithmic work, but it was far from the theoretical math that I studied in school. When I finished my PhD in math, thanks to a teaching fellowship, I realized that I didn’t want to become a full-time faculty member, so for a while I taught math as an adjunct faculty member, while pursuing a software engineering career. I still find math to be aesthetically pleasing and challenging. I am more or less technically obsolete in math and have had thoughts of going back and brushing up, just for fun, but haven’t had time to do that yet.
InformIT: How has software security engineering evolved in the last ten years, and what are the new challenges that software security engineers are facing in the coming decade?
Nancy: Ten years ago I would say that most of the effort in software security was spent on protecting and defending systems that were already operational. The notion of developing systems that are more secure in the first place is a newer idea. Software security engineering has evolved in much that same way as software engineering did many years ago. We’ve worked our way back in the lifecycle from testing to coding, design, architecture, and requirements engineering. Of course these days we are dealing with large and complex systems of systems sitting on networks, rather than the standalone software systems that were more typical in the early days of software engineering.
InformIT: Software security continues to be a significant problem. What is the biggest challenge in getting organizations to adopt development methods to produce more secure software?
Nancy: The biggest challenge is convincing organizations that it is worth the investment. It is still very hard to make the ROI argument for producing more secure software because we have so little measured data. Microsoft and other vendors have collected their own data and see the value, but other organizations that are not software vendors don’t have the same motivation. I think that they also underestimate the risk and impact of a security breach. In addition, there are still many organizations that don’t have a decent software engineering process, making it more difficult to effectively introduce software security engineering.
InformIT: Tell us about the process of contributing to Software Security Engineering: A Guide for Project Managers. What section(s) did you contribute? Has the information changed significantly since the book was published in 2008? If so, how?
Nancy: Well, it turned out that I actually ended up leading the effort to write the book. We had five authors across two organizations – SEI and Cigital. Our original idea was to write a compendium where each author contributed a section or two. However, after going through the book proposal process, it became clear that a more integrated book was needed in order to be successful. This meant that we needed a much more collaborative effort than was originally envisioned. Just about the only thing that all the authors agreed to the first time around was the cover design, but that was at the end of the process. Thankfully we had management support and access to our SEI support staff and editors, or it would have been an impossible job. I pride myself on my organizational skills, but this was truly herding cats.
Now, to answer your original question, my technical contribution was Chapter 3 on Security Requirements Engineering. The book content is still valid and relevant, but the environment has changed considerably since then, and there are many areas that are newer and more mature. Cloud computing was basically non-existent, and mobile applications were not nearly as widespread. The Microsoft SDL was not widely used, and models such as BSIMM did not exist. In my “spare time” I teach a mini-course in Software Security Engineering at CMU in the Master of Software Engineering (MSE) program and use the book as a text.
InformIT: What do you consider your greatest achievement so far?
Nancy: I don’t usually think about that because a lot of the things that I have valued the most have been the least expected. There are a few honors that were the most meaningful and humbling for me – being named an IEEE Fellow, having an award named for me (Nancy Mead Award for Excellence in Software Engineering Education & Training), having a Nancy Mead track in 2008 at the Conference on Software Engineering Education and Training (CSEET), and getting a Lifetime Service Award for my contributions to the Requirements Engineering community. Occasionally I get an appreciative E-mail from one of my former students and that is very special as well.
InformIT: What is the most important advice you could give to a young person who is interested in pursuing a career in software engineering?
Nancy: Get a solid education in software engineering and be sure that you really love the field. Don’t just go into it because it’s popular or because you think you will be financially secure. As much as possible, do it because it’s fun. It’s a very intense field, and if you don’t enjoy it you will get burned out pretty quickly.
InformIT: What are the most interesting developments happening right now in software security engineering?
Nancy: Right now the field is huge and growing, so it’s hard to pinpoint a single area. The areas that are interesting to me are not necessarily those that interest others and vice-versa. I’m sure it’s obvious by now that I’m interesting in security requirements engineering, software assurance education, and software assurance competencies. Some of the folks that I work with are involved in risk, measurement, and supply chain risk management, and others are involved in malware analysis, to name just a few.
InformIT: What have been the biggest challenges you’ve had to face in your career?
Nancy: I can think of several big challenges – one was preparing for my PhD qualifying exams, another was working on a high-pressure development project with tight deadlines. Probably the biggest challenge was being a software development manager at a time when there were few women in the field. One customer called me “little lady,” whereas another made surreptitious inquiries about whether I was competent. In large meetings people assumed I was the secretary taking notes, and still others thought that I was put into management to satisfy an EEO goal. Of course as a math major I was used to being in the minority and plowing ahead, so by the time I got into software management I pretty much ignored all those distractions. I think young women in the field have a much better time of it these days, although it’s still not easy.
InformIT: What is the most important advice you’ve ever received?
Nancy: Related to the previous question, in grad school at Brooklyn Polytechnic Institute, I was fortunate to have Dr. Lesley Sibner as one of my professors. She is brilliant, dynamic, personable, and empathetic. She showed by example that a woman can have it all. I would say she was my first mentor, even though the concept of mentoring didn’t formally exist at the time. One time in her Partial Differential Equations class I asked a question, and qualified it by saying that maybe it was a dumb question. She retorted that women always think that they are asking dumb questions. I realized that she was right and I was marginalizing myself. She also gave me good advice on preparing for the PhD qualifying exams, which were daunting for me at the time. My parents had never finished high school, so actually getting a PhD seemed beyond the realm of possibility, and I had no idea how to study at that level.
InformIT: Where in your field do you see a need for more students?
Nancy: I’d like to see more students in software assurance. There are quite a few studying computer science, information systems, information security, and to some extent software engineering. However, the number of students studying software assurance is relatively small, although the number of universities offering courses in the area is also small.
InformIT: What do you do for fun?
Nancy: I’ve tap danced for years and occasionally I do ballet and yoga. I also play golf and enjoy walking my dog Cocoa. In addition I enjoy cooking – years ago I was one of the initiators of a gourmet cooking club called the Glutton Society, but more recently I organized a dining club that goes out to restaurants, since there are fewer people who want to cook as a hobby. I think our original Glutton Society still gets together once in a while, but they mostly dine out as well!