At present, we are developing very intricate software products for desktop, web, and mobile. The development process demands involvement of a big team of designers, programmers, and others in highly collaborative ways. Thus, creating the right environment and process for the development are challenging for modern project managers as well as software development company. However, payoffs for such hard efforts are highly rewarding and astounding.
In software development companies, it is a general practice of allocating work that they describe features and functionality needs in the software. Unfortunately, never target the final goals of the software and never try to inspire their development teams to think that how users will accomplish their goals. This process involves the development teams around the common vision.
If we want development team to work around the common vision, we have to foster the culture of collaboration where we have to create an environment and essential self-defending processes. In collaboration culture, each team member would have common understanding of the software and its goals. They have enough space to place their thoughts, opinions, and possible solutions. There would be some discussions, arguments, and finally negotiation or concession on a compromised solution.
Of course, these all processes will run under the supervision of project manager or team leader who would have vision, experiences, and expertise to lead the teams in right direction with active involvement. In order to foster right collaboration culture, we have created collaborative environment through physical space, virtual spaces, and running discussion or feedback sessions.
Collaboration through Physical Space
In process of creating collaborative environment, we need to mix up team members according to their projects and personality or expertise so they can easily fall in the fruitful discussions. Moreover, we have facilitated their free movements among the other relevant teams or team members to the project by offering open desk, standing table, couches, etc. facilities to they can move around and work whenever needs arise.
The next trait of collaborative environment is to encouraging the flow of ideas and we can do this by allowing them to stick notes, design sketches, prioritization lists of work, etc. encouraging materials on the wall or on the predefined boards. Moreover, we can offer them whiteboards to draw charts or development paths and modify after some discussions.
Finally, we can allow other irrelevant, but software teams or members of staff to run some dialogues informal ways on coffee table, launch or canteen space, etc. places so they can look at the project from entirely different perspectives with the help of people from the outside and can run some guerilla survey for UX and usability if needed.
Collaboration through Virtual Space
Creating physical spaces for collaboration is somewhat costly affairs for many software companies, but modern communication technologies and collaboration software ease our some of the problems in cheaper ways. For instance, we have Campfire, Slack, HitChat, etc. like collaborative communication tools while Basecamp, Trello, Jira, etc. like tools are for collaborative project management. Similarly, GitHub, Bitbucket, etc. are collaborative source-code repository.
Thus, we have enough arsenals to create highly collaborative and effective virtual spaces to work with a team or team members dispersed across the globe and different time zones.
Fortunately, Lujayn has both kinds of collaborative spaces where its in-house web and mobile development teams are working in physical space and its teams of clients are working with its in-house teams in virtual space, particularly in case of B2B clients.