Joel Spolsky explains Evidence Based Scheduling (EBS), in detail, at Joel on Software. EBS, which is included in the latest version of Fogbugz, predicts ship dates based on individual developers’ historical accuracy in making estimates. Nice.
In April 2007, A List Apart and An Event Apart conducted a survey of people who make websites. Close to 33,000 web professionals answered the survey’s 37 questions, providing the first data ever collected on the business of web design and development as practiced in the U.S. and worldwide.
A List Apart also provides the anonymized, raw data from the survey. If you’re up for it, you could make your own fun charts to justify a raise to your boss.
via Vitamin News
When armed guards need to be stationed at the Human Resources office, it may be an indication that something has gone terribly wrong with your project. This is precisely what happened at Arizona State University after they rolled out a new Oracle application to manage their payroll (requires wsj.com subscription, sorry). According to the article, this was the result of ASU’s new approach to managing technology projects. Part of this new approach includes admitting that there will be problems up front, then working through them with some help from the people using the problem software. In other words, release early and often.
In many cases, that isn’t a bad approach, but a line needs to be drawn somewhere. When people don’t get paid, they get upset–rightfully so. In the end, one could label this project a success since they are now cutting paychecks at a lower error rate than they had with the old system. But, over the course of several botched pay cycles, enough animosity has been created towards the IT department that it will be difficult to overcome. Asking one of those who had difficulty paying their bills how successful the project was is unlikely to produce a positive response. This won’t make rolling out the next project any easier.
So, if armed guards may be a necessity, think twice before applying the beta tag to a project that should really be more rigorously tested.
Dealing with a group of people’s time off can be a headache. Spread that group across several locations and that headache quickly turns into a migraine. There are hundreds of applications to help with this which range from the very rudimentary to the overly sophisticated. WhosOff, a free web application, looks to have hit the sweet spot here. It is easy to use, but also includes more advanced features like time off approvals. Since it is web based, it is simple to deploy and has the added benefit of allowing the whole team to see who’s out of the office at any given time. Sharing this information with the team becomes more important as the team grows and is difficult to do if the information lives only on the manager’s computer–or, even worse, in their head. WhosOff will get this information in front of the team where it belongs without burdening the team members or mangers with unneeded overhead.
You know about object-oriented programming and all its goodness. Now, step up to abject-oriented programming. Learning to work in an abject-oriented (AO) environment is important since there is a high demand for people that can maintain existing abject code (there is a lot of it out there). Greg Jorgensen’s Introduction to Abject-Oriented Programming will get you started by touching on some of the high points of AO. Here’s an excerpt that describes an AO best practice:
A good time to write documentation is when someone in the department gives two-weeks notice: use that time to make sure the departing team member documents all of their code.
Make sure you peruse the comments on that post. Its amazing how many people disagree with abject-oriented practices.