Subscribe to Macosxnerd101's Blog        RSS Feed
***** 1 Votes

When Classroom Meets Reality

Icon 8 Comments
As many of you all know, I have been working tirelessly for the past few months on my final exam grade in my Web Design and Development class- my nonprofit website project. The way the teams were broken down is that we had a combination of sophomores in the Project Management class and Juniors in the Web class on each team. The sophomores were responsible for documentation end of things, though many of them had proficiencies in ActionScript, so they worked on some Flash components for their teams' sites. The juniors were responsible for the actual design and development of the site, as well as maintaining client contact. The junior roles were broken down as follows:
  • Team Lead- Delegates work, maintains communication with clients, responsible for the production of the website.

  • Lead Developer- Responsible for all web programming aspects of the site. Delegates work with the approval of the Team Lead.

  • Lead Designer- Responsible for the overall design of the site, including HTML/CSS components, as well as any image manipulation. Delegates work with the approval of the Team Lead.

  • Content Specialist- A JackOfAllTrades (couldn't resist using the member tag here ;)), assisting with design and development work where needed. Works to insert content into the site. Delegates work with the approval of the Team Lead.


Note that these roles were not absolute, and each person could and did help out in other areas often.

For some reason, my teacher and the center chairman decided to put me as the Team Lead of the biggest project. This took me by surprise, as we had been talking about the Lead Developer role for me all year. Their reasoning though was that they felt I would be the best choice for the Team Lead role, and that they felt I would take over as Lead Developer anyways (which I did), as I had more development experience than anyone else in my class. In addition, they wanted to put me on the project with the most development responsibilities. Suffice to say that none of us had any idea of what we were getting into.

My clients were a new nonprofit dedicated to helping those with craniofacial disorders and their families get in touch with their congressmen and fight for healthcare reform regarding these disorders. So suffice to say, we were getting national attention, with Congressmen Mike Ross (D) and Eric Cantor ® already onboard with our clients. And our clients certaintly had high expectations of us, many times crossing the boundaries between plausible and this just isn't possible given our (knowledge/computer restrictions/limited time). They were definitely expecting professional-grade work from a group of high school students, and I had the hard task of fulfilling the responsibilities of two roles.

Before I continue with how the project went, let me explain the scope of the project. First, we were giving them not one, but two websites- the frontpage and the content management system. As I was the most experienced developer on the team, the CMS was my project exclusively. I dove right into PHP with topics I hadn't covered before including Sessions and MySQL connectivity, reviving SQL knowledge I hadn't really used in a couple years. The CMS was basically a tool for them to interact with the database without logging into PHPMyAdmin. It allowed them to manage their mass email list, the congressmen list, the personal testimonies, the letters sent to each congressmen (there was a PHP form on the frontpage for thisthat I'll go more into later), and send out a blast email to everyone on the list. It was fairly primitive and amateur behind the scenes, but it worked and dazzled them.

The front-site had a lot going on as well. First, let me preface by saying that I suck at design. We had a fairly complex homepage design. Off of it, we had CSS drop-down menus on the nav-bar, a busy header, and a ton going on in the body with text and images. The Contact Us page had a fairly different design in the body because of the form with a PHP portion for emailing the clients the user input. There was also a letter to the Congressmen (mentioned above) with modifications to the standard design for most of the other pages. In addition, this form had some more PHP functionality. It populated the drop-down for each state, and sent the letter to each Chief of Staff and Legislative Director to the Congressmen for the selected state, filling in the Honorable Senator/Representative, with the name of the Congressman for Senator/Representative. In addition, it wrote a letter to a file on the server for each Congressman and User, and wrote a record to the database with the letter path.

The next major components of the Site were the Flash Maps. Basically, we had a Map of the US, where the user clicked the state and it directed them to the appropriate part of another page, either a list of Congressmen or the Personal Testimonies for a state depending on the page the users were on. These pages populated the information dynamically from the database, with the latter linking to the Files on the server.

Beyond this, we had ~15 other pages to design and populate with content (which was provided).

In addition to the websites, I met with them to talk about what they needed on their server, and I sat in while they called GoDaddy to get a server set up. My team also designed some uneditable Word documents (minus the form components) so they could use for their legal documents, and they entered 500 some Congressmen into the database manually.

Problems We Encountered
-Creeping: Probably more appropriately described as quantum leaping in this project. Throughout this project, the scope kept growing. The clients wanted us to do everything for them, including setting up their email addresses on their Control Panel on GoDaddy to data entry. And as the deadline grew closer, they kept trying to add more. Two weeks before the due date, they told us they wanted another 8-10 pages with varying levels of design change, and they kept adding anal-retentive tweaks to the design, mainly the homepage (which looked fine). We compromised with them (after they told us how long it would take us to do the work, when they said they know nothing about computing), giving them a template page to modify. It got to the point where the Center Chairman and my web teacher gave us every period to work on the site instead of just the standard every Friday. This was a month out, and the work still piled up.

-The Clients: They were beyond obnoxious. I had ~20 emails/day in my inbox, one per tweak they wanted made and a bunch regarding their thoughts, feelings, and fears on everything. It took me an hour per day to weed through and respond to them all. The Center Chairman got it worse though, with about ~40 emails/day and the clients running up her phone bill, talking to her for an hour on her way home, and calling at inappropriate hours at night and on the weekends. I think they cried in one of the voicemails they left her. In addition, they couldn't say anything we did with design was good. They had to tweak everything to and from 1000 times just to tweak. They were one of the major things preventing us from finishing. On the last meeting where we were supposed to be going over documentation only, they brought us a sheetcake from Costco for all our hard work (quite a few people asked me if there was a $10,000 check in there), then were like "yah- redo the homepage entirely" and tore up our design- the design they asked for. This was three days before school let out, and after we were told we could stay on after the due date for extra credit and exemption from the rest of classwork in Web DnD the rest of the year.

-Changes in Technology: This was another major problem in the project. A week and a half before the project was due, the clients upgraded to IE 8 and the design blew up for them. It wasn't until Tuesday night three days before the due date did I diagnose the problem, when my dad opened up the site in IE on our home computer. I saw everything they complained about and asked him to check the version. Sure enough, it was IE 8. When he checked in Chrome, it displayed the same. So the next day, the Center Chairman pulled a rabit out of her hat and was able to get us access to Chrome, which displayed close enough to IE 8 that it allowed us to do some serious testing. And in three days, my team and I worked really hard on the design (mostly my team), going way above and beyond expectations to get more than 75% of the site optimized for IE 8 and Chrome. As a result, Safari played nicely as well, but we just didn't have time to optimize for Firefox as well.

Conclusion:
-In the end, we didn't finish the mile-long to-do list. I think the Center Chairman has another student finishing up the design and optimizations over the summer for community service hours. This is definitely real world, though. There are only so many hours in the day (and even coffee and mountain dew can't help you stay up 24/7 for 3 months) and so much manpower you can put into a project. Sometimes, you have to choose what does and doesn't get done, and even let someone else finish up your project.

-Creeping: The best thing to do here is to put the requirements in writing. What do they exactly want, what are the responsibilities of your team, what constitutes a reasonable expectation for tweaking, and the process to approve increases in scope. If there is one thing I would have done differently, it is this. I really wish I had insisted that my sophomores put in effort into the Project Charter so I could use it as a contract, rather than letting them do the minimal for the teacher to give them a 100.

-Support: If I learned nothing else, it is that you need the full support and motivation of your team and your boss(es). Both of these parties can make your life as team lead awesome or absolute hell. Keep this in mind, and be as supportive and facilitate everything you can for your team so that they can do their work. If they need tool a, b, and c, then try to get them a, b, and c. If they are overwhelmed and have no way to finish the task in the allotted time, allocate more manpower or time to them. If they are just being lazy, then this needs to be addressed as well. Though for my juniors to give up their Saturday afternoons for ~1 month to work on this project outside of class is pretty awesome, so laziness definitely was not an issue on my project.

My Grade: I got a 100 on my final exam grade, plus 5 points extra credit on my marking period grade, and exemption from the SQL unit in class. Of course, the SQL work I did for the project was more involved than the SQL unit in class.

8 Comments On This Entry

Page 1 of 1

bcranger Icon

27 June 2010 - 07:58 AM
Dang lol my school only offers up to AP CS =S
1

skyhawk133 Icon

27 June 2010 - 10:47 AM
Nice write up and a great experience (even if it sucked a little ;) )
0

