• Posted on February 12, 2017 6:50 pm
    Joseph Forbes
    No comments

    Well it always happens (short post), eventually automation gets comfortable with itself and BOOM!  An Update overwrote our custom theme. Across my SNX Consulting network, I accidently applied a theme update to my custom "Vanilla" theme which I'm using as a placeholder.  Welp, it just happens to be the same name of another theme that is publically available through WordPress.   So through my "left-clicky" of Apply Updates, I ended up overwriting my custom theme. Basically means, my homepage is now showing someone else's theme work, and a nice scoop of vanilla ice cream. A Yummy Mistake!, So after I go get a bowl of Vanilla Ice Cream, I'll look for my backup. Maybe have it fixed by Monday

    Blog Entry, HAPPINESS
  • Posted on January 5, 2017 10:12 am
    Joseph Forbes
    No comments

    The problem begins with Microsoft's attempt to update things for Operating Systems (Like Windows 7), to be compatible with the newer Windows Update methods.   Since the release of Windows 8 & 10, including the 8.1, and 10 AU updates, Windows 7 has fallen behind in the care and love from Microsoft.  However sometime in July some patches were applied that broke the Windows Update process for Older Windows 7 systems.   This really affected people with clean/new installs of Windows 7, that haven't had all the updates applied since June/July 2016. I've had this problem with virtual machines I've recently setup that had clean installations of Windows 7, but Service Pack 1, is pretty far behind.  I haven't done my "due diligence" in slipstream Windows Updates into my Install ISO. After awhile, I found out that letting the Windows 7 machines just idle (tax at 100% CPU & RAM) for three days, until finally Windows Update shows a list of available updates to apply.  Then once more, having to apply those updates, and do it again to finish up with any updates that were not discovered beforehand. Step 1. Make sure you have KB 3078601, 3109094, 3138612, 3145739, and 3164033 installed You only have to do this once. To see if you're missing any of them, you can check the Windows Updates installed updates list (Start, Control Panel, under Windows Update click View installed updates). But it’s probably easier to download all of them and try to install them. If one is already installed, the installer will tell you -- no harm done. Step 1a. Make sure you know if you have a 32-bit (so-called “x86”) or 64-bit (“x64”) version of Windows 7. If you’re not sure, click Start, right-click Computer, choose Properties, and look under System type. Step 1b. Use any browser to go to each patch download site: KB 3078601  x64 x32 KB 3109094  x64  x32 KB 3138612  x64  x32 KB 3145739  x64  x32 KB 3164033  x64  x32 Step 1c. On each of those sites, Click Download. You’ll get an MSU file. In Chrome and IE, by default, you see an offer to either Open or Save the file. Save it. In Firefox, by default, the file downloads. These Microsoft servers are notorious for freezing -- sometimes the download won’t start, sometimes it won’t finish. If that happens to you, try reloading the page (click the circle-arrow near the address bar). You can also switch browsers. In any case, if you experience oddities while trying to download you aren’t the only one. Step 1d. Turn off Windows Update. The least confusing way to do that is to click Start > Control Panel > System and Security > Administrative Tools. Double-click on Services. Scroll down the list of Services and click once on Windows Update. Then, in the upper-left corner, click the link marked Stop. Step 1e. Double-click to run each of the five downloaded files. If the installer says you already have the patch, smile and go on to the next. Running those five updates will get you set up for the one significant update you need to run each month. Unless something weird changes (hey, this is Windows), you never need to go through Step 1 again. Step 2. Find this month’s favored patch and install it Unfortunately, the patch itself changes from month to month -- or at least, it has changed in every month since March. Here’s how to finish the job: Step 2a. Go to wu.krelay.de/en and find the latest magical patch. It’s listed at the top of the first table on the wu.krelay.de/en site. In July, the magic patch was KB 3168965. No doubt there will be a new one in August and another in September -- for however long we have to struggle with slow Win7 updates. Step 2b. Armed with the knowledge about whether your Windows 7 installation is 32- or 64-bit, use the links in that first table with any browser to download the correct patch. Step 2c. Save the patch but don’t install it. Step 2d. Make sure the Windows Update service is stopped. See Step 1d above. Step 2e. Double-click to run the downloaded patch. Step 2f. Reboot, as instructed after the patch is installed. (The Windows Update service will restart itself.) Then click on Start, Control Panel, and under Windows Update click Check for updates. If all went well, the check should take a few short minutes. My thanks -- and deep admiration -- to Dalai, ch100, and EP.

    Blog Entry, HAPPINESS, Patches
  • Posted on January 3, 2017 12:00 pm
    Joseph Forbes
    No comments

    Keeping track of passwords can seem like a hassle. Most of us have multiple sites we visit which require password logins. So many, in fact, that it's tempting to use the same username/password combo for all of them. Don't. Otherwise, it takes only the compromise of a single site's credentials to have a toppling domino effect on the security of all your online assets. Fortunately, there is a fairly straightforward way to have different passwords for each site you use but still make the passwords easy enough to remember. Creating Unique Passwords Before you begin creating strong passwords, you need to consider the use of those passwords. The intent is to create strong passwords unique to each account, but easy enough to memorize. To do this, first begin by splitting the sites you frequently login to into categories. For example, your category list might read as follows: social networking sites auction sites ecommerce sites email accounts banking sites forums A word of note here about forums. Never use the same password for a site's forum as you would for logging into the site itself. Generally speaking, the security on forums is not as strong as it is (or should be) for the regular site and thus the forum becomes the weakest link in their security. This is why, in the example above, forums are split into a separate category. Now that you have your categories, under each appropriate category, list the sites to which you must log in.  For example, if you have a Hotmail, Gmail, and Yahoo account, list these under the category 'email accounts'. After you've completed the list, you're ready to begin creating the strong, unique, and easy-to-remember passwords for each. Creating Strong Passwords A strong password should be 14 characters. Each character less than that makes it a little easier to compromise. If a site absolutely won't allow a password that long, then adapt these instructions accordingly. Using the 14 character password rule, use the first 8 characters as the common portion to all passwords, the next 3 to customize by category, and the last 3 to customize by site.  So the end result ends up like this: common(8)|category(3)|site(3) Following this simple rule, when you change your passwords in the future - which, remember, you should do often - you'll only need to change the first common 8 characters of each. One of the commonly recommended means of remembering a password is to first create a passphrase, modify it to the character limit, then begin swapping characters for symbols. So to do that: Come up with an 8 letter passphrase that is easy to remember. Take the first letter of each word to form the password. Substitute some of the letters in the word with keyboard symbols and caps (symbols are better than caps). Tack on a three letter abbreviation for the category, also replacing one of the letters with a symbol. Tack on a site specific three letter abbreviation, again replacing a single letter with a symbol. As an example: In step 1 we might use the pass phrase: my favorite uncle was an air force pilot Using the first letters of each word, we end up with: mfuwaafp Then we swap some of those characters with symbols and caps: Mf{w&A5p Then we tack on the category, (i.e. ema for email, and swap out one character of ema: e#a Finally, we add the site abbreviation (i.e. gma for gmail) and swap out one character: gm% We now have a password for our gmail account of Mf{w&A5pe#agm% Repeat for each email site, so perhaps you end up with: Mf{w&A5pe#agm% Mf{w&A5pe#aY%h Mf{w&A5pe#aH0t Now repeat these steps for the additional categories and sites within those categories. While this may look hard to remember, here's a tip to simplify - decide in advance what symbol you will equate with each letter.

    Blog Entry, Data Recovery, Hacking
  • Posted on June 15, 2016 10:00 am
    Joseph Forbes
    No comments

    If you've ever wanted to teach yourself how to do something, learn more about a particular discipline, or immerse yourself in something you've always wanted to know more about, then the Web is your dream come true. There’s no need to sign up for expensive college classes that can be outdated as soon as you finish them, or order books that lose their value as soon as you receive them in the mail. The Web has made all of that somewhat obsolete with free training on pretty much anything you can think of .In this article, we’re going to look in depth at online resources you can tap into for teaching yourself; some of these are email-based, some are in a game format (always my favorite!), and some are instructor-led via video. Just pick and choose the one that works best for you. unsplash.com 1.  MIT Open Courseware One of the most venerated educational institutions in the world, the Massachusetts Institute of Technology has been offering free classes taught by world-class instructors for several years now. Over 2000 (!) free classes are available in a wide range of subjects, including Computer Science. Course offerings include Introduction to Computer Science and Programming, Elements of Software Construction, and Computer System Engineering. Most are packaged with online lecture notes, multimedia content, assignments and exams (with an answer book if you get stuck), online textbooks, even study groups. No registration is required to take these classes, and no certificates or credits are granted once you take these classes. However, that doesn’t make these offerings any less valuable (especially on a resume!), and all are available to take at your own pace. More » 2.  Coursera Coursera is an online collaboration between several of the top-tiered universities in the world, with offerings from a wide variety of programs, anything from Humanities to Biology to Computer Science. Online courses include classes from Duke University, Georgia Institute of Technology, Princeton, Stanford, the University of Edinburgh, and Vanderbilt. For those of you interested in computer science or technology-related offerings, there are classes offered in Computer Science (Artificial Intelligence, Robotics, and Vision), Computer Science (Systems, Security, and Networking), Information Technology and Design, Programming and Software Engineering, and Computer Science Theory. Classes include online lectures, multimedia, free textbooks, and links to other free resources, like online code testers. Registration is free, and you will earn a signed certificate for each class you complete (must complete all assignments and other coursework). More » 3.  Code Academy CodeAcademy aims to make learning how to code fun, and they do this by making all of their courses game-based in nature. The site offers “tracks”, which are series of courses grouped around a particular topic or language. Course offerings include JavaScript, HTML, CSS, Python, Ruby, and JQuery. Registration is free, and once you get going in a class, you start to earn points and badges as a way to keep you motivated. No certificate or credits are offered here, however, the interactive classes make complicated concepts seem not as intimidating. CodeAcademy also runs CodeYear, a year-long collaborative effort to get as many people learning how to code (one lesson per week) as possible. More than 400,000 people have signed up at the time of this writing. More » 4.  Khan Academy The Khan Academy is an online library of video resources on nearly any subject you can think of, from Linear Algebra to Finance to Test Prep. They’ve got over 3000 videos from experts in the field, including Computer Science and the basics of programming. Interactive challenges and level by level assessments are available with each class, along with points and badges to measure your progress. All courses are self-paced; no credit or certificates are awarded. Videos are conversational in style, making complicated concepts easier to understand no matter what your educational level might be. More » 5.  Udemy Udemy differs a little bit from other sites on this list in two ways: first, not all of the classes are free, and second, classes are taught not only by professors but also by people who have excelled in their particular fields, like Mark Zuckerberg (founder of Facebook) or Marissa Mayer (CEO of Yahoo). There are plenty of “learn to code” classes here, but there are also course offerings here like “Product Development Process” (from Marissa Mayer), “Product Development at Facebook” (from Mark Zuckerberg), or iPhone App Design (from the founder of App Design Vault). More » 6.  Udacity If you’ve ever wanted to do something like create a search engine in seven weeks (for example), and you’d like to learn directly from one of the co-founders of Google, Sergey Brin, then Udacity is for you. Udacity offers a limited selection of courses, all computer science related, with instruction from distinctive leaders in their fields. Classes are organized into three separate tracks: Beginner, Intermediate, and Advanced. All classes are taught in a video format with quizzes and homework assignments, and final grades/certificates are awarded to students who finish the coursework successfully. One really intriguing thing about Udacity: they actually help their students find employment with over twenty technology-related companies, based on referrals from their Udacity credentials. Students can opt in to Udacity’s job program when they sign up for classes (free), where they can choose to share their resume with the Udacity team and potential employers. More » 7.  Google Code University Learning how to code from the team behind the most popular search engine in the world? Seems like a pretty good deal. Course content here includes information on Computer Science, Programming Languages, Web Programming, Web Security, even Google APIs and Tools. Google Code University is free and does not require registration; classes are offered via recorded video lectures, talks, problem sets, exercises, documents, and slides. Computer programming language courses are mostly introductory in nature, and include languages such as Python, C++, Go, and JavaScript. No certificates or credits are awarded with the completion of these classes. More » 8.  University of Reddit Reddit, one of the most popular communities on the Web today, has one of the best kept secrets online, and that is the University of Reddit: classes taught in a variety of disciplines ranging from Art to Technology by Redditors who are experts in their fields. Classes are free, and all it takes to sign up is a username and password. Depending on who is teaching the class (there’s not really a centralized source of information), you’ll get video lectures, assignments, tutorials, and collaborative instruction/feedback from others in your class. More » 9.  P2PU Peer to Peer University (P2PU) is a collaborative experience where you’re meant to learn in community with others. Registration and courses are totally free. There are several “schools” within the P2PU organizational framework, including one for Web-based programming backed by Mozilla, creator of the Firefox web browser. As you complete courses, you can display badges on your website or social profiles. Courses include WebMaking 101 and Programming with the Twitter API; no developer certifications are offered here, but the courses are well executed and worth taking a look. More » 10.  edX edX is a collaborative effort between Harvard University and MIT to bring free online courses from both institutions to the Web for anyone to take advantage of. Classes from Harvard, MIT, and Berekley are offered here for free, with more universities joining in the near future. Certificates of completion are awarded at the time of this writing for free; however, a “modest fee” for these certificates is planned for future students. Classes are somewhat sparse right now, but the origin of the classes as well as the informational content is well worth a look; for example, you could try Software as a Service from Berkeley, Introduction to Computer Science from Harvard, or Introduction to Computer Science and Programming from MIT – all for free. 11.  Stanford Stanford University – yes, THAT Stanford – offers an ongoing selection of free courses on many topics. If you’re looking for a basic introduction to Computer Science, you’ll want to check out SEE (Stanford Engineering Everywhere), which is ostensibly for students interested in engineering, but there are quite a few technology-related class offerings here as well. In addition, there’s Stanford’s Class2Go, an open platform for online research and learning. There’s a limited course offering here at the time of this writing, but more classes are planned in the future. Courses include videos, problem sets, knowledge assessments, and other learning tools. More » 12.  iTunes U There is an astonishing amount of free learning material available through iTunes, from podcasts to interactive classes to educational apps. Dozens of reputable universities have created a presence on iTunes, including Stanford, Berkeley, Yale, Oxford, and Harvard. You’ll have to have iTunes in order to use this program; once you’re in iTunes, navigate to iTunes U (near the top of the page), and you can start to check out the course offerings. Classes are delivered directly to you on whatever device you’re using to access iTunes and are available in a variety of formats: videos, lectures, PDF files, slideshows, even books. No credits or certifications are available; however, the sheer amount of learning opportunities here from world class institutions (more than 250,000 classes at the time of this writing!) more than makes up for that. More » 13.  YouTube EDU YouTube offers a hub of educational content with offerings from organizations such as NASA, the BBC, TED, and many more. If you’re a visually oriented person who learns by watching someone else do something, than this is the place for you. These are meant to be standalone informational offerings rather than part of a cohesive course; however, if you would like to dip your toes in a subject and want to get a quick video introduction from leaders in the field, this is a good solution. More » 14.  Google It While all of the resources listed here are fantastic in their own right, there are still many more too numerous to list, for whatever you might possibly be interested in learning. Here are a few Google queries you can use to narrow down what you’re looking for:learn (insert what you want to learn about here)” Believe it or not, this is an incredibly powerful search string, and will bring up a solid first page of results. inurl:edu "what you want to learn" This tells Google to search within the URL keeping the search parameters to only .edu sites, looking for what you're trying to learn.

    Blog Entry, Cloud Apps, EDUCATION
  • Posted on June 10, 2016 1:51 pm
    Joseph Forbes
    No comments

    How many times have you been completely confused at how that ‘small’ project turned into such a big one costing double and taking three times the length you estimated? Many of you will say estimating time for web projects accurately is an oxymoron, but by applying a few effective techniques it’s possible to dramatically increase the accuracy of most web project estimates. 1. Why Underestimating Is So Common Link There are several reasons, which are freely admitted amongst freelancers and web agencies, as to why web projects are so commonly underestimated – they include: The technologies required by the project have never been used before At the time of estimating, there are grey areas or complete unknowns The client operates in a specialized industry and the solution needs bespoke features that are not familiar to the supplier Splitting the project down into the detail would require as much as work as the requirements gathering phase that is chargeable However, there are also some secret reasons why web projects are commonly underestimated: The client needs an estimate for their project tomorrow or they will go elsewhere Revenue needs for cash flow now trump the effects of not winning the new work now No previous project ‘estimated vs. actual’ data analysis has been conducted to draw on Estimating time for a project is not fun Despite being true, rarely do we admit these reasons to others or even ourselves! The fact is, when working as a web professional, as a one man band or as part of a small busy web team, the secret reasons are an everyday reality that shouldn’t be hidden away. By first identifying and admitting why underestimating is so common, can you then set about implementing changes to your estimating process that will reduce the barriers each reason creates and increase your accuracy. TECHNOLOGIES NOT USED BEFORE LINK There are three approaches you can take when confronted with a brief that requires a technology you have minimal experience with: Negotiate a paid for functional specification phase as a first step Consider hiring an expert Research in your own time and make your best guess Try to negotiate with the client a mini-project where you are paid to conduct a research and functional planning stage before committing to the whole project. This way you can research the unfamiliar technology and deliver a functional specification to the client. Best case scenario You give the client confidence, have a much clearer understanding of the work required, re-estimate and are hired for the rest of the project. Worst case You have completed foundation learning of a technology you previously didn’t know that you can sell to new clients, you generate revenue and the client has a comprehensive specification they can use in their tender process. Added bonus You, and the client, get to find out how you work together, giving both the opportunity to part company before being locked into a lengthy project. If you’re not able to convince the client to pay for this initial functional planning stage, and can’t find a suitable expert in the technology, but want the work and have confidence in your ability and passion to learn what needs to be learnt, then the best advice is to do some initial research in your own time and just take your best guess! ESTIMATING TAKES TOO LONG LINK Thorough web project estimating takes time, but it tends to inherit all the same rules that apply to coding, the more thorough you are, the more accurate you’ll be. Is it possible you will spend time working out the features required only to learn you haven’t won the work? Will you have given the client a free and detailed breakdown of their project for free? Absolutely, but this is the just nature of sales, some you win, some you lose – don’t get disheartened, try to get feedback from the client on why you didn’t win and use the advice given to refine your next estimation. ESTIMATE IS NEEDED TOMORROW LINK If a client is demanding an estimate tomorrow after briefing you on the project today you should immediately try to assess if the project is right for you by: Determining if the response rate being demanded by the client, and any previous communication, is a sign of the type of client they will be to work with Assessing if the potential gain to your business from the project (high profile client or long-term repeat business) is worth the risk of underestimating and going over budget Trying to confirm a ball park budget range with the client so you can estimate realistically, or politely decline if far too low. The best kind of clients are experienced enough to know this is not someone looking to use up all their hard earned cash but someone looking to provide the best solution they can for the budget If the results of these quick steps are favorable, be positive and go for it! There will be another chance to decline if you later find out the project is not right for you, and then you may utter the words “Into the garbage chute, flyboy!” CASH FLOW DILEMMA LINK Cash flow is the life blood of any freelancer or small web agency, without they don’t survive. Occasionally a situation may arise where work will be taken on with the knowledge it may not be profitable. As gut wrenching as this can be, and despite all the comments you will hear how you should never do this, the reality is the bills and wages have to be paid! When a freelancer or business owner is presented with the choice of committing to a project for a price they know is low, but by taking on the project means they live to fight another month, or risking not taking on the work on in the hope more profitable leads appear – empathise with and respect them. It is a tough and gutsy decision that only they can make but rest assured they have their bills or your wages at the forefront of their mind when they make it and estimating low for a project isn’t always as naive a decision as it may appear to those not on the frontline. ESTIMATING IS NOT FUN LINK Ok, so it’s not as sexy as adding that beautiful grunge effect to your design, and it’s not as exciting as tweaking that jQuery plugin to work just the way you want, but estimating time for a web project more accurately is almost certainly more important than both when it comes to sustaining a freelance or small web agency business. However, while few will disagree as to its importance, many will continually find it difficult to muster up the passion and diligently estimate time for a web project, but why!? Here are more secret reasons: It’s hard work and takes many outside their comfort zone Estimating usually has to be completed alongside your plans for your already fully booked week It forces you to try and predict the future It makes you largely responsible for the business’s sales success, solution offered, project profitability and growth and survival of your business (scary stuff!) Web agencies often have the edge here because they will have dedicated salespeople or project managers who are used to the rigors of estimating, but freelancers will generally be more inclined to find the whole process rather boring and just want to get on with the fun stuff. While we can all no doubt empathise with this, the harsh truth is that, when running a small business or operating as a one man band, one or two badly estimated projects in quick succession can ultimately lead to the demise of both! So what other techniques can be used to further increase the accuracy of your estimates? 2. Consistent Project Phases And Tasks Link As previously mentioned, when being asked to provide an estimate for a project, it is invariably not something anyone has allocated time to do. As a result of this, estimates are often put together quickly and if compared to past estimates it’s not uncommon to see the same project phase or task classified in many different ways, and for similar sized projects the estimates for each to be completely different. If you win the work you may think “so what?”, and to some extent you would be right, however, the first step in creating more accurate estimates on a long-term basis is to always break down the project phases and tasks in a consistent manner. Web projects can generally be broken down into the following phases: Research and planning Solution design Design Front-end development Back-end development Content entry Testing Go-live By always beginning to compile estimates using a consistent high-level breakdown means you can have a re-usable template eventually and track the time spent on each. But don’t stop there! Consistently breaking each phase down further will not only increase the accuracy of the estimate, but again, also result in valuable data over time. 3. Getting Granular Link Now the project estimate is broken down into high-level phases, it’s time to get more granular and break each phase into tasks. This is where the estimate begins to become more tailored to the specific project, but also includes common tasks that you can add to your estimating template and use again and again. For example: Research and planning Requirements gathering Project planning Solution design Sitemap Wireframes User workflows Functional specification Design Initial homepage look and feel Content page Master content page template News main page News item Front-end development 5x Templates build XHTML/CSS JavaScript and AJAX Cross-browser fixes Back-end development CMS Setup and configuration News feature Contact us form Content entry Homepage copy Addition of 10x News items Testing Internal functional testing Client User Acceptance Testing (UAT) Go-live Live server setup 301 re-directs from old site URLs to new The page templates and features specific to the client’s project can be listed at this stage, alongside the tasks required in all web projects. Once you get into the habit of compiling estimates in this way you will find yourself envisaging the phase and tasks lists during the pre-sales initial communication with the client and this invariably: Refines your requirements gathering skills to quickly get the information you need in order to put together a thorough estimate Forces you to think the project through in a step-by-step fashion and minimises the chances of missing a large, or several small, tasks that could end up putting you over budget because you didn’t factor them in So, you now have a pretty solid phase and task list for the project and all that’s left is to estimate hours for each and send it off to the client right? Maybe, but wait, what exactly does the News feature consist of? Is your interpretation of a News feature the same as the client’s? Now is the time to investigate and define it, as opposed to after the contracts have been signed. GETTING MORE GRANULAR LINK While it’s tempting to estimate hours for the News feature and submit to the client, if possible, try to nail down exactly what the client wants from this feature at the estimating stage, after all, if you look around, you’ll be able to quickly find different variations of the same feature that have a huge differences in terms of size, features and complexity, and thus cost. Using the News feature as an example, talk to the client and determine what it needs to do so that you can again minimise the chances of missing something in your estimate that could, when added to the other ‘small’ missed tasks, amount to aserious budget overrun situation. You may find out the News feature requirements are: News feature Add/edit/delete news item Upload image Attach PDF Auto-archiving RSS Excellent, you have now defined the News feature and can confidentially estimate the time you think it will take to implement. But hidden in even the most basic and common of features lay more ‘small’ things that if not captured, considered and quoted on, can add to the likelihood of overrun. For example, the client has specified they need to be able to upload images to news items, but do they need any of the following: Auto-resize capability? Auto-thumbnail generation? Full-screen viewing? Caption addition facility? Any of the above News features could add a few hours to the overall project and thus need to be ideally catered for in your estimates – a few missed ‘couple of hours’ tasks and suddenly the project is two days over budget. Getting granular and mentally trying to build the solution means you are able to identify and address these issues early on, making sure to cater for them in your final estimate. “A Web Project Manager knows how to design and develop most of the project on his own, even if with poorer results compared to his team. This allows him to estimate projects with good approximation and to understand his team’s problems and difficulties” Introduction to Web Project Management, Antonio Volpon ADVANTAGES OF GETTING GRANULAR, FOR YOU AND THE CLIENT LINK By getting granular with project phases and tasks for estimates you are also able to tweak them very quickly if you discover the estimate you have submitted is above the client’s maximum budget. For example, how often have you been told by a client they want to go with you but your quote is ‘just a little too high’ and ‘if you could reduce it by five hours we can business’? Usually this means you have to do one of two things; drop the hours you estimated for the News feature and hope you can explain later down the line how the budget does not allow for image uploads and thumbnail generation etc., or remove the News feature altogether. But, if you have a granular estimate for the News feature, you can confidentially, and at this crucial expectation setting stage, simply remove a couple of sub-features of News and the News image upload functionality in order to align with the client’s budget. When communicating this to the client they will clearly see what you are proposing to drop and why and they will still get the News feature they need, but perhaps with a few less nice to haves. Using this approach is usually well received by clients as they have full and transparency on the reasoning behind the changes to your proposal. This kind of transparency during the sales process will invariably give the client confidence in you because it demonstrates to them you: Are an expert in your field Can envisage the project in its entirety Adopt a diligent and methodical approach and more than likely will continue to work this way on their project Best of all, if you are successful with your estimate and you are hired you already have the foundations of: An instant statement of work A defined project scope The timings you need to put together an accurate project schedule with milestones Client expectations settings very early Demonstrated your thoroughness and understanding of their business and requirements to the client So what now? Well, now you have won the work, it’s time to start collecting the data that will enable you to create even more accurate estimates in the future. 4. Consistent Time Tracking And Analysis Link Before starting the work, you should first replicate all of the phases and tasks, along with their time estimates, into your time tracking tool of choice. Once this is done, you can then begin work and make sure to be disciplined and track everything you do and log it under the right category. Of course many of you will do this by default as it allows you to: Know how long you have to complete each phase View how long you have for each task and sub-task Reporting on how long everything actually took But the real value of keeping a consistent set of high-level phases, from estimate through to time tracking, is that after a few projects you can begin toanalyse the data and start to identify averages and trends that you can use to refine your next web project estimate. ANALYSE ESTIMATED VS. ACTUAL TIME LINK This is where the real magic happens! By breaking down and tracking your time for multiple projects into consistent phases and tasks, you will have valid comparable data to analyse, for example, after five projects, once you average out the numbers, you may well discover the following: Research and planning took around 5% of the total project time to complete Solution design: 5% Design: 25% Front-end development: 15% Back-end development: 30% Content entry: 8% Testing: 10% Go-live: 2% The more projects completed that use a consistent estimating and time tracking structure, the more real your averages will become. With this valuable information you can then set about increasing the accuracy of your next estimate by being able to, assuming you can get a budget range from the client: Immediately allocate the estimated hours you need for each phase Determine the best solution you can offer the client for their budget It even allows you to accommodate the client that ‘needs an estimate tomorrow’ when you don’t have time to break it down in detail. Conclusion Link Estimating time for a web project accurately is something many attempt everyday but few manage to succeed at. There is no one formula that will satisfy every situation and the chances of estimating what a project will cost exactly are almost zero. But it is possible to drastically increase the accuracy of your web project estimates by: Identifying the reasons why underestimating is so common Understanding why it is so important Resisting the temptation to not get granular Creating a consistent, methodical and re-usable estimating process Analysing the estimated versus actual data from multiple projects to identify trends “The Devil is in the detail: When people say that the devil is in the detail, they mean that small things in plans and schemes that are often overlooked can cause serious problems later on.” Further Resources Link Here are further articles and related resources that may help you to increase the accuracy of your web project estimates: Web Development Project Estimator A neat little online tool that allows designers and developers to quickly create cost estimates for web projects. Schedule and Cost Summary This Cost Estimate and Scheduling spreadsheet provides a lightweight method for learning to estimate time to complete a web design project, and calculating cost for completion. Tick Simple to use time tracking tool that makes it easy to keep track of project budgets. How to Estimate a Web Site Project Patty Ayers discusses a five-step process for estimating web projects. Simple process to estimate times and costs in a web project Antonio Lupetti describes his process for creating web project cost estimates. How to Accurately Estimate a Web Design Project John Reeve talks about catering for the usual missing elements in estimates; project management, contingency time and margin for error. Estimating Resource Time for Web Development Projects Bill Breen explains one way to approach estimating time for web projects, and how the size of the project should influence you estimate ranges. How To Estimate Time For A Project A Sitepoint article by Alyssa Gregory.

    Blog Entry, HAPPINESS, Internet