czwartek, 7 sierpnia 2008

Outsourcing test process

Development market in Poland become more adult during last couple of years and I am happy to see that there appears head hunting for new job titles like Quality Assurance specialists. That is a strong signal that software houses become more responsible for their products and their do understand that you can not leave the client alone with the software testing. The problem is that sometimes, because of different reasons there is no possibility to build such a team in-house. For example executives believe it is too expensive and despite your error cost analysis their refuse to hire quality specialist. The different reason may be that there is just one big project, which has releases once per month or three and there is no sense to hire full-time employee. These situations happen more often in smaller companies, however there are also situations in bigger once where developer or consultants are testing software and not regular quality specialists. The other topic is that there is quite many tools, which may help you during testing and you must be very experienced person to not buy a crap for big sum of money. There is many potential black holes like test automation, where you can waiste plenty of time and money without a significant effect. Where to install this tool? How to establish test environment which is totally separated from development and production systems (e.g. different domain)? Yes... there is plenty of question and things to do and most of developers don't want and should not make their hands dirty in this mud. Besides... lets be honest. Testing is an adventure and there is often that is repetitive, benedictine work. This is why outsouring QA work is quite interesting solution. The question is only how to do it smart, because it is very easy to get pile of wastful papers from the external company, which does not give any add-on values to your development process.

1. Which cash flow model to choose?

There are generally following possibile models:

A. Times and material - where you pay for time, which people from the external company spend on your projects. There may be different hours wage for people who prepare tests and write final tests and people who actually do the tests. That is definitely the best option where you start cooperation with external company as both sides can easily switch the level of cooperation and adjust it to real needs.

B. Fixed price - if you have some bigger project(s) and there is possiblity to define easily the range of cooperation plus you want to transfer some part of responsiblity on external company, you may think about preparing the contract. The problem is that most usually the border between develoment and testing is quite blurred and this type of deal has always the risk of doing 'only what is in contract'. As live brings many surprised you may find yourself easily in unpredicted situation, where you will have to come to A option any way (e.g. testers must explain developers what the problem is about and contract does not predict such option.

2. What is needed to prepare cost estimation?
That is probably the hardest topic, when you start coopeartion. It is smaller problem in option A as both sides realize that the total value is flexible, but it is very hard topic in option B and most probably outsourcing company will add there some reserver/risk budget for unpredictable situations. Anyway... There must appear answers on number of questions...

A. What is the size of work? The best way is a simple presentation of application and discussion which parts of the system will be tested. Then, basing on number of screens/forms or number of functions plus predicting the number of test iterations, external company will have to estimate their engagment.

B. Who maitain and provide externally test environment?

C. Who installs the software in test environment?

D. What type of tests are done? You have wide range of options:
  • code review - basing on provided, general or existing rules you provide report about the code purity
  • unit tests - writing unit tests for code (usually should be done by development team)
  • integration - putting all the modules together (usually should be done by development team and good idea is to link them with building process - smoke test with daily builds is here a good option)
  • installation - test of installation package in different environments
  • functional - testing all the functions of code (the minimum package is called acceptance tests)
  • platform - testin application on different type of machines, OS systems, internet browsers etc.
  • performance - checking how the system behaves (eg. what is response time, how much RAM, CPU, disk space is used) during heavy workload (e.g. many users at one time).
  • security - checking if the system is secure and nobody from outside or inside can break in, there is also the option of doing the hardening
  • destruction - emulating dummy users (eg. monkey test - play on keyboard like the monkey)
  • documentation - check if you can use the system without any interaction with software vendor
  • legal - verifing if the application follows particular legal regulations
...

E. What is test approach? Generally the tests are done basing on prepared test scenarios (accepted by both sides) plus some number of ad-hoc test. The question is how many of tests are basing on written scenarios and how many on intuition?

F. What is communication model?

INPUT: The best option is if the external company gets the packed product with instructions and they should do all the tests alone. Then they emulate the real users and situation is quite clear.

OUTPUT: By default the external company will provide the summary report and some list of errors. Most important thing is to have full and detail reporduction list in case of any bug. It should contain the number of action from particular, written test scenario if possible plus as many screenshoots as possible.

Roadblocks
It happens quite often, especially an early stage that there happens the road block - the event which stops QA team from testing all application, module or particular, bigger set of functions. It is opened question how both sides deal with this option and there is wide range of option starting from the very formal one where external company closes whole iteration of tests offically as it is to the very informal where developers delivers quickly some patches. Both solutions have though positives and negatives and each case is different.

Bug Tracking System
More adult organization will provide Bug Tracking Systems, which allows to monitor the life cycle of errors. The open question is who maintain the system and what are the rules of coopeartion? Choosing the particular platform is quite easy thing as there is plenty of options - there is number of interesting web-based open source solutions.



Oursourcing testing process is quite challenging task and there is some risk of miscommunication as testers are usually adding the work to developers and developers are writting buggy code ;) If both teams are located in different companies managers must put the real effort in communication improvment and perfecting the process. On the other hand the external company gives a fresh look at the appliaction, bigger independence in testing and kind of the insurance that a final product is usable. Except detecting errors they may also add number of suggestions/change requests, which make the system *turely* more userfriendly and smooth.

