Abraham Lincoln once remarked, “Give me six hours to chop down a tree and I will spend the first four sharpening the ax.” The key idea was to “Get the tools right”. The analogy extends to nearly all walks of life. For a comfortable ride in a luxury car, the first thing we need is a road. For cooking a delicious cuisine in the kitchen, the first thing we need is the right set of utensils. Similarly, for quality software development, we need to create the right software ecosystem.
The term ecosystem here refers to
key tools for effective management, monitoring, communication, and collaboration
among team members. These are the tools that are needed even before beginning
with the first step of the software development life cycle i.e. Requirement analysis.
Whenever we start a mega Software Development Project, it is necessary to put
following five tools for effective functioning among team members.
1.
Communication system: The communication channels
and communication hierarchy should be clearly well established. Generally, large
companies use their in-house tools. Smaller companies prefer readymade
solutions like Slack, Asana, or Trello for this purpose. Tools like Slack and
Asana allows the project manager to assign tasks to team members, take regular
updates and follow-ups and enable instant messaging and file exchange through
the system.
2.
Document versioning system: Whenever a large
team works on a project, a huge number of documents are bound to be generated
on a day to day basis. Oftentimes, there are multiple versions of the same document
which float around among the employees and management. Hence it is very
important to keep a document versioning system or repository like Confluence or
JIRA in your project. Confluence is considered effective in managing project
plans and effective collaborative document management.
3.
Code repository: Multiple team members would be
editing the same file at the same time and a slight mistake can result in
production downtime. Hence, it is important to keep a collaborative code
repositories like SVN, GitHub, or Perforce which could be very helpful in
maintaining code files.
4.
WFH tools: Now with COVID issues, every IT
company needs a foolproof work from home solution. This includes a robust VPN
server and clients like Cisco or Citrix or Fortigate, Web meeting platform like
WebEx or Teams, and Firewall to protect the servers and data from cyber-attacks.
5.
Software services installation suite: Whenever a new member joins the team, he needs his machine ready with required software
installation and access rights in 24 hours of time. All these activities are
facilitated by a one-stop desk of support team which enables software as a
service for the workforce.
Not to mention, these are the
five tools that are necessary for bootstrapping a project. During the project
lifecycle, there are numerous other tools, platforms, small and big software
solutions that are quintessential for the effective performance of the team. For
example, Smart Draw for prototyping, Development IDE for development, Bug
trackers like JIRA for bug tracking, Deployment engines, Database suites for
data management etc.
Missing these basic tools often
costs more to the company at a later stage than the cost of the tool itself. Hence
any tactic of saving the money in these tools often results in being “penny
wise pound foolish”.
No comments:
Post a Comment