Student Blogs - Carnegie Mellon Silicon Valley - Carnegie Mellon University

Student Blogs

MS in Software Engineering, Technical Track Blog

Wondering if a Carnegie Mellon degree is right for you? Read about our students' experiences through the MS in Software Engineering, Technical Track program.

Rahul is a full-time MS Software Engineering, Technical Track student. He loves traveling, trekking, swimming and is a complete movie buff.
Anthony is a 2nd year part time student in the MS Software Engineering, Technical track program and works at OSIsoft as a Software Engineer. He loves spending time with his family, hiking, biking, gardening, cooking, and sometimes photography.
Suma is an alumna of the MS Software Engineering, Technical Track program. A Mechanical Engineering undergrad, she loves writing and is passionate about music, shopping and dogs.
Minh is a Software Design Engineer at Microsoft and alumnus of the MS Software Engineering program. He is also a Vietnamese community activist, a cat-lover and passionate fan of film music.
Nick is a Software Engineer at Google and a first-year grad student at Carnegie Mellon Silicon Valley. He loves hiking, gaming, and both really extremely good and extremely bad movies.

Friday, October 26, 2007

Software Metrics Before and After (Part II)


Last week we wrapped up the 7-week Software Metrics class, and while I realize that I have learned a lot about Software Metrics, I must admit that this hasn’t been my favorite class. That actually comes as a surprise to me, because I have mostly enjoyed and was even thrilled about previous classes so far.

In this class we were given two problem statements of two fictitious development companies facing software management challenges, and were asked to analyze, and research the companies’ development management practices and propose metrics initiatives catered to them that allows stakeholders to better estimate and predict software development schedules. Throughout this process, we learned about the Goal-Question-Metric process, earn-value charts, burn-up/down charts, how to design balanced dashboards and reports, the social impact of measurement on developers, change management and of course a variety of software metrics commonly used in the industry such as function points, velocity, story points, and cyclomatic complexity.

The class made a point about the importance of software metrics and correct measurements, and how it enables development managers and even non-technical managers to better manage time, money and development resources as well as accurately predict completion dates. Throughout taking this class I kept on thinking about the consulting job I did for my friend. When prompted about the progress of that project I kept on saying that I was almost done. The thing is, I said for four years! I mostly attribute this to my inconsistent velocity (I would work on the consulting project only when time permitted and whenever I wasn’t preoccupied with my non-profit work) and to scope creep or changing requirements. If I only had measured key metrics in the past years, I could have charted these metrics out to see why and when the project kept on slipping.

This class was very different from the previous semesters, for we didn’t do any role-playing. Professors were professors, and students were students. Instead of interacting with faculty as stakeholders, we analyzed the problem statements, conducted research, asked questions, conducted further research, discussed with team members during plenary sessions and then developed a solution in the form of a written proposal that we later presented in 30-minute presentations to the entire class. This problem-based learning approach turned out to be not my strength, because I am used to being able to simply walk into people’s offices to resolve ambiguities about requirements instead of being on my own in making decisions based on only what’s been given to us.

On the other hand, what I liked about this class is that we were introduced to more software lifecycle management. In the first problem statement we concentrated on the unified process, and in the second problem statement we focused on SCRUM. Having practiced SCRUM successfully at my professional work for more than a year, I became the subject matter expert on this in the class and provided my teammates with my experience and even real SCRUM charts and reports from work.

All in all, while I agree that software metrics is key to successful software development management, I thought that the art of designing a report or developing a metrics initiative might be better suited to program managers and not developers. In fact, I even spoke with our dean of education about my feelings toward the class, and he was very receptive to what I had to say. That’s another great thing about this program – there is such strong student support, and the faculty are very keen to take our feedback on the classes as they evaluate the curriculum. With that, I am enjoying my one-week vacation and look forward to the construction class that starts next week. We’ll be doing a social-networking website for smart devices with Ruby and Rails. How cool is that?!

posted by Minh Nguyen @ 3:36 PM 

0 Comments:

Post a Comment

<< Home

Previous Posts