wtorek, 3 czerwca 2008

Projects scoring system in PMO

Many of Project Management Office (PMO) realize number of projects in parallel and quite often it raises the resources conflict. That is mostly about people, but it includes also hardware, budgets and the others. Companies fix these conflicts (or not) in different way...

Independent project teams
Very good solution is to organize the whole company basing on project or product teams focused fully on realizing dedicated project/product road-map. The organization structure is quite simple and there is no management conflicts like two managers claiming that particular task/person's work is her/his duty. That approach allows also to assign 100% time of particular person to the one and one thing only, what is base assumption for most Agile methodologies. This allows people also to specialize deeply and company may benefit from it in low "introduction cost" when new project starts.

The drawback of this solution is limited possiblity of resources load balancing. You do not have "universal soldiers", which you can use at various projects and you must accept situations, when particular people have "lazy time" in particular project phases - eg. during stabilization phases developers are not allowed to add new functionalities, testers does not have much to do when developers prepare the first prototype, analysts turn on usually at the beginning and at the end of projects etc. These situations causes that number of companies have dedicated managers/leaders positions, which focus on managing resources in parrarel with project managers...

Renting services from specialized teams
In this approach the project manager (PM), when he starts the projects asks internal team leaders (eg. one for analysts, developers and testers) how much time will cost them to do particular job (eg. analysis, development, testing). PM has also free choice, if he wants to use internal or external resources - it put team leaders in competetive position to the market possibilities. PM has usually a choice, if he wants to supervise personally the resources (smaller projects, times&material) or move part of the responsibilities to subteams leaders (bigger projects, fixed price). That follows Prince2 guidelines and its 3 or 4 level organization.

The drawback of this solution is that PMs compete for resources, what raises number of conflicts. How to define, which projects are more important?

On the surface the answer seems to be simple... Where the purse with possible profits is the biggest!!! :D

Unfortunatelly the devil is details! and it starts from tricky simple questions... What is the probability of gaining money? When we will see them? Are the money the most important? Most of companies have quite high, informal political factor eg. we must do the project X, even when we have small profit from him, but we win in this way very important sector of the market... and similar and so on... Do you know it? If you have PMO, I bet you do ;)

Prioritizing projects
I know that is a horrible thing to write, but... I thought about this, during summer weekend when my skin were becoming brown ;) and then I have reminded myself about Kerzner book "Advanced Project Management", which shows number of real stories like the one above. Quite quickly I have found Drawing 7.8 "Scoring model for one project". The simples solutions are the best, so instead of explaining the whole solution I have prepared the simpler version of the matrix... where each 5 key managers taking a part in steering comitee meetings got 5*[number of projects], which they could spend at any projects as they wanted as far as no more than 10 points are spent for one. When scoring, each person must describe the key factor, which has been used to assign points. Of course the director voice is stronger than managers, so there is also wages system, which is always specific for the company as well as group of people doing the excerise. Generally the whole mechanism is quite simple...
In pratice, you need to do it couple of times until the importance are fitting the company specific and they are satisfactory for the whole commitee. The main target of it is to provide the guidelines for the whole company, when more than one person is engaged in setting the real company's strategy. Of course the whole excercise must be redone once per some time, depending on how often the strategy changes and new projects appear or existing are finished.
And one tip at the end... Take the fat book with yourself, when you introduce the system like the one. When I put the Kerzner (3kg of wisdom) on the table, everybody have been more interested in it, than in the prioritizing concept. It allowed me to go smoothly through the acceptance chain of pain :D

sobota, 17 maja 2008

Tips and tricks for start-ups

