Wednesday, October 31, 2012

Partitioning: Design Phase


I think I will sound a little negative towards partitioning in general. For something that seems simple to implement in a weekend like Tetris, it's going to take us three weeks to finish here. Let alone all the problems that will result from the lack of co-ordination between the different team, and the assumptions that each team will make about the other teams.

The hardest thing in the design phase was to figure out how should each piece or component of the program connect with the other, defining the APIs needed, and making sure that each component gets exactly what it is expecting.
That was all the talk this week was all about, and theoretically everything is setup and ready for phase 2, the implementation! I'm going to sound negative again, but more problems will show up I think, things that we didn't anticipate in our design. Hopefully that won't be the case, but wishful thinking isn't enough. We will need to communicate more during the implementation phase, and will need to adapt the design quickly to any needed changes. If it's just going to be that each team implements its own part and that's it, it's going to end up in a disaster.

More spices will be added to these problems if you take this project to a global development level. All problems will be amplified and magnified. I keep asking myself this question, with all of the problems and risks associated with global development, why would we go for it? Overall, it doesn't even seem cheaper at all.

I started reading in the “Smart Sourcing” book, which was talking about how necessary it is to outsource some work to help the company focus only on its major competencies, the things that it is really good at. But is that really worth all of this risk? I guess I will find out more as I continue reading the book.

No comments:

Post a Comment