Thursday, March 21, 2013

Project Management - IT Service Management

IT Service Management / ITSM 101
ITSM  Service Management is a set of specialized organizational ‘capabilities’ for providing value to customers in the form of services Roles, Functions, Methods, & Processes.
ITSM Objectives IT Service Management is concerned with the delivery and support of IT services in alignment to the business requirements of the organization.
Its objectives are:
  • To ensure that the IT Services are aligned to the present and future needs of the business to improve the quality of the IT services delivered
  • To be cost-effective and cost-efficient in IT service provision
  • ‘increase service performance, while at the same time reducing the cost’
ITSM is involve Adopting IT Service Management means that you are adopting a “service culture” which focuses on your business requirements; to achieve this involves at least the following:
  • Analyzing the real business needs
  • Planning the services and support to underpin those needs
  • Implementing the ‘capabilities’ i.e. people, process and technologies to deliver those services Continuously monitoring, controlling and improving IT delivery and support
The benefits of ITSM Effective implementation of IT Service Management best practice processes within an IT service operation will enable the business to realize the following benefits:
  • Improved customer satisfaction
  • Reduced risk in service provision
  • Reduced cost of delivery and support
  • End to end service visibility
  • Simplified IT operating model
  • Increased productivity within the business
  • Better supplier & partner management
  • Compliance with best practice which can be audited (and therefore proven)
  • Faster “go to market” capability for the ‘core’ business
Customers want Services
  • Customers don’t want servers, routers and storage systems they want services
  • Infrastructure is ‘behind the scenes’ – one of many aspects of a service
  • Services are shaped by the Customer usage
  • SLA’s are worthless if they are unable to measure what the Customer recognizes as a service
  • In any business you must know your market and understand your Customers better than the competition - IT Service Providers are no different!
  • Service Management is about managing the customer experience and everything that underpins it
Rules for Designing a ITSM Process
1.       Identify GAP
a.       Incident Management
                                                              i.      What is working or not
                                                            ii.      What gaps are there when escalate from L1 to Level 2
b.      Don’t start from scratch
2.       Validate
3.       Get people involve
4.       Educate
5.       Governance
Good governance requires that you establish accountability for the process, assign the appropriate tasks and measure that they are actually getting done
ITSM audits are based on analysis of four key performance indicators in specific ways:
  • Growth and value, which involves tracking revenue growth against investment and utilization.
  • Budget adherence, which involves optimizing the use of available funds and avoiding unnecessary expenditures.
  • Risk impact, which involves identifying and evaluating the consequences of risks taken or avoided.
  • Communication effectiveness, which involves examining customer feedback and gauging customer satisfaction and awareness.

Thursday, March 14, 2013

Project Management - Agile Project Management?

Agile Software development is a term coined with the signing of the Agile Manifesto in 2001. At this signing some of the world's most prominent minds came together to rally against the current "heavyweight" (aka waterfall) development methods at the time. From this genesis Agile emerged as a legitimate alternative development methodology. Today Agile adoption is spreading like wildfire and even organizations, such as the Project Management Institute are starting to take notice.
The term Agile refers to a family of methodologies including; Extreme Programming, Lean, Scrum, etc. According to the latest industry data, Scrum enjoys the largest market share at 49.1% (Version One "The State of Agile Development" 3rd Annual Survey: 2008). Each methodology has its own unique differences, however all Agile methodologies share the following characteristics:

• Develop the highest value features first
• Short iterations, frequent releases
• Fixed resources and time, scope remains variable
• High visibility, high bandwidth communication (aka face-to-face)
• Small cross-functional, self-managing teams
• Inspecting and adapting (continuous improvement)

Common Potential Pitfalls
  • Customer understanding of the agile process:
    • The need to review and provide feedback after each development iteration
    • Availability of resources for review after each development iteration
  • Scope Creep (expansion of software functionality is common request)
  • Realistic iteration milestones
  • Customer communication

Agile Development is People driven instead of process or plan driven; the aspect of the project is managed by people in colaburation, which include: Scope, Requirements, Risk, Change, Quality.

Scope - Identifies high level vision, deliverables, expectation and what is out of scope.  All Team Members must be aware of the scope and in agreement. All Team members needs to have the skills to be an expert in business domain; unlike in  classic process mode, for example business analyst might be the only be member expected to be the domain expert.

Requirements -  Details scenarios of what the software should do fromt he user or customer perspective. In a non agile process driven project requirement gathering could be very time consuming process involving analyst, user interface expect, engaged lenghty meeting with business stake holders.  For example in a more process driven approach a business analyst will often prepare a highly detail requirement document, while user interface expect creates pixel perfect ui wire frames which are then followed by complex design and architectual documents created by development team, all must enter a formal approval  process, which dould take weeks and month before coding/development can start. 

Gathering requirements on an Agile project should typically not involve a long time consuming series of process and documentation. The developer should have a face to face meeting with product stake holders and document only what is necessary to get working code back to the business stake holder or customer by breaking the work into small iterations, possible as small as one week.  For instance in a project  with many user screen and reports, an iteration might be delivery of one single report.  Using Agile a developer sitting in front of a business stake holders can sketch out use cases and activity diagrams along with notes of the work needed to be done, once understanding is reach coding can begin with a few skitches.

Risk - are the conditions that jeopardize the goals of a project.  Risk can be identified how likely they are to occur and what is the impact if they do occur.  For example requirement document is incomplete or incorrect, poor decisions could be made, lack of adequate staffing, lack of business domain knowledge,  team unfamiliar or unproven technology. In an Agile Project by having frequent short iterations, close communications within team members, and technical excellence you can mitigate risk because team member stay continually aware of the risk and the team can quickly make adjustments using expect judgements. 

In a non Agile enviroment change management  can be very long process and costly; can be initiated by anyone on the team who notices that something is missing or incorrectly specified the change may need to go to a change board committe to determine if the appropriate fix within scope and project goals.  Then change may need to be estimated to show the potential changes to the budget and the schedule, after this estimation another approval might be necessary since it maybe determined to be cost is prohibited to make the change.  After all these have occured requirement and scope document will need to be updated, design document changed, test and code re-written.  For these reasons change is seen as the enemy to progress in a plan driven projects to have demanding proceess and deep detail documentation because they very often add to the scope of the project.  Also management might have a hardtime accepting the change to the final delivery date so development team maybe asked to observe the additional work and still deliver original date and this will negative add to team moral.

Quality - is how well the software does and is expected to do, how free it is from bugs.

Agile Team work closely together, in the best case scenario they can work face to face and side by side and customer can directly communicate changes to the developers.  High level of trust is necessary, customer needs to trust developers to make proper changes in the way they describe, developers needs to trust customers and product stake holders to describe changes accuretly and to agree to proper time frames to iterations.

As for Change in Agile environment the product stake holder or customer might work together directy with the developer to explain the change and then the developer will make the change to the software.  The developer will need cross functional skills such as skills tof a business analyst or tester. The idea is to get working software with changes as quickly as possible back to the customer.  Iterations are the key to Agile development, as changes are made to the software they are quickly circled back to the customer and user for acceptance.

Saturday, March 9, 2013

Management - Strong Manager

What are the attributes of a strong manager?

A good manager is good at managing people, they ...
  • coach their staff and counsel those who need it
  • have staff who are commitment to them
  • seek response and feedback to all communications with staff
  • know how to resolve conflicts as they arise and handle negative behaviour effectively
  • delegate wherever possible
  • actively like to develop, empower and motivate staff and manage under performers
  • take the lead
  • raise staff morale and are concerned for staff wellbeing
  • are conscious of the psychological contract
  • enjoy managing the boss
  • set clear and unambiguous objectives and discuss them with staff before setting them
  • performance manage staff and provide feedback on performance
  • engage in selection interviewing
  • manage teams
  • value everyone’s contribution