The internet is lastly like a wild west. We move from the east coast and it seems like we are still far away from the Pacific Ocean. Instead of the run for a ground, we reserve the domain names. The cost of establishing your own business in the internet is nowadays very cheap or even free and there is plenty of people with various specialization, who saw the gold in establishing their own web page. If you have the vision how to put particular process on the web and make the money on it, you just need to give it a name, find doers who code it and partner who will host it. This causes that number of enterprises, which did not have a chance in the past, have the chance to exists now. Very good sample of it, are the survey services and web page like http://webankieta.pl/ - one man can do a change.
The reality is not though so colorful and most of start-ups die quickly. If you think about starting your own business and you do not want to finish it as the silent tomb, consider couple of points below...

1. ALWAYS FOCUS ON CLIENTS OR POTENTIAL CLIENTS – do not loose yourself having a fun watching your desings becoming true; that is a business and business is where the money is. Most of start-ups bankrupt before the first invoice appears – if you cash your first client you WON the first and the most important point.
2. Keep your costs low at the beginning – if you fail you will not loose too much and you will have the strength to start up something new. Pump up the money in the working business - if you cash the first invoice, there will be a time to invest money.
3. Check the competition – you always think you have invented something unique, but there is number of smart people over the world, who do amazing things and you must position your idea among them. Very good way to do it, is to discuss with various people and learn to convince them why your idea is better than the others. If you do it couple of times, it means you truely have something.
4. Find the partner – if you can not convince at least one of your friends to the enterprise, it means that you are probably Don Kichot. No... even he had a partner - Sanczo Pansa. Yes... If plan long journey, you should not do it alone.
5. Leave the solution opened and do not spend too much time on details – the only thing which you can be sure of is THE CHANGE
6. Do the nice graphics – if you do it smart the cost of it is low and this is what clients like.
7. Create the prototype as soon as possible so you can quickly show it to the potential clients and ensure what they truly need. There is a big difference between talking about the solution and showing it. That is also about the agile approach and if it is possible the best way to create the product, is to do it iteratively with your client.
8. Reserve quickly nice domain names – it is quite cheap and you never know who may buy it before you, when you start to discuss it with peoples.
9. The best way to promote you idea over the web is to get the partnership with one of big national portals or worldwide vortals. The other option is to buy the positioning service, which will let your dot-com be found, when people search for certain words in Google, but… you will have a time for it later on. You should find your first client personally at the beginning.
10. When you consider the technical realization of the project ask about proposals couple of companies and verify they offer with some of your technical friend or independent consultant. Set up the key criteria like performance or security and ask straightforward how possible doers plan to realize it. Higher the cost of realization is – more formal the process should be.

Start-ups are exiting and challenging, even when that is a high risk mission. Everybody wants to be a cowboy. If only you will put the attention more on your cows and less on a revolver, everything should be fine ;)

wtorek, 29 kwietnia 2008

Sucessfull scheduling

I have been asked lastly if I know how to schedule successfully. For novice PM the task seems to be easy in Microsoft Project - simple Gantt chart is all what you need. More experienced fellow, who has realized at least one bigger project will just smile as he knows already how tricky the life is.

PMBoK defines 4 main project dimensions - scope, quality, time and budget. Most of stakeholders likes to track mostly the schedule (time) as it is the easiest thing to track. PM must be a solid man to be able to clarify connections between schedule changes and 3 others things (scope, quality and budget) - this is why the best option is to avoid baseline changes.
There are the following key tips, which should be followed in any schedule - some of them may be for you a cliche, but believe me that they are easy to forget:
  1. Ensure that you included any formal holidays (may and december is full of them in Poland) or informal holidays (like the integration camp)
  2. Ensure that you included teammembers holiday&training plans within project timeframe (like any other days when they are not at work)
  3. Estimate time conservatively, but remember about the Parkison's paradox - somehow even the longest predicted time for a task will be used in 100%
  4. You MUST to have some buffer if somebody will be sick, if things will go not as planned - higher the project risk is, bigger the buffer should be. 20% is the default value calculated once by Accenture.
  5. Include milestones (0 day long tasks) to mark achieving important moments in the project
  6. Prepare for change - make the schedule as simple and as solid as possible so it is easy to maintain. For example if you have the team-mate who will do 4 concurrent tasks, it does not have a sense usually to model it in the schedule as 4 tasks with 25% usage of resource - usually 2 or even 1 task is enough.
  7. Make phases as short as possible (1-3 months) and at the end of each has some part of visible and production work finished - yes, it comes from agile world and it works!
  8. Share the schedule among all teammates - how you do it, it is up to you, but everybody should have the schedule in their vision range daily.
  9. Save the baseline and track the schedule at least weekly - have a quick session with your teammates and review progress.
  10. Prepare that the last 10% of task will be the worst and it will consume about 20% of your time.
