twitter-blue35x36 microsoft project training facebook page ms project tutorial video
Tactical PM Blog

Buy My eBook

Banner

Free Tactical Tips

Join our FREE No-Fluff Project Management Tips Newsletter

 
LiquidPlanner online project management software

 

 

project management degree

Recent Project Management Reading

Print E-mail
Written by Dr. Andrew Makar   
Below is our current favorites list of Project Management articles that we're currently reading. Add a comment
 

Free Project Management Software

Print E-mail
Written by Dr. Andrew Makar   

Is there such a thing as free project management software?

For the project management community, commercial packages like Microsoft Project are the standard for project scheduling management. At $599 per license, Fortune 500 organizations can invest in the industry standard tool, while many smaller organizations might not find it as cost-effective. However, cost pressures are a reality in both large and small organizations, often resulting in a limited number of software licenses for project staff. In some cases, project managers are forced to manage projects with makeshift tools, and are not able to leverage the benefits of project scheduling software.

With the increase in agile software development methodologies, the project scheduling choices can vary from the no-tech index card approach to hosted solutions like RallyDev's agile methodology. They even offer a free community edition for managing Agile project schedules.


For organizations lacking a true project management scheduling solution, project managers often use Excel spreadsheets or PowerPoint software to develop schedules and communicate project status. There are several other alternatives to the commercial marketing. Two open-source project-scheduling packages - GanttProject and Open Workbench - provide a cost-effective option to Microsoft Project, Excel or makeshift tools. Below is a look at these two increasingly popular free project management software scheduling solutions.


GanttProject

free project management software gantt project


GanttProject is an open-source project-scheduling tool that develops project plans and reports project progress using Gantt charts. A Gantt chart is a bar chart used to show tasks and related project schedules over time. GanttProject quickly creates Gantt charts with a few keystrokes and a couple clicks of the mouse.

Project managers can use the software to easily build project schedules and publish plans to the project website. GanttProject can be used to develop program-level Gantt charts with program milestones. Each task can be assigned multiple resources, task dependencies and notes. The open-source product also has plug-ins available to link multiple GanttProject plans under one project plan.

GanttProject provides a simple resource sheet with fields for name, phone number, email address and project role. Overallocated resources are easily identified in the Resources tab by red Gantt chart bars. However, the individual tasks with overallocated resources are not easily identified, requiring individual checking of each task's resources allocation to level the resources.

GanttProject has a number of built-in features to facilitate communication. Once the project plan is built, it can be shared with other team members by publishing it on a web site, exporting it to PDF file format or a graphic file (JPEF, PNG formats). Under these formats, project stakeholders can use a web browser or an Adobe PDF reader to view the project plan, instead of the GanttProject software. The tool also integrates with the user's desktop email software and supports email integration.

GanttProject is a simple application, lacking some basic usability features commonly found in Microsoft applications including right-mouse clicks menus and undo functions. The tool only supports duration estimates using days as the unit of measure instead of hours, weeks or months. GanttProject only provides a single Gantt chart view of the project schedule, unlike other tools that support task and resource allocation views.

These limitations don't prevent a project manager from quickly building Gantt charts to communicate progress with the project stakeholders, however. Most project managers will appreciate GanttProject's easy-to-use charting feature as well as the ability to quickly graph a project schedule without having to learn a complex project scheduling tool.

GanttProject was released to the open-source community in January 2003. It is available for free at http://ganttproject.sourceforge.net. Product support and additional add-ons are also available at the website. Project managers can view the demo at: http://ganttproject.sourceforge.net/demo/demo.html

Open Workbench

free project management software open workbench

Open Workbench is Niku Corp.'s open-source project scheduling and management tool. Positioned as a free replacement for Microsoft Project, Open Workbench allows users to create projects and tasks, build Gantt charts, assign resources, and track project progress.

Open Workbench provides much more functionality than GanttProject and similar functionality to that found in Microsoft Project. Project data is displayed in a variety of views including spreadsheet formats, Gantt charts, and Critical Path Method charts. The standard views can be customized, or new views can be created to meet project management needs. The tool supports schedule baselines, tracks actuals, and provides variance analysis capability.

The views in Open Workbench are grouped into planning, executing and controlling categories. The categorization provides all the necessary views based on the project's phase. Instead of browsing through multiple views, the categorization provides the common views used during each of the standard planning, executing, and controlling project phases.