macosxnerd101 Icon

27 June 2010 - 11:21 AM
Thanks! I definitely learned a lot, more about dealing with people and diplomacy more than anything technical on this project. Definitely prepared me for a typical day at the UN. ;)
0

cfoley Icon

28 June 2010 - 02:25 AM
Something I've found is that bosses respect the ability to say no. If you keep trying to keep up with unreasonable requests they'll think it's always OK to ask that much. Sometimes no comes in the form, "if you want us to tweak the front page again the CMS will be pushed even further back, and our project ends next week".
0

Dogstopper Icon

28 June 2010 - 04:44 AM
Nice mac. Now I see exactly why you have been so busy. Nice work! I'm sure it will look excellent on your resume!
0

Fib Icon

28 June 2010 - 06:26 AM
I can't believe that was a high school class. I haven't even done that kind of work in a college class yet.
0

macosxnerd101 Icon

28 June 2010 - 08:36 AM
@cfoley: Trust me when I say that we told them no a lot, especially towards the end of the project. When they tried to add all those pages so close to the deadline and the center chairmand & I said no, she told me that it wouldn't take that long, that the center chairman told her so (which was a lie). Then when we had to optimize the site for another browser, we made no promises about what we could and couldn't do, only that we'd do our best. These clients didn't seem to understand that they were getting all of this for free. Looking back on this, it's kind of comical. :lol:

@Dogstopper: Thanks!

@Fib: We definitely have an awesome IT curriculum at my center, with a great group of overqualified teachers. That helps a ton right there.
0

Creecher Icon

03 May 2011 - 07:12 PM
This is my situation, except I'm the only person working on it. Feels bad man.
0
Page 1 of 1

September 2014

S M T W T F S
  1 23456
78910111213
14151617181920
21222324252627
282930    

Recent Entries

Search My Blog

0 user(s) viewing

0 Guests
0 member(s)
0 anonymous member(s)