I know many PMs and each of them schedule slight differently, even when they use the same MS Project - they have they own scheduling style, so to speak. The bullets below are just the guidelines and you may have your reasons to do the things differently:
  • Use schedule calendars to realize (1) and personal calendars to realize (2). Tools>Change work time.
  • Note who estimates too conservatively and too optimistically and make necessary corrections of their estimations (3).
  • The task should not last more than 5 working days (3)
  • Use dependencies between projects wherever possible - do not use constant start and end date (this approach causes usuaylly that the schedule is harder to maintain)
  • When using dependecies there is quite cool option to delay or make quicker particular task - use it wherever applicable
  • Very often if you request the time buffer offically you get the refusal from the stake holder - this is why the best approach is to add AT THE END of each important task group the solid task(s) like integration or unit tests with significant amount of time and ensure it is on critical section as only than it is a real bugger; you as PM are responsible for efficent usage of it during the project (4)
  • MS Project gives many different ways to share the schedule among people - tasks via emails, WebAccess, EPM, Project Reader etc. I have tried most of them and I must say that still the best way is to print on paper number of copies of the schedule and pass them to all the teammates and hang it somewhere in visible place (8)
  • Printing schedules in MS Project is the art itself, but there is very usuful way to do it nicely - delete all the irellevant task like the next unestimated phase (but do not save the change), go to print preview>page settings and use the option of fitting to 1 page (for small projects) or more (for big projects).
  • If the schedule does not go as it is planned and the difference is significant, you must be tough enough to admit it and introduce the repair plan - do not hide the problem under the carpet, do not limit the time for tests or other following actions because any of this solutions will explode at your face later on and it will be just worse. I know it is a painful thing to explain this type of things to the stakeholders, but believe me... Even when they will angry on you, you may always tell that at least your are this type of person who can openly discuss the issue and... do not kill the messanger ;) (9)
  • If the project goes better than planned, never ever promise too much... If it will be finished on time - you are the one then (10)
  • Use "Resources workload" to ensure that there is no overallocation
  • Using "Rosources spreadsheet" you may add cost of work and calculate easily the cost of work for the whole project
  • ALWAYS, ALWAYS remember what is the target of the project and ALWAYS have it in front of your face - do not loose yourself in papers as you are not a EU clerk and do not loose yourself playing with toys as you are not a kiddo ;)

piątek, 21 marca 2008

Microsoft Solution Framework - tips and tricks

I have refreshed lastly my knowledge about the MSF. I have looked backward and deep into my soul and here there is a short list of my private suggestions if you think about going into the direction...

Choose carefully MSF3 or MSF4
There is quite a big twist in Microsoft approach to the MSF lastly. When MSF3 is the loose set of good practices written on paper, MSF4 is their implementation within VSTS... some people say even that MSF has been monetized. MSF4 defines two main templates and guidance - MSF for Agile and for CMMI. There is an option to define your own process with Template Editor, but that is not an easy process.
In general...

  • Option 1 - If you have small team and you want easily customize the process - MSF3 will be a good choice and set of VS Pro licenses will be fine.
  • Option 2 - If you work within big corporation, in distributed geographically team, keeping a standard is a problem... you may think about MSF4 and convincing stakeholders to spend a lot of $ for VSTS installation (that is not just about buying licenses - you have servers, administrators, infrastructure - all the heave equipment).

BTW, if you are in second option and you works with open technology, you need to consider RUP and Eclipse from IBM. There funny thing to write but in first option you may do .Net projects with RUP and you may do J2EE projects with MSF, even when MSF+Visual Studio belongs to Microsoft and RUP+Eclipse belongs to IBM.

Do not be religious
You just read what MSF is about, you are very excited... Lets rock, lets put it into play...
No, no... Hold on for a sec... go for vacation... Chill down...
Whatever you do, does not do it because the paper says so. MSF is just the tool to realize the goals. Which goals? What do you want to achieve? Whatever you do, does not forget that you are about improving things.

Introduce Framework step-by-step
Anayze the current status! Do you have some well working processes? Take care about them and protect them. Do not hesitate to customize MSF, so old-well-working things stays where they are.