Open Workbench categorizes work into phases, activities and tasks. The underlying views can display a detailed Gantt chart with relevant tasks or a high-level Gantt chart depicting the project's phases. The Work Breakdown Structure (WBS) view dissects the project work packages and assigns the proper phases, activities, and task category. The tool provides an auto-scheduling feature that will convert a WBS into a Gantt chart. Sliding the Gantt bars in the proper view also easily modifies project schedules.

New users of Open Workbench are encouraged to read the user guide before building a project schedule. The tool has a learning curve though the common functions are immediately intuitive. Open Workbench handles tasks, resource assignments and schedules different than Microsoft Project. Experienced Microsoft Project users may find some usability issues as Open Workbench applies a structured and rigid approach to planning, executing and controlling project schedules. The structured approach aids the planning process but also hinders some of the flexibility found in different Microsoft Project views.

One noticeable difference is the way resource assignment and task dependencies functions are performed using a separate dialog box instead of entering the data directly into the spreadsheet view. Double clicking on a task name allows users to modify the task title instead of displaying a dialog box. The different views in Open Workbench can also be confusing since the windows are split into two or three sections depending on the view.

Project managers can download Open Workbench at http://www.openworkbench.org and build a sample project schedule. More than 34,000 copies of Open Workbench have been downloaded to date - an estimated savings of more than $20 million dollars in commercial project management licensing.

GanttProject or Open Workbench?

If you need a simple software tool to quickly draft a graphical version of the project schedule, consider GanttProject. GanttProject is a simple, easy to use scheduling tool with a short learning curve.

If you need an alternative to Microsoft Project, and can invest the time to learn the tool, try Open Workbench. Open Workbench is a much more powerful solution, but requires training to understand all the features.

And keep in mind: there are other open-source scheduling tools to investigate, including GanntPV and JprojectTimer, a Java-base solution. A good resource for searching the latest open-source scheduling tools is http://www.sourceforge.net.

Users of any open-source tools should frequently visit the support web sites and subscribe to newsletters for new updates. Open-source tools will continue to improve over time, and new features will be released to the project management domain. Before investing in commercial scheduling software, project managers and organizations should consider open-source alternatives.

What about Microsoft Project?

I still have a personal bias towards Microsoft Project since I've worked with the tool for years.  I still think Microsoft Project is the best desktop projet management scheduling tool.  However, if you're looking for free project management software, please consider the tools mentioned above.

Add a comment
 

Export the Microsoft Project Calendar to Microsoft Word

Print E-mail
Written by Dr. Andrew Makar   
Tuesday, 04 August 2009 10:19

Exporting the calendar view from Microsoft Project 2007 to Microsoft Word is a simple task that is useful to communicate key timelines, activities and milestones.  To export the calendar view, follow these simple steps:

1. Switch to the Calendar View in Microsoft Project

2. Select Report - Copy Picture

ms project tutorial microsoft project training copy picture box

3.  Select either the "For screen" radio butto or the "To GIF image file:" radio button

4.  Click Ok

5.  Open Microsoft Word and if you selected For Screen, just Select Edit - Paste and the Calendar image will appear.

Otherwise, you'll need to add the image to the Microsoft Word document the usual way!

Add a comment
 

Earned Value Management: How to Calculate EVA in Microsoft Project

Print E-mail
Written by Dr. Andrew Makar   

Authors Note: I've received a lot of emails recently regarding the use of Microsoft Project and earned value management.  If you are new to building a project schedule, you will want to check out the MS Project Tutorial on How to Effectively Build a Project Schedule in 10 Easy Steps as it builds a project project schedule that  can use earned value metrics.  The following article provides the high level steps to calculate the earned value metrics in Microsoft Project. Enjoy -A. Makar.

You've just returned from your Friday afternoon lunch and started to check last night's sports scores when boss stops by your desk. You deftly hit Alt-Tab keys to switch to an open Excel spreadsheet as your boss starts talking about his latest training class. He just returned from a project cost control seminar and wants you to apply earned value analysis to your project. He wants to see your current SPI and CPI calculations on your next status report

You remember reading about earned value in the PMBOK book that sits high on your office bookshelf, but have no idea on how to get started. You know your budget and actual costs to date, but calculating earned value remains an enigma. Don't worry. By following this article, you'll be calculating earned value, SPI, CPI and other earned value metrics with a few mouse clicks and some third grade math.

 

