background preloader

Evidence Based Scheduling

Evidence Based Scheduling
Evidence Based Scheduling by Joel Spolsky Friday, October 26, 2007 Software developers don’t really like to make schedules. Usually, they try to get away without one. Most of the schedules you do see are halfhearted attempts. Hilarious! You want to be spending your time on things that get the most bang for the buck. Why won’t developers make schedules? Over the last year or so at Fog Creek we’ve been developing a system that’s so easy even our grouchiest developers are willing to go along with it. The steeper the curve, the more confident you are that the ship date is real. Here’s how you do it. 1) Break ‘er down When I see a schedule measured in days, or even weeks, I know it’s not going to work. This forces you to actually figure out what you are going to do. If you are sloppy, and pick big three-week tasks (e.g., “Implement Ajax photo editor”), then you haven’t thought about what you are going to do. Setting a 16-hour maximum forces you to design the damn feature. 2) Track elapsed time

Scott H Young » The Art of the Finish: How to Go From Busy to Ac Today I have a treat for you. Cal Newport from Study Hacks is going to share some of his insights on productivity. Cal is also the author of How to Become a Straight-A Student and How to Win at College. He is currently studying for a PhD at MIT. Last August, I published an essay on my blog, Study Hacks, that was titled: Productivity is Overrated. Productivity is Overrated That is, the two don’t need to go together. What Accomplished People Do Differently From my experience, the most common trait you will consistently observe in accomplished people is an obsession with completion. It’s this constant stream of finishing that begins, over time, to unlock more and more interesting opportunities and eventually leads to their big scores. If you are productive without harboring this intense desire for completion, you will end up just being busy. Introducing Completion-Centric Planning Here’s the reality: Real accomplishments require really hard pushes. Setup: Construct a Project Page Why This Works

How to Guide for Project Management This series is written in partnership with TeamGantt, provider of online project management software. It’s difficult to define what a “good” project manager is these days. Every organization defines the role, and often the title, differently. Project managers are needed in many industries. As a PM, you might work on small or large teams with job duties that range from budget and timeline only to everything you can think of under the operational sun. Creating realistic project plans, estimating time and effort, rocking a spreadsheet your own way... those are all things you MUST do as a good project manager, and those skills are easily learned. This series, written in partnership with TeamGantt, will cover both the soft skills and the hard skills. Communicate Like a Pro I’ve never loved the term “people person” but that’s because I’ve never met someone who prefers to communicate with a plant or a dog. It’s not all about you and your process as the PM. Be a Chameleon Status! Define Scope

Coding Horror: What is "Modern Software Development"? Joel Spolsky came up with a twelve-item checklist in August, 2000 that provides a rough measure of-- in his words-- "how good a software team is": Do you use source control? Can you make a build in one step? Steve McConnell enumerated Software's Ten Essentials in 1997, ten things that every software project should have: A product specificationA detailed user interface prototypeA realistic scheduleExplicit prioritiesActive risk managementA quality assurance planDetailed activity listsSoftware configuration managementSoftware architectureAn integration plan These are great lists. The lists are still highly relevant and definitely worth revisiting today. So here's my question to you: what core set of practices constitutes modern software development in 2006?

Bulletproof Web Design Contracts When you boil it down to its barest essentials, the sales process is simply a series of verbal agreements that ultimately gets documented in writing. That document ought to become your contract, proposal or whatever legally-binding agreement both you and the client sign to finalize the deal. If one side fails to live up to his or her part of the bargain, it’s called a "breach of contract." In order for a contract to be valid, there must be mutual agreement: offer and acceptance. Regardless of whether offer originates with you or with the buyer, there are essential components that should be present in every offering. Disclaimer: I am not, never have been, nor probably never will be, a lawyer; nor is this article intended to take the place of proper legal advice. Since I am a U.S. resident, some or all of this information may or may not apply in your country of origin, if different. "Does my Client Even Know What He Wants?" Scope of Work and Scope Creep Client Amends and Revisions "Help! 1.

Hack Your Work: 23 Ways to Get Ahead, Work Less and Achieve More It’s something we’re all looking for – the perfect solution that will minimize our work life while still getting the stuff done that we need to get done. Well, that one solution doesn’t exist, but with a combination of strategies, you can get to where you want to be. Now, none of these tips will turn your life around. One goal. Apollo Project Management Software – Best Web Based Online PM Tool 2012 Agile Software: Business Impact and Business Benefits - 10x Software Development Scrum Chickens and Pigs An interesting discussion came up on the Disciplined Agile Delivery discussion group on LinkedIn. Scott Ambler asked the question, "Is the chicken and pig analogy disrespectful?" Posted on April 8, 2014 4:36:PM by Steve McConnell to 10x Software Development Estimation Types When I get asked for an estimate, my first response is not a cost, a date, or a functionality number. User Stories Ain't Requirements Ain't isn't really a word but people use it, so does that make it de facto a word? 2013 ECSE Discussion Topics Posted I host an executive discussion group in the Seattle area called the Executive Council for Software Excellence (ECSE). Software Project Archaeology New White Papers Now Available We've recently posted more new white papers on our website. Construx Executive Summit 2012

How-To Price Freelance Projects Successfully One of the biggest challenges for new freelancers is pricing. Pricing projects isn’t easy. There are plenty of factors that come into play: How long will the project take?How clear are the client’s requirements? And then you also have to decide how to charge: hourly, fixed price or on retainer? Estimate Project Lengths as Accurately as Possible Estimating how long a project will take is the key to pricing it well. You can consider an endless number of factors when estimating a project, including some of the questions I’ve listed above. No matter what you do, always add a buffer. It doesn’t matter if you’ve worked with the client before, know exactly what the client wants, and have done the same thing a thousand times before. The size of the buffer you use is up for debate, but I’d generally increase your time estimate by 15-30%. Projects almost always take longer than you expect, so buffer your estimates each and every time. Bad Clients Such a thing exists. These indicators aren’t absolutes.

Related: