4
I Use This!
Very Low Activity

News

Analyzed 1 day ago. based on code collected 2 days ago.
Posted about 12 years ago
If you follow closely the LibrePlan project, you will know that we are working in the development of the features that will be included in the LibrePlan 1.3 version, that is estimated to be released next April (you can look into the roadmap  here). ... [More] Among the things included in the roadmap, we regarded as very interesting to work in making the tool more intelligent by providing a set of indicators informing about the status of the project. At present, of course, you can also know the status of a project examining the planning and extracting the reports existing in LibrePlan. However, we thought that we could go one step further. We realized that although monitoring and controlling the project plan can be done by the project manager quite fast and easy, there is a user role, different from the project manager, that is also very interested in the status of the company projects. This user can be defined as an employee with a chief position in the organization hierarchy. For instance, the CEO of a company can be a good prototype of this sort of profile. This profile has some characteristics that make him different from the project manager role: The CEO is a user with less project management knowledge than the project manager and, therefore, has more difficulties in analyzing the project Gantt, in interpreting correctly the progress measurements or in applying project management techniques like the EVM (Earned Value Management) and the Monte Carlo simulation implemented in LibrePlan. The CEO is a user whose main duties are not related with project management and, because of this, he has less time available to follow the day a day of the projects opened in the company. Although the CEO has both less project management knowledge and less time to devote to it, he is interested in knowing how well or bad is going a project to make executive decisions if required. So, taking into account the above points, we assessed that for this kind of chief employee could be very useful a set of metrics, usually called KPI (Key Performance Indicators). Project management KPIs measure how well a project is performing according to its goals and objectives, i.e., to finish on time and with the expected cost. KPIs are perfect for the CEO users because they have three properties that satisfy the needs and use pattern of these executive users: They sum up information. They gather planning data and through calculations provide a panoramic view of the situation of a project according to the specific goal aspect they are are designed to measure. They are easy to understand. They do not require a lot of project management background to be read. Besides, in LibrePlan they can be merged to provide a single verdict about a project. They are fast. The user is not required to spend much time with the project plan to be able to get a view about the status of the project. I would like also to highlight that, although they are very important for the chief employees, the KPIs are also very helpful for the project managers and all the people taking part in the planning because they save time and provide and a good picture of the status of the project at any moment. The KPIs will be displayed in LibrePlan 1.3 in a screen of the project planning that will be called the dashboard. With this name we are drawing an analogy with physical dashboards present in complex machines like, for example, a plane where the pilots have a flying deck with a bunch of sensors monitoring any single aspect of the flight. In the same way, in the LibrePlan dashboard, the person in charge of the planning will be able to look at a set of numerical data and charts that will help him to bring the project to fruition. We have been studying which KPIs to implement to launch the first version of the dashboard and the principles we have followed in the research have been two: to cover the relevant aspects of the status of a project and, second, to maximize the value added to the program. Once concluded this investigation process, the result has been the identification of four dimensions and a set of KPIs per dimension. Besides, according to this four dimensions, we designed the layout of the dashboard divided in four areas, each one containing the KPIs belonging to it inside. The dimensions and KPIs are the next ones: Progress This dimension measures which is the progress degree of the project, i.e, work already done versus work remaining to do to close the project. KPIs: Global progress chart. It will sum up the current global progress of the project and will show the theoretical value the project progress should have if all things went as expected. Task status chart. It will show the number of tasks finished, ready to start, blocked by a previous dependent task, etc.. Time This area will show how well the project is performing in time according to deadlines and other time commitments. KPIs: Task completion delay histogram. It will show an histogram chart with the number of days the tasks of the project are finishing ahead of time or after the planned end date. Deadline violation KPI. Pie chart with the tasks which have not hit the deadline, the tasks which have hit it and the tasks without a configured one. Margin with project deadline. Number of days the project finishes after or before the configured project deadline. Resources This dimension will do an analysis of the resources being allocated in the project. KPIs: Estimation accuracy histogram. It will be an histogram with the deviation between the hours planned and the hours finally devoted by the company resources to the tasks of the project. Overtime ratio. It will show how much overtime the resources allocated to the project are having. Cost This area will include some metrics belonging to the EVM technique. These metrics are function of time and in this area will be shown calculated at the current date. KPIs: Cost Variance. It will be the difference between the BCWP (Budgeted Cost Work Performed) and the ACWP (Actual Cost Work Performed). It says how much we are losing or winning regarding to the estimated cost planned. Cost Performance Index. It informs about the current rate of win/loss value per time unit. Estimated as Completion (EAC). It is a projection that estimates which will be the final project cost at completion. Varience at Completion. It is a projection of the estimated benefit or loss at completion time. And finally, as a picture is worth a thousand words, although the dashboard is work in progress, I would like to include here a snapshot of some KPIs mentioned above that the LibrePlan team is implementing currently. KPIs development (work in progress) Besides, as we usually do, if you want to share with us your ideas or requests about what KPIs you miss or things that you regar as important for future, just let us know about it using the communication resources we have available in LibrePlan. [Less]
Posted about 12 years ago
If you follow closely the LibrePlan project, you will know that we are working in the development of the features that will be included in the LibrePlan 1.3 version, that is estimated to be released next April (you can look into the roadmap  here). ... [More] Among the things included in the roadmap, we regarded as very interesting to work in making the tool more intelligent by providing a set of indicators informing about the status of the project. At present, of course, you can also know the status of a project examining the planning and extracting the reports existing in LibrePlan. However, we thought that we could go one step further. We realized that although monitoring and controlling the project plan can be done by the project manager quite fast and easy, there is a user role, different from the project manager, that is also very interested in the status of the company projects. This user can be defined as an employee with a chief position in the organization hierarchy. For instance, the CEO of a company can be a good prototype of this sort of profile. This profile has some characteristics that make him different from the project manager role: The CEO is a user with less project management knowledge than the project manager and, therefore, has more difficulties in analyzing the project Gantt, in interpreting correctly the progress measurements or in applying project management techniques like the EVM (Earned Value Management) and the Monte Carlo simulation implemented in LibrePlan. The CEO is a user whose main duties are not related with project management and, because of this, he has less time available to follow the day a day of the projects opened in the company. Although the CEO has both less project management knowledge and less time to devote to it, he is interested in knowing how well or bad is going a project to make executive decisions if required. So, taking into account the above points, we assessed that for this kind of chief employee could be very useful a set of metrics, usually called KPI (Key Performance Indicators). Project management KPIs measure how well a project is performing according to its goals and objectives, i.e., to finish on time and with the expected cost. KPIs are perfect for the CEO users because they have three properties that satisfy the needs and use pattern of these executive users: They sum up information. They gather planning data and through calculations provide a panoramic view of the situation of a project according to the specific goal aspect they are are designed to measure. They are easy to understand. They do not require a lot of project management background to be read. Besides, in LibrePlan they can be merged to provide a single verdict about a project. They are fast. The user is not required to spend much time with the project plan to be able to get a view about the status of the project. I would like also to highlight that, although they are very important for the chief employees, the KPIs are also very helpful for the project managers and all the people taking part in the planning because they save time and provide and a good picture of the status of the project at any moment. The KPIs will be displayed in LibrePlan 1.3 in a screen of the project planning that will be called the dashboard. With this name we are drawing an analogy with physical dashboards present in complex machines like, for example, a plane where the pilots have a flying deck with a bunch of sensors monitoring any single aspect of the flight. In the same way, in the LibrePlan dashboard, the person in charge of the planning will be able to look at a set of numerical data and charts that will help him to bring the project to fruition. We have been studying which KPIs to implement to launch the first version of the dashboard and the principles we have followed in the research have been two: to cover the relevant aspects of the status of a project and, second, to maximize the value added to the program. Once concluded this investigation process, the result has been the identification of four dimensions and a set of KPIs per dimension. Besides, according to this four dimensions, we designed the layout of the dashboard divided in four areas, each one containing the KPIs belonging to it inside. The dimensions and KPIs are the next ones: Progress This dimension measures which is the progress degree of the project, i.e, work already done versus work remaining to do to close the project. KPIs: Global progress chart. It will sum up the current global progress of the project and will show the theoretical value the project progress should have if all things went as expected. Task status chart. It will show the number of tasks finished, ready to start, blocked by a previous dependent task, etc.. Time This area will show how well the project is performing in time according to deadlines and other time commitments. KPIs: Task completion delay histogram. It will show an histogram chart with the number of days the tasks of the project are finishing ahead of time or after the planned end date. Deadline violation KPI. Pie chart with the tasks which have not hit the deadline, the tasks which have hit it and the tasks without a configured one. Margin with project deadline. Number of days the project finishes after or before the configured project deadline. Resources This dimension will do an analysis of the resources being allocated in the project. KPIs: Estimation accuracy histogram. It will be an histogram with the deviation between the hours planned and the hours finally devoted by the company resources to the tasks of the project. Overtime ratio. It will show how much overtime the resources allocated to the project are having. Cost This area will include some metrics belonging to the EVM technique. These metrics are function of time and in this area will be shown calculated at the current date. KPIs: Cost Variance. It will be the difference between the BCWP (Budgeted Cost Work Performed) and the ACWP (Actual Cost Work Performed). It says how much we are losing or winning regarding to the estimated cost planned. Cost Performance Index. It informs about the current rate of win/loss value per time unit. Estimated as Completion (EAC). It is a projection that estimates which will be the final project cost at completion. Varience at Completion. It is a projection of the estimated benefit or loss at completion time. And finally, as a picture is worth a thousand words, although the dashboard is work in progress, I would like to include here a snapshot of some KPIs mentioned above that the LibrePlan team is implementing currently. KPIs development (work in progress) Besides, as we usually do, if you want to share with us your ideas or requests about what KPIs you miss or things that you regar as important for future, just let us know about it using the communication resources we have available in LibrePlan. [Less]
Posted over 12 years ago
Recently Salvatore Sanfilippo, creator of Redis, made the following controversial tweet: “I’ve the feeling that Ruby, Python, and other communities should help the PHP community to reach a more viable language ASAP”. [link] This is the kind of stuff ... [More] which usually ignites a flame Fortunately the conversation evolved into a more healthy discussion about what PHP lacks, especially compared to Ruby. In any case, some times I feel the same as Salvatore, not much about the particularities of the language itself but how most people use it. Compared to other languages, PHP is a low-entry language. It’s easy to pick up, even without much experience in programming. This brings good and bad stuff. People without much computer knowledge can implement their own ideas, which is good, but most part of the times without caring much about code quality. It’s very common to look for some PHP code and find stuff like building a very long HTML string and then echo it, for instance. Actually, it took me some years to learn that PHP can be used either as a template language and as a programming language. Once I learned this, I started to separate view code from business logic code in a much clearer and organized way, something which frameworks like Ruby on Rails foster and care about since day 1. Code like this: function list(array) { $html .= ' '; foreach ($array as $elem) { $html .= ' '.$elem.' '; } echo $html; } Could be rewritten as: Or even like: function list($array) { include_once('templates/ulist.html.php'); } (templates/ulist.html.php) Separating view from business logic makes code easier to read and understand. It also helps to start thinking more in an object-oriented way, encapsulating business logic in classes. Take a look at this piece of real code. It’s part of the extension Kickstarter from Typo3 CMS. (typo3conf/ext/kickstarter/class.tx_kickstarter_wizard.php) $content = ' function setFormAnchorPoint(anchor) { document.'.$this->varPrefix.'_wizard.action = unescape("'.rawurlencode($this->linkThisCmd()).'")+"#"+anchor; } '; Wouldn’t be easier to isolate the Javascript code into a different file and include it? This is what RoR does all time, it’s called partials. The same code in Rails would be something like this: render 'partials/_jscode.html.eml', :varPrefix => @varPrefix, :url => rawurlencode(self.linkThisCmd()); The snippet above could be translated into PHP as this: Partial::render('partials/_jscode.html.php', array( 'varPrefix' => $this->varPrefix , 'url' => rawurlencode($this->linkThisCmd()), )); And write _jscode.html.php as: function setFormAnchorPoint(anchor) { document._wizard.action = unescape("") + "#"+anchor; } Partial is a helper class which includes a file and make the hash of vars parameter visible inside the included file (check the code here: Partials-PHP). It also provides a function called inline which does the same as the method render but returns the result as a string. The original Typo3 code could be finally rewritten as: $content = Partial::inline('partials/_jscode.html.php', array( 'varPrefix' => $this->varPrefix, 'url' => rawurlencode($this->linkThisCmd()), )); This is just an example on how you can do your PHP code more beautiful and easier to understand. It’s not only a matter of whether PHP is a good or bad language itself (as any other language it has its pros and its cons), but also about how we as programmers use the language. Fortunately, nowadays in PHP there are good frameworks which promote good practises, frameworks like CakePHP, CodeIgniter or Kohana, which interestingly were inspired by Django and Rails. [Less]
Posted over 12 years ago
LibrePlan community announces the roadmap for version 1.3
Posted over 12 years ago
LibrePlan community announces the roadmap for version 1.3
Posted over 12 years ago
Minor release with many enhancements
Posted over 12 years ago
Minor release with many enhancements
Posted over 12 years ago
LibrePlan will be present at FOSDEM 2012 with a lightning talk on Sunday, 5th of February in...
Posted over 12 years ago
LibrePlan will be present at FOSDEM 2012 with a lightning talk on Sunday, 5th of February in...
Posted over 12 years ago
First of all, I’d like to announce that in a few days LibrePlan 1.2.1 will be released. This is a minor release including lots of bufixes done since 1.2.0. Thanks to all the users for reporting the different problems you have found in the tool, with ... [More] the new version you’ll have an improved experience using LibrePlan. For those who still don’t know, you can report us any issue in project bugzilla or directly talk to us in #libreplan IRC channel on Freenode.net, we’ll try to fix it ASAP to be included in the next releases. But as you can guess from the post title, the main topic I wanted to talk today is about the Italian translation of LibrePlan. Giuseppe Zizza has done a great work during the past weeks and LibrePlan 1.2.1 will be 100% translated into Italian language. He has used Transifex to do the translation and he has translated both UI files and reports files, so Italian is completely supported. I’d like to thank him again for the effort and his collaboration with the project. Grazie Mille! Finally, we’re really glad to see that LibrePlan is available in more and more languages as time passes. So, if you still miss your language in LibrePlan, feel free to go to Transifex and add it by yourself or collaborate with other people in the translation. As you can see it will be included in future versions of the project. [Less]