In order to apply earned value to your project plan, you will need to complete the following six tasks:

  1. Enter Resources with hourly bill rates in the Resource Sheet view
  2. Assign resources to tasks in the Gantt Entry view
  3. Save the Project Baseline
  4. Record Actual Start/Finish and Actual Work each week in the project plan
  5. Review EVA metrics using the Earned Value views and reports
  6. Calculate Schedule Performance and Cost Performance indices

The Resource Sheet View

The resource sheet view allows project managers to define the different type of resources available to a project. MS-Project tracks work resources and material resources. Work resources are the people and equipment that consume time to accomplish project tasks. Material resources are the consumable supplies, such as steel, concrete and other construction materials that are used to complete the project tasks. Most software projects are based on work resources with different costs rates. Figure 1 depicts all the team members assigned to a project with their respective hourly cost rates.

Figure 1 Resource Sheet

 

The resource costs need to be entered to calculate the project's planned value (PV) or budgeted cost of work scheduled (BCWS). In this example, Customer Cindy was assigned a $0.00 dollar amount since the client isn't being charged for their participation in the project. If you are managing an internal IT project and are tracking costs for both IT and functional resources, assign a standard rate as appropriate.

 

Assign Resources to Tasks

After you've established your pool of resources and their individual costs, the next step is to assign resources to all your tasks in the Gantt Entry view. There are several ways to assign resource in MS-Project and the most direct method is to click on the Assign Resource Icon in the Resource Management Tool bar and assign the appropriate people to the task. Figure 2 identifies the Assign Resource Icon and the Assign Resources dialog box.

 

Figure 2 Assign Resources

 

If you are applying earned value to an existing plan, the resources should already be assigned and the costs for each task are automatically calculated when the standard rate was assigned. After the resources have been assigned, MS-Project calculates the task's cost. To view the current costs, follow these steps to use the combination Task Entry and Task Usage view.

  1. Click on the Task Entry View icon in the Resource Management toolbar or click on the Gantt Chart view and select Split from the Window menu
  2. Click anywhere on the lower window pane to activate it
  3. Select the Task Usage view in the lower window page
  4. Select View – Table and select the Cost table.
  5. Click on any task in the upper window pane to view the cost information.

Figure 3 depicts the total cost of the project in the combination Task Entry and Task Usage view.

 

 

Figure 3 Project Cost

 

Try selecting various tasks to view the total cost. In the EVA Example.mpp template, click on the "Code Screen A" task. The total cost of the developing the code for one screen is $3200 since the developer, ASP Alex, bills $40.00 per hour for 80 hours of work. Understanding the actual cost to deliver a task provides better awareness of major project deliverables and their complexity. It allows the project manager to manage each task as a budget item in their portfolio instead of just a list of tasks.

 

Managing the costs at the task level helps improve productivity by planning for quality team meetings. In the EVA Example, if all team members meet on a weekly basis for 1 hour, it will cost the project $530.

 

If you were going to meet with a consultant who charges $500 per hour, wouldn't you want to adequately organize and prepare for this meeting? Understanding the costs of operating and managing the project will help avoid costly meetings and motivate the project manager to plan for productive and effective meetings.

 

Once you've reviewed the total project costs, verify the total project amount does not exceed your total project budget. Project budgets are often estimated at a high level without the benefit of a detailed bottom-up estimate. If the project's cost is greater than the original budget, a funding supplement or scope change may be required.

 

Save the Project Baseline

After you've built your plan, assigned resources and confirmed the budgeted costs, the next step is to baseline the project plan. Saving the project baseline is an important step to measure and manage your project's performance. To save the project baseline, follow these steps:

  1. Select Tools – Tracking – Save Baseline
  2. The Save Baseline Dialog box appears and select the Save Baseline radio button
  3. Select the Entire Project radio button to baseline the entire project plan or select the Selected Tasks radio button to baseline any selected tasks.
  4. Click OK


The Baseline Start, Baseline Finish, Baseline Work, Baseline Cost and Earned Value fields will be populated. If your project is in process and you haven't established a baseline, you'll need to baseline any future tasks and manually edit the baseline data for completed and in-process tasks. Saving the project baseline before project execution avoids these manual-editing procedures. For more information on the project baseline, refer to the upcoming Lessons Learned with Microsoft Project #6: Baseline the Project Plan in our series.

 

