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.