A good manager is good at managing activities, they ...
  • manage change effectively
  • seek continuous improvement
  • control and co-ordinate staff effectively
  • engage in and enjoy crisis management
  • influence the culture of teams
  • focus on customers/clients and know how to improve business performance
  • conduct meetings efficiently
  • are good at planning and organising themselves
  • are good at both strategic and project management
  • are good at risk management and can manage stress in staff
A good manager is good at managing and developing themselves, they ...
  • achieve good results
  • are assertive and communicate well
  • are clear thinkers and effective speakers who are good at influencing others
  • are decisive, good at negotiation and problem solving
  • write good reports
  • excel at time management
  • spend time in self‐development

Friday, March 8, 2013

Windows 8 - Top 10 Secrets

10. Run Automatic Maintenance on a Schedule
Windows 8 has a new feature that runs automatic maintenance tasks like software updates, security scanning, and other diagnostic tests daily. By default, it runs them at 3AM, of if you're using your computer, the next time your computer becomes idle. You can change this time in the Action Center, as well as tell Windows whether you want to wake your computer up to perform these tasks. You can also perform the maintenance manually from the Action Center, if you desire.

9. Customize the Apps in the Search Bar
When you start searching from the Start screen, you'll see a list of apps under the search bar. Click on one of them, and you'll search those same terms in that specific app. What you may not know is that you can tweak this list, removing and adding apps through Windows 8's settings. Bring up the Charms bar (with Win+C), click Settings, and go down to "Change PC Settings." From there, choose Search from the left sidebar, and turn off the apps you don't want taking up space in this menu.

8. Enable the Hidden "Aero Lite" Theme
When Windows 8 was in the testing phases, it had an additional "Aero Lite" theme that took away some of the transparent glass features of Windows Aero. However, the final version of Windows 8 opted for a much more basic theme than the testing builds, so Aero Lite no longer shows up—however, you can still find it in the Themes folder on your computer. With a few small tweaks, you can re-enable it in your Personalization preferences. It isn't too different from the default themes, but it does give a slightly different look to the title button bars and some other small parts of the OS.

7. Enable the Secret Start Screen Animation
When you first sign onto Windows 8, you get a very cool flow-y animation of all your tiles filling up the screen. After that, though, the Start screen has a much more toned-down animation. If you want to enable the cooler animation for every launch of the Start screen, you can do so with a simple Registry tweak. You can also customize certain settings for the animation too, which is pretty cool.