Record Project Actuals

Once the baseline is established and the team begins working on the plan, tracking the actual costs and start and finish dates will be helpful in calculating the project's earned value. Tracking the Actual Start and Actual Finish dates and comparing them to the Baseline Start and Baseline Finish dates will be used to determine any schedule variances. Tracking the Actual Work and comparing it to the Baseline Work will be used to determine any cost variances. After you've entered your project actual dates and hours for the week, you can view the earned value information.

 

Review the EVA view and reports

It may seem like it took a lot of effort to reach this point, but if you've established your project baseline and are tracking project actuals, the earned value information is just a few mouse clicks away. MS-Project uses the Earned Value, Earned Value Cost Indicators and Earned Value Schedule Indicators tables to display earned value information.

 

To view the Earned Value table:

  1. If you are using a combination view, select the window pane to display the earned value information.
  2. Select View – Table – More Tables menu item.
  3. The More Tables dialog box will appear and you can select from a variety of tables.
  4. Select the Earned Value table and Click OK.
  5. The current earned value information will be displayed for each task.


Figure 4 displays the Earned Value table for each task in the project plan.

 

Figure 4 Earned Value table


The Earned Value table contains eight earned value fields to represent the project's earned value.

 

Earned Value Field Name Description
BCWS Budgeted cost of work scheduled or Planned Value
BCWP Budgeted cost of work produced or Earned Value
ACWP Actual Cost of Work Produced or Actual Cost
SV Schedule Variance
CV Cost Variance
EAC Estimate at Complete
BAC Budget at Complete
VAC Variance at Complete

 

The Earned Value data is calculated based on the current date. As of 3/4/2005, the project had planned to complete $23,570 dollar of the planned budget. This is the budgeted cost of work scheduled or the planned value for the project. The project actually completed $19,575 dollars of the project budget. This is known as the earned value or budgeted cost of work produced. Finally, it actually cost the project $23,170. This is known as the actual cost of work produced or actual cost.

 

In percent complete terms, you had planned to complete 65 percent of the project. However, you only completed 54 percent of the project and have spent approximately 65 percent of the project budget. The percentages are calculated by dividing the respective BCWS, BCWP, and ACWP by the original project budget or BAC (Budget At Complete).

 

By examining the SV (Schedule Variance) and CV (Cost Variance) columns, you can quickly determine if the project is on schedule in terms of project plan performance and budget. If the SV and CV columns are zero then the project is on track and on budget. Schedule and cost variances need to be monitored throughout the project to keep the project in control.

 

The EAC column provides an estimated cost at the completion of the project. If the project continues to perform with these cost and schedule variances, the actual cost of the project will be $40,800. Remember the original project budget was $35,905 and total project cost variance will be $6,594. Your customer and a contingency budget may be able to fund the cost overrun, but the VAC (variance at completion) should be reviewed with your customer to manage the budget and scope accordingly.

 

The Earned Value report in MS-Project will also display the earned value for each task in the plan. To run the report:

  1. Select View - Reports
  2. Click on the Costs icon and click select
  3. Click on the Earned Value report and click select.


The earned value report and table provide the objective metrics you need to assess the project's health. By reviewing the SV column, you can quickly identify the tasks that are running behind schedule. The next step is to calculate the schedule and cost performance indices for your status report.

 

Calculate Schedule Performance and Cost Performance indices

The schedule performance index (SPI) is a measure of the actual project progress to the baselined schedule. The cost performance index (CPI) is a measure of the project's earned value compared to the actual costs incurred. The indices are calculated using the follow equations:

 

SPI = EV / PV


CPI = EV / AC

 

In our project example, the SPI is $19,575 / $23,570 or .83 and the cost performance index is

$19,575 / $23,170 or .84. Both calculations are less than 1 and indicate the project is behind schedule and over budget. The project manager needs to address these variances to improve the performance of the project. During a project execution, a project can often run behind schedule or over budget for a given time period. The schedule and cost performance indices help to summarize the objective performance of the project and should be included on the project's status report.

 

Summary

In six easy steps, you've been able to calculate your project's earned value. The actual earned value calculations only require a few clicks of the mouse, but the good project management processes of tracking actual performance against the project baseline requires discipline. Project managers need to consistently measure performance in order to successfully manage their projects. Implementing earned value reinforces the need to manage against a baseline project plan and track project variances.

 