If something works wrong, indentify 1-3 the biggest problems and solve them using particular mechanisms from MSF. Daily builds, bug triage, zero bug bounce - these are the good candidates at the beginning... Does it work? Do people like it? It is MSF... Lets start the new project with 5 phases, but if there is project manager in Prince2 meaning, do not hestiate to unite Program and Product manager role if that is necessary.

Team model in practise
Team model in MSF is quite unique and white paper says that each role has to work in each phase. That is not totally true. Release Management comes into play rather in the final phases. Keep in touch with the guy, but does not insist on having him at each meeting and 100% engaged into the project at any stage.

The other story is User Experience fellow. The main problem is, that there is so little people with this profile on the market. In practice very often the role is taken by business analist... and that is fine. In similar way the Program Manager role is often classic Project manager and Product Manager is Sponsor of the project. As far as it works... lets leave it ;)

Use trade-offs
Trade off theory has helped me often in practise to leverage new requirements and staying assertive - nothing is for free!

- Of course we can add the functionality! What do I get in return? Extra time or person? When he will be on the board? In 2 months? Ok... When he is on board we will analyze the new functionality ;)

In very taugh times you may mention fourth dimension - quality; triangle story extended to tetrahedron (three sided piramid)...

- I may agree to add new functionality, within the same timeframe and resources, but you must approve to me on paper that you accept lower quality of the final product.

... Yes, that is just the intelectual trip ;)

>Keep the balance between the phases
If envisioning took 1 week, the planning will probably take around 1 month. If during planning you have done all the key Proof of Concepts in code, you may close the developing phase in next 1 month. Stabilizing will the next 1 month and Deployment about 1 week.

For example... It is quite common error, that when things goes wrong the stabilization time is cut off. The effect? The same time doubled or tripled is spent during Deployment. That is a dark side of Project Management that in crasis, the taught situation must be faced and not just postponed.

If you prepare the schedule in planning phase, do not expect that you will be able to close 3 next phases in 2 months and 1 week, if getting to the point since the beginnig of the project took you over 2 months - there are some exceptional situation, but at least look in the mirror and answer yourself where these exceptions truely are.

Use bug triage
I bet my surname domain on the short setence - BUG TRIAGE WORKS!

Things, which are not monitored once per a time, go into the chaos stage. Let's face it - reparing bugs is boring and painful work to do for developers. Everybody knows it. Anyway it must be done though, in the same way how you must clean your flat (at least once per a while). Project Manager must be sometimes a mommy who says: "Sweetheart... Clean your room tommorow, ok?" or "When finally you will put these dirty socks into this damm wardrobe!" :D

Having whichever Bug Tracking System (excel / customized open source project / customized SharePoint poratl with lists / commercial product / VSTS ) is at great help - anybody may quickly see what happens with bug #645.

- Hey Bart! Our CEO has looked today in our BTS and he has asked about this problem with dockable windows. Can you add him some comment about #645 and send him a link?

...and this is it - you definitely will not loos by knowing what MSF is about ;)

piątek, 7 marca 2008

Heroes happen here - {in Warsaw}

Mood: Too much paper work, too much organizational stress, but... finally weekend incoming

Yesterday (6.III) I have attended to MS conference Heroes Happen Here in Warsaw, which was sold as countrywide premiership of Windows 2008, VS 2008 & SQL Server 2008. It happened 7 days after the premier in LA (27.II), where quite a big show took a place including Steve Ballmer speech - do you prefer pictures or text from this event?

Comparing Warsaw HaHaHa to LA event or MTS 2007, it was quite modest one, but I liked it as I am not the one who screams seeing fireworks. In fact that was the Microsft&Parnters RoadShow around Poland presenting the bundle of new products. The split on admnistration and programming part was very smart and working well. MS became much better in organization of these events last years and they served quite good, standard package: hotel Gromada; 4 coffee brakes; good food, which you could eat staying in crowdy place (the only constant disadvantage); and nicely looking hostesses. The service was generally decent with one exception, which I have finally figured out - stuffy conference rooms, which made everyone sleppy, but only the technical staff could do it without a shame ;)

Hey man! Who are you? Stop to talk about logistics! The conference is about gaining the knowledge!

Yes, that is true and this is why it was a fruitful day - I had good, quick review of my knowledge about .Net Framework and 2 out 4 speeches were really good.

