Con el motivo de la VII Jornada de Gerencia de Proyectos, se presenta la VII Encuesta de Gerencia. Los interesados pueden en responderla aquí.
Self-organized teams
Self-organization is a process of attraction and repulsion in which the internal organization of a system, normally an open system, increases in complexity without being guided or managed by an outside source. Wikipedia
Self-organized teams can be identified by some simple rules -I didn’t think about it until I heard Esther Derby @Project Shrink- that I would try to explain as maturity levels.
- Stage One: Managing and monitoring their own work performance. They assess the complexity of the tasks and the skills required to validate and assign the work in an effective manner. Then they also monitor the progress and performance.
- Stage Two: Cross training. Team is able to identify its weaknesses and bottleneck and plan a training to transfer knowledge and skills across the team members.
- Stage Three: Hiring and Firing. This one is, one of the most difficult levels to achieve due to the ability of the team to manage/control their own cost and budget. Most of the teams do not have even knowledge about the assigned budget, the project expected profitability or even to handle overhead. This is because small teams are most of the cases self-organized and probably do not have other knowledge than its production skills -production means skills required to do the job. At this level, the whole team is able to participate during a new team member hiring process or even to decide -on a performance basis- who should leave the team.
Self-organized doesn’t mean at all “unmanaged” team, it probably means that team is a mature enough to execute few of the manager tasks -but not all of them. Even inside self-organized teams is possible to find a leader or somebody that gives directions to the team -because the team is designated to do something that for sure somebody is requesting somewhere. So, yes, self-organized also have to follow directions (client or top-management). So there is room for Project Managers. However it is complicated to find the balance between what has to be done and what has to be delegated by the PM without negatively affecting the performance. Team is mature enough to be empowered but, I believe, if there is nothing to be managed then it is probably because it is not a self-organized team, it is because it is probably a spin-off.
It depends on the project manager culture and his/her personal strategy of management implementation -could be based on trust, or performance control, or micromanagement, because not all of the PM out there will have the aptitude to handle self-organized teams. And by the way, not all the skilled workers will fit in a team of this nature, some people is great following instructions, other people would be more productive if they are empowered to take some decisions.
Virtual Team: Tips and Tricks
I will do my best trying to include few tips on how to build and success with virtual teams. They have become very popular and now have a lot of acceptance as part of product research and development projects. However virtual teams could be used in several projects in an cost efficient way. There are a couple of things that you have to know or ensure before you try to start your project with a virtual team -based on Jessica Lipnack video chat @Project Shrink.
The team should feel that they are doing something useful. That their work is needed and also appreciated by the team and the project itself. They should feel their value. Also,they should be happier doing their work in that way (as part of a virtual team) than doing it in another way. Remember, you need a team that feels comfortable doing their work, and comfortable about how the perform or execute their work.
On any project, and even more on those that depends on specific people knowledge -like research, product development and software development- communication is the key. When you have a few genius working for you, you must ensure that they can share and transfer their knowledge properly during meetings and reports (that should be a few and not a lot). So the magic key to success in any project is communication, communication and more communication -please, it doesn’t mean a lot of meetings or a lot of reports. It means effective communication.
How to achieve an effective communication? It’s really easy these days and that’s why (probably) virtual teams are working better now -i.e. faster and cheaper. Technology is critical. Technology means cheap communication channels with video or audio, and also cheap shared spaces for files, documents and products. The use of online collaboration tools, organized reporting structure (i.e. status meetings, daily status reports or weekly checkpoints), well supported audio and video conference infrastructure, and of course a good plan (not a complete plan, but a good plan that could be adapted easily) will increase dramatically the chance to succeed.
By achieving a good communication infrastructure, team will focus on the work they have to do instead of logistics. And now, the only thing you have to do, as manager is to understand and validate that you are part of a virtual team too. Obviously as PM you will feel the necessity of full control, however mature teams -and mature team members of course- will handle it in a better way -remember, they feel part of a team and also they like to be part of one.
Inside big corporations, most of the people work at their desk without ever having met their big boss, however, they receive mails from them all the time. You got emails from people you may not know in real, but you work with them or for them. Got the point?
Virtual teams aren’t new at all. But with technology, now PMs can ping them everywhere, all the time -everything is about perception and how you name the things
Conference on IT Project Management
Finally, it was officially announced: The 7th version of the Conference on IT Project Management will be in Bogotá (Col) from March 12 to March 13, 2009. I’m pretty excited about this event. I haven’t been notified about when should I give my presentation, so I still have a change to improve my slides. I will keep you posted on the agenda, and once I give my presentation I will share it -as usual.
More info about the conference you can get additional info @ ACIS site.
Automagic Platforms
Few years a go, Ruby on Rails (RoR) start shinning because it was only framework able to speed up the Web development with a set of all-in-one tools. As Java experienced programmer and architect, I’ve to recognize that the RoR team made their point. I still remember that video with a guy with a lot of jars on top of a table (check it here) that made me LoL for a while -an awful truth. Now we have a lot of solutions that offers similar out-of-the-box scripts and frameworks that build code as RoR does -the fancy but power/useful scaffolding, the code generators, and others. Few of them:
- Seam Framework -great tool
- Django -for Python developers.
- CakePHP
- Code Igniter
- Symfony
- Zend Framework
The list could be huge, but the main point is not to check them all but to provide few tips to start a Web-based project and choose the right tool.
The .NET and Java mistakes
I do love Java, I’m a fan-boy of JEE technology and portability but, I’ve to say, even if it hurts, Java is a huge rock. It means you need to have a huge infrastructure, a huge processing capacity and a lot of tools to start a JEE project. Why? Let’s face it, you need more than your imagination to start a project and it isn’t easy nor cheap to find a great hosting solution, to properly setup an environment for development (with sandbox and preproduction/test environments). Even if your project is really small it is a good idea not to have the test environment on the developer computer -I hope you don’t think this is a joke, it happens ALL the time.
So, instead of being easy to start with a basis, you have to deal with complex configuration problems -it is good to have all those options if you are on a banking/financial project with a couple millions as budget, but in a real economic-crisis world you should look for “point-n-shoot” solutions -if you know what I meant.
The Apache Friends
So you have a lot of alternatives on the Apache HTTPD side, with PHP (the popular), Perl (the bad cousin), Python (the genius), RoR (the cocky brother) and all others.
I’m not a scripter guy, the compiling hell is for me but, the simplicity shows us that you don’t have to deal with complexity all the time for Web projects. So, give non-corporate-supported technologies a chance. It was hard to me, but they worked faster and cheaper than expected -there is not measure to say better. It is cheaper to create a top-class development and testing environment and work with remote teams if you use open solutions -not necessarily open source. It is not all about the language you love, the server you own, the database that rules the world. It is about cost, simplicity and efficiency. It is easier to get/hire great developers on these tools than for Java – .NET is for chickens and everybody knows it (check this article if you do not believe me). Software development is not about coding, is about solving, that’s what Microsoft doesn’t understand. They code a lot but they do not solve too much, right? You should notice since Windows 95 and the coming of the Blue Screen ERA!
The Automagic
Before I became a senior developer I worked migrating some applications from Oracle Forms and PowerBuilder to J2EE -we used to put a horrible 2 in the middle few years ago. And those tools were great for the task they were created. So it took almost a decade to have those tools on the Web -and they do not work as fine as those mentioned. However, the Automagic isn’t new at all. ActiveRecord exists since, I don’t know, the Z81 maybe? He He He!
So now we have tools that reverse the database and create ORM models, pre-formatted pages and objects that speed up -years- the development. So you can concentrate in other IMPORTANT STUFF like, User Experience (UX), Information Architecture (IA) and the forgotten design.
The generated code is clean as possible (I remember the JBuilder and its generated & encrypted code). And this is thanks to the separation of concerns and excellent pattern implementations – the commonly used for the Web is the MVC supported with other ones like ActiveRecord and IoC, but you can find a whole universe on each platform and framework – I do have an old poster of J2EE patterns as wallpaper for example!
The Verdict
Before fan-boys appears into the scene while you are deciding what platform should use, please take a look to the ones you probably will not look at -don’t waste your time with .NET
. During these 7 (should I said 8?) years working on Web development I’ve noticed that only big companies uses robust (slow development) platforms like Java and .NET -by big companies I meant with more than couple billions of dollars on their budgets. They spent a lot of money in servers and infrastructure and ironically most of the time they use always versions old versions of platforms, servers, databases and all. So even if they spent a lot of money they cannot move as fast as it happens with the technology. Microsoft still produces Adobe Flash banners right, even if they have their own Silverlight. And it also happens with JavaFX. When you develop Flash components some companies still requests Flash 6 or 7, when we all know that we have version 9 and 10 running on most of the computers on the web. But hey, they want to be sure and even those computers that are off since 1995 can see them! – why?
Before you spent more then 6 months working on a project without a single release -could be a partial one, but functional- keep in mind that probably it will take other 6 months before you see the product/result you are expecting. Automagic means fast, so I hope you do not spend more time thinking on if you should or not, and how, than coding… Otherwise it will demostrate my point
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=5e945089-1dc1-4dcd-a85e-e3b54e3e22f4)