MS-Project's earned value calculations are based on the status date in the Project Information dialog box and are compared against the project baseline. If a status date is not set, MS-Project uses the current system date in the EVA calculations. If the plan wasn't updated for three weeks and the project manager viewed the earned value information, the calculations would be further off since three weeks have past since the last review. Remember, earned value is a point-in-time evaluation of the project. If you want to experiment with the EVA Example.mpp file, change the dates, rebaseline and simulate the actual hours. You will see a different EVA calculation based on the project's progress.

 

Incorporating these objective metrics in your status report will help guide the project discussion around schedule and budget in addition to the subjective project status narrative. In the next article, I'll review some other useful earned value calculations. In the meantime, hit Alt-Tab to finish checking your sport scores and then start applying earned value to your project.

If you are interested in the EVM topic further, I recommend these three books:

Attachments:
FileDescriptionFile size
Download this file (EVA-Example.mpp)EVA ExampleEVA Example317 Kb
Add a comment
 

Earned Value Management Tutorial

Print E-mail
Written by Dr. Andrew Makar   

We've all heard the term somewhere in a project management class or a PMP exam preparation book: EVA, Earned Value Analysis. According to the Project Management Body of Knowledge, earned value analysis is "an objective method to measure project performance in terms of scope, time and cost."

In theory, these project management concepts sound great, but in actual practice we need additional guidance to apply these concepts to our projects. After all, how many of you actually draw a network diagram of your project schedule and conduct a forward and backward pass?
While commiserating with a group of project managers over their recent program "challenges," I conducted an informal survey of their EVA knowledge. In my unscientific study, I found these project managers had heard the term EVA but didn't know how or why EVA should be applied to their projects. None of the project managers in their organization uniformly applied EVA across their projects. I continued this informal survey with other project managers and found only a few understood EVA and actually applied it on their projects.

Who's afraid of EVA? Earned value analysis is an excellent technique to assess project health and apply metrics to manage your project. Earned value analysis is also an effective way to communicate to your customer on the overall budget and schedule performance of the project. Earned value isn't difficult to calculate if you can remember a few formulas and apply some simple mathematics.

EVA calculations are derived from measuring the characteristics of project health. Project health is often measured in time, cost and scope and is often referred to as the "Triple Constraint." At the end of a week or reporting period, the project manager typically prepares a status report and summarizes the status of time, cost and scope into an easy to reference red, yellow or green status. The traffic light status approach is used to identify troubled projects that need management attention.

The problem with this status approach is it becomes very subjective to perception and influence. A project manager can walk into status meetings with a red status, and the status is magically turned to yellow or green a few hours before a sponsor review meeting. Even worse, a project can be reporting green each week and a day before the project launch date, the project suddenly turns red. Human nature attempts to rationalize multiple points of view into one status. During the evaluation process, there are no objective metrics to measure current health or forecast future performance. Fortunately, EVA provides an objective assessment of project health and includes early indicators of performance issues.

Earned value analysis is a point in time evaluation that measures project health by asking three key questions. Once you have answered these questions, the earned value metrics can be easily calculated:
  • How much work did your plan to complete? (Planned Value)
  • How much work did you actually complete? (Earned Value)
  • How much did it cost to complete the work? (Actual Cost)


Planned value (PV) represents the budgeted cost of all the tasks that were planned to start and finish at this point in time. Earned value (EV) represents the sum of all the budgeted costs of completed work at this point in time. Actual costs (AC) are the actual costs of the work produced. It is important to remember EV is based off the original project budget. EVA newbies often confuse the actual cost with the earned value figure. The following example depicts EVA in action.

 

Assume a small four-week software enhancement is budgeted for $10,000. While reporting status during the third week, the project manager determines his team has only completed 50 percent of the work. Based on the project schedule, the team was supposed to complete 75 percent of the work during the third week. The project manager also noticed they've spend $9,000 to date on the project. What is the overall health of the project?

 

In this example, the planned value is $7,500. Based on the project schedule, the team should have been 75 percent complete. The planned value can be calculated by multiplying the planned percent complete by the project budget.

 

PV = Planned % Complete * Project Budget = 75% * $10,000 = $7,500

The earned value is determined by multiplying the actual percent complete by the project budget. The earned value determines that amount of value that has been delivered to the project to date.

 