I must mention new MS ISV Evangelist Barłomiej Zass, who had sold MS religion in eatable way. He did not go with easy way showing just bullets, but he spend visible amount of time to prepare the real examples of "how VS 2008 makes your code shorter". Some of these samples were a little bit marketing like the new face of Unit Tests (descendant ACT was not mentioned), but most of them truely made me thinking about buying the thing, when I saw houndreds lines of code decresaing to dozens with usage of LINQ tricks. At the end there was one thing, which truely surprised me... Version Digresion- he described the versioning strategy, which set up the rules of making the build AFTER EACH check-in. Furthermore, this rigoristic approach is even tougher in some companies (luckily in US), who turns on the red lights and trumpets in open space, if some developer checked-in the wrong code, which does not compile!!! Can you imagine this? How motivating is that, to double check your changes (at least if they compile) before you check-in. Good and scary!

The 1st star of the conference was though Bartosz Pampuch from Comarch. I must admit, he is the one, who makes me beliving in polish MVPs. He taught among others the perfect answer for any architectural question - IT DEPENDS! :D The laugh was iterational :D His nice slides warmed up the audience and his great speech showed plenty of real-code situations including positives and negatives of new MS solutions. He was brave enough to show sincerly the problems when making transactions with WCF, WWF is not easy to understand and acceptable by final users (what is the story with this Properties panel? Why that is so complicated? :D) and some problems with scalability of WWF. This is why his positive feedback about .Net 3.5 was so reliable and at the end of his part, you are willing to play with "his" toys. It was very visible that this fellow has a fun working with these new technologies and he had the ability to share it with others.

And at the end I came back to my workplace... Emails, Words, Excels and other "cool" stuff... Trying so deseprately and unsuccessfully clean up my desk, so I can open for 4 hours straight at least VS 2005 ;)

wtorek, 26 lutego 2008

Mailbox migration, C drive running out of space and other *fun*

Mood: Stabilized
Sound of the day: What if I say I will never surrender!

The regular reality brings you the number of small, administrations problems, which you have to "micromanage" by yourself. As I have been asked couple of time how to manage them - here there is a couple of tricks...

Mailbox migration
Assuming you have regular Exchange server, your Outlook points to OST or PST file, which is stored by default at "C:\Documents and Settings\[login]\Local settings\Application Data\Microsoft\Outlook\Outlook.xxx". Do not be surprised if you notice that this file weight couple of GB. If you have PST file it means that you are a lucky guy and you have fully movable copy of your mailbox; if you copy this file on any medium you will be able easily to restore it on the other PC. That is the best way to import/export your PIM data.
If you have OST file, the situation is more complicated as in this case the data are offically on Exchange server and the OST file can not be opened on the other machine, which has no connection to that server. Offically. Inoffically there is a couple of possible tricks... The best one which worked for me and the mailbox from Outlook 2003 was to pay 15$ to PasswordCrackers, who transformed for me OST file to PST file. In fact I just have followed Matt Goyer .
I am quite sure that they have used that they have used one of possible solutions like Outlook Recovery Toolbox or from Nucleus Technologies, but the trial versions of these will not be enough and paying 60 and more $ for a software, which you probably use just once is pointless.

C drive running out of space
I am in situation where there is no space on C drive and plenty of it on D drive.
Sounds trivial like the problem for dummies? Believe me it is not, if you start running out of ideas.
Having just XP, full Office, MS Project, SQL Server (installing this one od D drive was a horrible experience) and VS 2005 plus couple of the other small items believe me that after a year of use 12GB becomes very tiny space.
After I have uninstalled number of unnecessary things there, cleaning regullary all temp files including waste bin, there was still a problem. If you run out of the ideas I suggest you to follow the checklist:
  • Install free OverDisk software which will show you in cool way what eats your hard drive
  • Ensure that you do not have any old user profiles, which may weight even 1 GB
  • Clean "C:\WINDOWS\Downloaded Installations" directory which may store even couple of GB of patches from MS
  • Decrease the size of the virtual space
  • Turn off hibernation
  • Turn off System Restore
  • Turn off File Protection
  • Turn off HD indexation
... and then my todays discovery with OverDisk. Check how much weights your archive.pst file, which you may easily move from C to D drive (in my case it was over 1GB!).
After whole process do not forget about disk defragmentation, what truely saves you nerves decreasing the chance of blue screen during system heat-up.
... and at least but not at last
Live well with your local administrator :D
 
web metrics