6. Customize More Icons in Windows Explorer
Remember in Windows 7, when you created a library, it had that ugly, nondescript icon? And you had to go through some complicated process to change it? Well, Windows 8 now lets you customize your Library icons right from its settings. Just right-click on the Library, go to Properties, and you should see the option to change the library's icon right at the bottom. Bonus tip: If Windows Explorer's Favorites icon is getting in your way in the sidebar, you can right-click on the sidebar to hide it (sadly, you can't do the same for Libraries, Homegroup, or other annoying icons).

5. Create and Name App Groups on the Start Screen
When you first open up the Start screen, you'll notice that some of your apps are in their own "groups." You can create your own groups just by dragging an app's tile to an empty space on the Start screen—it'll create its own group. If you want to name your groups—say, for "Work," "Games," and so on—you can do so by clicking the small button in the bottom-right corner of the screen and right-clicking on the groups.

4. Take Faster Screenshots
For a long time, Windows had an absurd screenshot shortcut in which you had to press Print Screen, then open up an app like Paint or the GIMP and paste in your screenshot from the clipboard. Well, no more! Now, if you press Win+Print Screen (or Win+Volume Down on a tablet), Windows will take a screenshot of your screen and automatically save it in your Pictures folder as a PNG file. It still isn't as powerful as something like Skitch, but if you only need the occasional screenshot, it's nice to see a simpler shortcut built in to the OS.

3. Tweak the Number of Rows on the Start Screen
By default, the Start screen fills your monitor up with as many rows of tiles as it can fit, up to 6 rows. If you'd like to lower that number—maybe you have a particularly cool background, or your groups just aren't that big—you can tweak this number by editing the Registry. Unfortunately, this doesn't seem to let you pack more tiles onto smaller monitors, but it's a cool little tweak if you want to give your Start screen a more minimal look.

2. Hide Recent Files from Your Jump Lists
Jump Lists were a great addition in Windows 7 that helped boost your productivity, but their "Recent Items" feature were a possible privacy concern—say, if there were documents or files you didn't want others to know you had viewed. Windows 8 lets you customize Jump Lists more than Windows 7, giving you the option to hide recently opened items and recently opened programs. To access the preferences, just right-click on the Taskbar, go to Properties, and click the Jump Lists tab

1. Get More Out of Your Multiple Monitors
If you have multiple monitors, you've probably noticed that Windows extends your taskbar across both screens. It does more than just that, though: you can press Win+PgUp to move your current app to your left monitor, and Win+PgDn to move it to the right monitor. In addition, if you go to the Desktop Background section of your Personalization settings, you can right-click on any individual wallpapers and choose which monitor you'd like it to show up on. Of course, if you like things the old way, you can also turn off the dual taskbar in Taskbar Properties.

Monday, March 4, 2013

Project Management - Writing A Project Proposal 101

1. Ask Questions

Before starting your proposal, take some time to make sure you know exactly what you're proposing. If you're unclear about any part of the project, ask your potential client a few meaningful questions. If anything seems vague in their description of "what they want", ask for clarification and then give them a list of possible options as to what you think they might have meant. For your sake, when preparing to give a price, it's important that you and the client both have the same amount of work in mind. - Note: If you decide to include a list of questions along with your proposal, include an educated guess as to what their answers would be. Make it clear that your price is based on you having made the correct guesses to the proposed questions and that if anything needs clarifying or if anything is missed, you can adjust your quote accordingly.

2. Summaries the Project

Take all the information on the project that you're received from the client thus far and summarize it briefly, using your own words, in an opening paragraph. This not only helps you get a clearer concept of the project in your own mind, but also gives the client confidence that you've given it thought and understand what they want. It also provides a solid opportunity for them to clarify encase you didn't understand. - Example: "Below is a summary of my understanding of the project based on our conversations thus far."

3. Break Down the Project Into a Nice "To Do" List

After your summary, follow-up with a solid "To Do" list, which is very useful for both you and the client. List everything that they've requested so far as well as your standard work on the project. For designers, this would include listing the initial drafts, etc. For programmers, this would include planning the database, building it, etc. Be thorough in your list. It will help give the client a strong sense that you know what you're doing and that you'll do the job well. It will also help you make sure nothing slips through the cracks. Use the list in your project updates and cross things off as you move along.

4. Split the Project Into Phases

After your "to do" list, split the project up into a number of clearly defined phases. I recommend starting out with a minimum of three. Your first phase might be the "Initial First Draft". During this phase, you begin work on the project and end the phase by sending the client a first draft for testing and revision. Your next phase, in a simple 3 phase project, could be "Bug Squashing and Customizing" - During this phase (I recommend project appropriate naming conventions ;) the project is tested and revisions are made until the client is happy with the work and it's ready for action. Your last phase is "Finalization". Once the work is finished, you send them an invoice, ask for referrals, collect payment, and end with a virtual handshake, all parties satisfied with a job well done. - Bonus: A useful strategy to keep in mind when it comes to pricing is splitting up a long to-do list into meaningful project phases and then pricing each of the "phases" individually. This can be especially useful for isolating features that require additional time and energy and being sure the client recognizes the work involved when it comes time to give them the price.

5. Give Your Clients a Timeline

Once you've gone over the project phases, let your clients know approximately how long you expect the project to take. Be generous (overestimate if need be, but gently) and then strive to finish up ahead of time. While a project may only take you a few hours to finish up, keep in mind that there will be waiting time between the initial drafts and the finished project as the client reviews the work and provides feedback. If the client is in a rush, let them know exactly when it can be finished and be sure to go over in detail exactly what, if anything, needs to be done on their part to make that deadline possible.

6. Estimate Your Time Involved

While not useful for all project types, giving an estimate of time involved is useful for most and not only gives the client a sense of what to expect and that you know what you're doing, but also helps you know exactly what to plan ahead for. A large design/programming project, for example, with a high dollar amount, can be an excellent opportunity to detail the hours involved in each step of the to-do list. Be generous, but honest. The last thing you want is word getting around that it takes you several hours to do what takes the average freelancer 15 minutes ;).

7. Use the Multiple Choice Price Strategy

Now that all the details have been clearly laid out and your client is confident in your understanding of the project and your ability to see it through, it's time to give them the price. Calculate your predicted time involved and be sure that nothing is overlooked. Then, give them the total number of hours along with your standard hourly rate followed by a discounted "flat rate". As an example, take a typical CSS design/coding project. Let's say you estimate about 5-8 hours involved in the project and your hourly rate is $40 an hour. Your proposal would then read something like this: "At around 5-8 hours of work, you're welcome to my basic hourly rate of $40 an hour or a discounted flat rate of $250." 9 times out of 10 the client will choose the flat rate over the hourly and will be happy with having had the freedom to choose. - Note: As an honest freelance artist who's abilities are constantly improving, you'll often reach a point where what once took you 5 hours now takes you an hour. Once that happens, the multiple price strategy is no longer needed. Give them your flat rate and do an excellent job :). - Be sure that, along with your price, you give them your options for accepting payment.