EV = Actual % Complete * Project Budget = 50% * $10,000 = $5,000

 

Finally, the actual costs to deliver 50 percent of the project were $9,000. The actual costs are calculated by tracking the actual spend against the project budget.

 

AC = $9,000

 

By applying these calculations, we can determine cost and schedule variances. The cost variance (CV) measures the difference between the actual costs of work performed to the project budget. The schedule variance (SV) is a measure of the actual progress to the project schedule. These variances are described by two simple equations.

 

CV = EV – AC

SV = EV – PV

 

The cost variance for this project is $5,000 - $9,000 = -$4,000. The schedule variance for this project is $,5000 - $7,500 = -$2,500. When reviewing cost and schedule variances, the project manager wants the variances to be zero or greater. Positive variances indicate a cost savings or schedule efficiency. However, these should be examined to confirm the cost or schedule efficiency data is correct. In this example, the project has negative cost and schedule variances.

 

By reviewing these calculations, the project manager can quickly determine that the project had spent 90 percent of its budget only to only complete 50 percent of the work. The project is behind schedule and will be over budget at the end of the project. The project manager will likely need to reduce scope, extend the project schedule or obtain more funding to deliver the original software enhancement.

 

Two final calculations are made to determine the cost and schedule performance indices. The cost and schedule performance indices are helpful in communicating an objective assessment of project health to the project stakeholders. Each index represents a performance ration to either budget or schedule. The cost performance index (CPI) is a measure of a project's earned value compared to the actual costs incurred. The schedule performance index (SPI) is a measure of actual progress to the project's schedule. When reviewing these calculations, the indices should be as close to 1 or greater. If the number is equal to 1, then the project is on schedule. If they are greater then 1, then the project is ahead of schedule.

 

CPI = EV / AC

SPI = EV / PV

 

In the project example, the CPI is .55 and the SPI is .66. Both numbers are less than 1 and the project schedule and budget need to be examined. If the project continues at this rate, it will cost the company at total of $18,181 to complete a project that was originally budgeted for $10,000. To calculate the estimate at completion (EAC), divide the original budget by the cost performance index.

 

EAC = BAC/CPI

 

Who's afraid of EVA now? If you can answer three questions, subtract and divide then you can apply EVA to provide an objective assessment of project health. EVA requires project managers to track project actual start and finish dates while comparing actual costs to the project baseline. By adopting EVA on your projects, you will reinforce good project management principles.

 

When presenting the status of a project, the traffic light reporting process can be replaced with objective SPI and CPI calculations. If your customers and management still prefer to speak in traffic light terms, establish ranges using the SPI and CPI indices to determine the red, yellow or green status. A project with an SPI greater than .95 could be considered green or any project with a CPI lower than .85 is immediately red. If your project is 15 percent off its budget, you'll need to gain significant efficiencies to bring the project back on budget. Establish your own ranges as appropriate and continue to use a consistent objective definition to summarize project status.

 

If project management had an instrument panel, I'd look for an SPI and CPI gauge to help direct my project's next steps. The metrics provide an objective assessment of project health based on the project plan. If EVA is new to your organization, your customers, team members and senior management will need to be educated in interpreting EVA.

 

I explain to my customers and senior management that my job is to ensure the SPI and CPI numbers are as close to 1 as possible. If they are not equal to 1 or greater, then it is my job to explain the gaps and share my plan to bring the project back on track and successfully deliver. After some orientation and a few reporting periods, my customers started inquiring about their project's SPI and CPI. They were equally interested in the objective evidence that indicated their project was on track.

 

After learning about EV, PV, AC, CPI, SPI and other acronyms, it can become confusing trying to remember how to track all these numbers and calculations. Fortunately, Microsoft Project tracks all this information for you and with a few clicks of the mouse and some simple division; you can add these metrics to your status report.

 

Author's note:  If you found this tutorial useful, then I recommend the MS Project tutorial on How to Effectively Build a Project Schedule in 10 Easy Steps.  By building an effective project schedule, you will be ready to apply the tutorial on How to Calculate Earned Value in Microsoft Project.

If you are interested in the EVM topic further, I recommend these three books:

Add a comment
 
<< Start < Prev 11 12 13 14 15 16 17 18 19 20 Next > End >>

Page 16 of 22
Joomla Templates by Joomlashack