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