8. Offer a Satisfaction Guarantee

Once you've given them the price, be sure to include your satisfaction guarantee. Let them know that you're committed to working on the project until they're fully satisfied and then, once they've accepted your proposal, stick to it. There's always the possibility that it can backfire with a client who just doesn't ever seem to be satisfied (we can talk about dealing with them another day), but the vast majority of the time a solid guarantee will give your clients an extra vote of confidence and help to close the deal. There's always the possibility of a project costing you more time than it's worth, but no matter. Give the project your absolute best and learn everything that you can. Satisfied customers often end up being repeat customers and they are more than worth the time spent on those who may not appreciate your work.

9. End With a Call to Action

Finally, after all the details have been made clear, and the price and guarantee given, end with "what happens next." Let them know exactly what they need to do to get started. If you require payment upfront, let them know where to send the money. If everything prior has gone well, you now have a client who's excited and eager to see their project come to life and you want to make sure that they know what needs to happen next.

10. Write and Format Professionally

Nothing says "unprofessional" like a bunch of "misspellings", grammatical errors, and "IM Style" typing. Take the extra time to proof read your proposal and fix any little errors that may have slipped in. Use spacing between your paragraphs and divide your various sections (Project Summary, Timeline, Price Quote, etc.) with subheadings. For extra points, put your proposal up on a password protected page (make sure the password works!) within your website. - Note: If you're struggling with style or would just like some extra ideas/opinions, put together an example proposal and share it with family and friends along with a request for feedback.
And there you have it! Once the proposal has been accepted and the project complete, be sure to always ask the client if they have any suggestions for how you can improve and do even better work in the future. Ask them if your proposal was clear and ask, if you're able, what the deciding factor was in choosing you to do the work. Take note of all you learn and apply it to the next proposal you write.
Although not directly related to "proposal writing", here are two other tips that are worth mentioning:
  1. Pre-Screen Your Clients: To save both you and your clients time and energy, it's important to be sure that they are as informed and as prepared as possible before they contact you. This is where your website can step in and do its job. After they've browsed through your portfolio and decided to go for a price on your services, it's important that you provide a clear path to follow. Create a page specifically for those interested in working with you. Outline the types of projects that you do and the processes that you use. Don't hide your prices. As well as offering an hourly rate and flat rate estimates for various project types, I recommend mentioning that you're always open to creative negotiations. You can often end up with "free projects" that more than pay what you would have charged them.
  2. Respond Quickly: While not always possible, when you're able to, respond to your prospective and active clients immediately. If you have an expected delay, let them know that you plan to be unavailable. Be punctual with all your appointments and make sure that you meet your deadlines. If you miss a deadline and you're at fault, take a hit on your earnings. This will let the client know that you mean what you say and it will also help you to make sure it doesn't happen again.