Software Engineering Blog

Challenge Yourself!

I’m sitting in as a Proctor for the IEEEXtreme Programming Competition at West Virginia University’s Lane Department of Computer Science and Electrical Engineering this morning. It is a 24 hour student competition sponsored by the International Electrical and Electronics Engineers (IEEE) Association. Several students have chosen to spend their Friday night (started at 8 pm) and Saturday (ends at 8 pm) to solve computer science and programming problems to compete against teams across the globe. You may be asking me now, so what?

Think about your life and ask yourself who has challenged you: a family member? a teacher? an employer? What about you? Do you challenge yourself? These students had no one individual except themselves to challenge them to stay awake for 24 hours and test their programming and problem solving abilities against their global peers. Why, when others choose to sleep or party or do whatever you do at 3 AM! on a Saturday morning, would these few individuals choose to “Challenge Themselves”?

What do YOU want?

This question has several meanings depending upon the inflection used on different words. This is the question asked to initiate a software development project. The emphasis here is on “YOU” because someone must first define what software needs developed. Identifying the “YOU” can sometimes be a challenge in and of itself. Who is the customer? Many times what they want must be balanced with time, budget, and the capability to achieve the desired outcome. The collection process of what is termed “requirements gathering” can become complex as the project moves from a basic simple solution to a large complex one such as sending man to Mars. As a student I had to identify what the instructor wanted in order to comply with an assignment. My first work experience was at the Department of Energy as a Computer Programmer Intern. I was assigned a project converting a Correspondence Tracking System from paper to an online system. I found out later that the person that first requested the project was not the only customer. I only found this out after having developed a pilot version which in my mind was the final version. I demonstrated it and then discovered from another customer that several more requirements were needed to complete the system to meet all of the users needs. Sometimes the best lessons are learned in life through life but much time and pain can be saved through a formal education. Several courses in the WVU Online Software Engineering Program help to provide the foundation for success in answer to the question of “What do YOU want?”.

Please feel free to comment on your experience with defining a software development project.