Being a Social Being
I happen to remember my brother and his comment as I write this. This was when he had just finished his doctoral thesis, he said "When I finished my bachelor degree, I thought I pretty much have a good grasp on computer engineering having spent 4 years in it, when I finished my masters I realized that I may not know all of computer engineering but definitely compilers, but now that I have done Doctoral work, I realize that I know nothing in Computer science!". He has been one of the best persons I have seen who can provide a simplistic yet strong conceptual view of anything that is cryptic. The key point is as you move up the knowledge maturity, the softer tendencies and philosophies of being human takes over than the actual knowledge itself.
If you take Software Engineering process, I see a similar view on maturity and see Agile taking that paramount step in the progression of Software Engineering Process. Software being a Knowledge based workshop, people come before process and their interaction before any workflow. The processes that have existed earlier have tried to look at software development as a step of activity and not as a human interaction. These views brought in a lot of skill based grouping, and created a factory which is ideally done for application of repetetive skills. But software is different, it is an art and any amount of standardization will not yield the best of its output but only degrades the quality and hence any software creation needs to give more importance to humans than the process. I continue to believe creating software can be like getting an artist paint your dream portrait by explaining the artist what you need or a movie production team creating a movie you dream.
Agile does take this to a level where the basic essence of trust and human values are built within - that of trust, servant leadership, self organied teams, solving team member's impediments etc. If a person deviates from commitment, he will have a valid reason and the only check is what the team acheieved and everyone's goal is to improve that. It just expects us to be a social being and just that but to the core and expects us work as a team to deliver a common goal. For many this is taken as a cultural shock and when it fails, it fails because the manifesto is seen more as a process and followed by the line than the shade.
Thoughts?
If you take Software Engineering process, I see a similar view on maturity and see Agile taking that paramount step in the progression of Software Engineering Process. Software being a Knowledge based workshop, people come before process and their interaction before any workflow. The processes that have existed earlier have tried to look at software development as a step of activity and not as a human interaction. These views brought in a lot of skill based grouping, and created a factory which is ideally done for application of repetetive skills. But software is different, it is an art and any amount of standardization will not yield the best of its output but only degrades the quality and hence any software creation needs to give more importance to humans than the process. I continue to believe creating software can be like getting an artist paint your dream portrait by explaining the artist what you need or a movie production team creating a movie you dream.
Agile does take this to a level where the basic essence of trust and human values are built within - that of trust, servant leadership, self organied teams, solving team member's impediments etc. If a person deviates from commitment, he will have a valid reason and the only check is what the team acheieved and everyone's goal is to improve that. It just expects us to be a social being and just that but to the core and expects us work as a team to deliver a common goal. For many this is taken as a cultural shock and when it fails, it fails because the manifesto is seen more as a process and followed by the line than the shade.
Thoughts?
Comments