May/090
Reality Check – Keep It Simple & Clear
Challenge in management is to keep everybody up-to-date on what we are doing and why. One great way to get a clear picture is to do reality check regularly and keep it visible for everyone. Reality check means answering to a couple of question:
Why are we doing this?
- If you can’t answer to this, then you have a problem. Check that your project is aligned with the organization’s vision & strategy.
What is our goal?
- Define what is your goal. For example, our goal is to create a product X which will have the Y – features. Do not forget SMART for defining project goal (Specific, Measurable, Agreed-upon, Realistic, Time-framed).
What is our vision?
- Define your dream – what is your long term goal. For example, our product will be used by 2 million people in 5 years.
What is our strategy?
- How are we going to do all this? What is your advantage? Where do you focus on?
Remember that you can add even more questions in there to help you to get even better picture of what the heck are you doing. Keep these visible for everyone. Everybody who sees it should understand what you are doing and why. Simple, but powerful.
Apr/092
‘Knights Vs. Orcs’ – Second Public Alpha Released
Finally next version of my small RTS is ready!
Screenshot:
Feel free to give any feedback!
Apr/092
Specialist Driven Project Management
One of the most interesting thing, at least in Finland is, that most of the people at organizations project management has once been doing real implementation work (e.g. programming, etc.). They were promoted to a management because they were specialist who had earned their co-workers respect. But, is that a good enough reason to promote somebody in to project management?
Defininetly not. Project management is a whole different profession. It requires leadership and in many cases the new project manager who was earlier the specialist doesn’t have this, or he/she don’t understand what project management is really about. These kind of project managers tend to end up doing the specialist work by themselves or aren’t able to concentrate in to right places, which will eventually kill the project management.
But, this isn’t fault of the project manager – he/she just doesn’t know what to do or how to do it. This is the fault of senior management, they should be supporting the new project manager all the time to help him/her to understand this new profession. It is very important to describe what the project management means in your organization, because it varys between different organizations a lot. This will help the new project manager’s to understand what is required of them.
It must be remembered that these days the project management responsibilities are getting harder all the time. For example impossible tasks received by the project managers are a very sad thing: upper management is giving impossible tasks to project manager, which she or he doesn’t have time or competence to complete. And in most of the cases the project manager will not say ‘no’, even though he or she should. Declining from doing impossible tasks is one of the very first things to be taught to new project manager as it is a requirement of his/her profession.
There are loads of things to be considered when promoting a new project manager. The decision should not be solely based on whet ever he or she is a specialist. Lately I have seen excellent project managers who do not have any implementation experience from the product line and are still able to do their job.
Mar/090
What is Learning Organization?
I have many times mentioned Learning Organization and now it is about time to introduce it.
Learning Organization has its root in companies such as Shell, but it became world famous after Peter Senge’s The Fifth Discipline: The Art & Practice of The Learning Organization- book, which described five characteristics of Learning Organization. Basically, it means an organization where people continuously drive learning in all ways in order to achieve what they truly desire. Also, as I see it, it means organization which looks after its people: you cannot achieve extraordinary results without them. Think about it the other way around, what does it require from individual to achieve extraordinary results?
For example: happiness, stable personal life, vision, continuous learning and so on. Not understanding the meaning of individuals is one of the biggest problems of our time.
The famous five disciplines:
- Self Mastery
- Systems Thinking
- Shared Vision
- Team Learning
- Mental Models
I’ll dig deeper in to these disciplines later in my posts.
This is how Peter Senge himself explains Learning Organization: “Organizations where people continually expand their capacity to create the results they truly desire, where new and expansive patterns of thinking are nurtured, where collective aspiration is set free, and where people are continually learning to learn together” (Peter Senge, 1990)
Where to start?
I recommend starting your journey from the Peter Senge’s book, The Fifth Discipline: The Art & Practice of The Learning Organization. It is a great book that will also grow you as a person.
Feb/090
Update 2009
First quarter of the year 2009 has been hell of a ride!
List of what’s going on:
- I became a Technical Project Manager at Futuremark Corporation, and we published information from our next generation graphics technology called Kanzi, check it out!
- Rewrote the A* pathfinding algorithm for my small RTS. Still needs optimizations, let’s hope I’ll find more time to work on it in the near future.
- Continue studying Learning Organizations and Agile development practices. Currently reading book called The Fifth Discipline Fieldbook
, it’s great!
- Programmed Android application using OpenGL ES with the G1 phone. I really recommend checking Android/G1, it has the best development pipeline I have ever seen on mobile side: just plugin the device and execute Run from Eclipse and the program starts running at the G1!
- Trying to watch the IGDA Leadership forum videos.
- Writing a blog post about learning organizational things.
That’s about it for now.
Jan/092
‘Knights Vs. Orcs’ – First Public Alpha Released
The very first public version of my real-time strategy game project, codename : knight vs orcs, is now out!!
The game’s unique thing is that the logic is based on free movement, which means there are no tiles at all. Project uses my own 2D sprite engine (software renderer) and SDL Audio for sounds (disabled at the moment).
I have tried to keep the game small so that I can really finish it up someday. This is why it has only 4 unit types, 800×600 levels, etc. Please feel free to also contact me through my mail address : arto.ruotsalainen@gmail.com
Here is a screenshot :
Game graphics by : http://reinerstileset.4players.de/
Nov/080
Interactive Code Review
One of the most important practices for engineer teams is code review. The traditional way is to leave ‘TODO’ – comments to others code and then wait either for argument or fix. But this isn’t very efficient as people tend to delete the comments without doing anything or just leave them be. Also the traditional way doesn’t praise whole team communication which is a very crucial part of learning system.. and team itself.
The idea behind interactive code review is to gather all engineers in the same room, pick piece of code, start reviewing it with the whole group and write down all the relevant comments. Try to review piece of each engineers code. After a few times setup meeting for going through all the comments that were collected during the code reviews. Two main reasons for going the comments through :
- To remind people.
- Create new coding practices / guidelines.
This way everybody learn:
- From their mistakes
- From others mistakes
I definitely recommend trying this out.
Oct/080
Software Testing Tips & Tricks E-Book Released!
My second e-book is finally ready!
I decided to continue the Tips & Tricks series, this time the book is about software testing and is not based on my blog writings. It covers software testing concepts which I think are the most important. Working on this book was again a great small journey in the land of writing, I’m still learning, but I hope you can recognize a lot improvement since my last e-book.
Take a look at the table of contents :
- Introduction
- General Testing Practices
- Basic Unit Testing
- Software Integrated Testing
- Regression Testing
- Stress Testing
- Testing Code Features
- Testing Graphics Features
- Automated Testing
- Generated Tests
Price : 10,00 USD – With 28 Day Money Back Guarantee!
I also lowered my earlier e-book’s, Software Development Tips & Tricks, price down to 10,00 USD.
Link : E-Books
Have fun!
Oct/080
Automation In Project Management
Overview
Automation is usually used by engineers to reduce the need of manual work on different kind of recurring tasks like :
- Testing
- Software Releases
- Etc.
But, it can also help project management for example to collect data & produce reports. Currently at work I use automation for :
- Update our sprint daily burndown excel. I have setup a system that will update it everyday at 4PM.
- Produce reports from our project tracking data. My system fetches the data from our project database (which contains tasks, milestones, etc.) and automatically produces projected dates, days left, days used, number of wrong estimations, how much work left in art / code, etc.
Why to use automation?
- You don’t have to spent a lot time doing things manually.
- Less errors, when you do things manually it is very easy to do something wrong.
- Easier to produce more critical data.
- and so on…
Where to start?
I currently like to write these things myself by using for example python, but there are also ready scripts and programs out there to help you to setup automated systems. Also if you happen to use Excel you can automate a lot of tasks in there -> Excel can even fetch data from your database or website. Learn to use your tools, if there are things that could be automated and you notice doing them regularly just do it and see how it helps you.
My experience :
During the time I have been using these I have already saved many days and reduced the number of errors in my reports & other data in general. The sad thing is that I see many managers still doing these things manually. If they would use automation they would have a lot more time to help the team instead of calculating some data that really doesn’t help to team to get the product ready. Nowadays I can use most of time helping the team to build the product itself by helping in programming and in all kind of support they need – I’m there for the team, they tell me what to do, not the other way around. This way I also know the product a lot better… there are loads of good points why to use automation to help you, so why wouldn’t you use it?
Sep/080
Chain Of Command & Learning Organizations
Clinton Keith wrote in his blog about how the chain of command affects inside teams causing delays :
http://www.agilegamedevelopment.com/2008/08/agile-values-individuals-and.html
The usual chain of command can also affect to building learning organization if it prevents interaction between people inside the organization. So let’s think about it from communication perspective. The way I often see it working inside organizations :
- Executive
- Manager
- Worker
- Manager
So, worker talks to manager who decides if he wants to talk to the executive or not, and so on.
The idea is to not prevent interactions between people, because if we only have one people to talk to we limit our chance to learn something new, which is the base idea of learning organization. I think many organizations have forgotten the original meaning of chain of command, it simply means who can command who (or do decisions), not who should talk to who.
The scary thing is that after a while people get used it. Scrum helps (teams), as it encourages people to talk to each other to solve problems, to get new point of views… This kind of mental model needs to be applied to whole organization.

