I’m glad to see this blog getting under way. Things are pretty busy, so I’ll dive right in.Two topics stood out to me in your post, and I’ll respond to each in turn. First, the topic of our office’s working dynamic. Second, the topic of dates.As you mentioned, the company started with two guys who could make things work by tackling everything by themselves. Now that we’ve grown much larger, communication is especially important. Employees need to know how their work fits into the whole project, and management needs to have all the information necessary to make top-level decisions. With regard to why we don’t have everything finished yet, you said the following:[INDENT]Plainly, because we have no idea what weâ€™re doing.[/INDENT]If you have no idea what we’re doing, it’s probably because you spend so little time in the office. I can always give you a status update, but it’s a tall order to keep you posted on all the information you would glean by simply being present for the full work day.Regarding dates: there are estimates, and there are deadlines. Estimates are not deadlines.Whenever I provide an estimated release date, I make it very clear that they are ESTIMATIONS, NOT COMMITMENTS. That’s usually met with something like, “Yeah, yeah, yeah. We know they’re only estimations, just give us the dates.”I’m not opposed to deadlines, but I think they should be in place for the right reasons. Say we have the opportunity to provide rakeback for amazon.de, but a German law is going into effect on Jan 1 which would block any new gaming partnerships. Obviously, this is a good reason to set a deadline.On the other hand, say we just want features to roll out more quickly. Deadlines now become dangerous. With those in the tech department hard at work (I’m proud to say they are), assigning deadlines based on imperfect information leads to buggy software and unhappy employees. We’ve already learned from this mistake once in April.Tech did not meet your expectations for a quick rollout. We didn’t meet our own expectations. But the problem was not with our productivity, the problem lay in the expectations. Our estimations are better now than they were six months ago, but they’re still admittedly bad. Here are a few reasons our estimations will improve:
- Experience – The more we produce as a team, the better we can estimate how long it takes who to do what.
- Project Tracking – Software management tools will help predict when resources will be available.
- Subversion and Testing – Ironing out the kinks in these two practices will cut way down on integration time (time spent making all the developers’ code work together), which is difficult to estimate.
Estimates usually change because of something unexpected, like a bug or a power outage. These unexpected things tend to increase time requirements, so it’s no surprise that poor estimates are so frequently short rather than long.If anyone reading this has experience in software management, I’d love to hear your thoughts. We’re writing good code already, and I hope to put some lightweight practices in place to help us continue writing it faster and with better predictability.Here are my latest estimated release dates.Release 2.4 – 9/5Dashboard NewsNews RSSDashboard Widget ControlGlobal News ControlPublisher Payments Reporting (sortable, filterable statements)Publisher Payment Controls (payment notes, payment search, edit cashout options)PAS Affiliate ProgramRelease 2.5 – 9/22Additions to Websites PageFull Domain DNS CheckingWebsite Reporting (MGR, Sign-Ups MTD, etc.)Website Controls (host disabling, alias editing, etc.)Publisher Players Overview Page (manual player creation, aggregate player data/graphs, ect.)Publisher Player Page (manual tracker creation, individual player data/graphs, helpdesk history, etc.)Release 2.6 – 10/10Publisher Player Referral ControlsPublisher Player Referral ReportingStatic Groups (groups of players selected by publisher)Smart Groups (groups of players live-generated on criteria selected by publisher)Group Controls (export, email, etc.)Release 2.7 – 10/24Publisher Product Pages (like product-version of dashboard)My Account PageRelease 3.0 – 11/7BankrollsRelease 3.1 – 11/28Website Grouping (by domain, product, localization)Client ScoringGlobal CRM (pending details)Release 3.2 – 12/29Bayesian Processing for Bankrolls