In the era of the internet, many recommend that social media tools can promote the collaboration among developers, which has proven to be very favorable in case of software development. The social media tools available are now becoming a companionate and cost-effective way of business communication. In a software development process, developers use numerous tools to develop software artifacts ranging from source code and models to documentation and test scenarios, they use other tools to manage and coordinate their development work and they spend a lot of time communicating with other members of their team. However, the software is rarely developed by individuals and the success of software projects largely depends on the effectiveness of communication and coordination within teams. This paper discusses the overview of social media tools in software development projects to make it more collaborative which will result in increased productivity and better quality of software delivered. The study aims at analyzing the social media tools namely blogs, Facebook, google plus.
Social media tools are the best way to engage with software developers on an everyday basis. It’s an excellent source to promote business communication. Such world-famous and widely used social networks like Facebook, Twitter, blogs, google plus, developer wikis, and enterprise collaborative tools create applications for their customer’s business. It’s been one of the most cost-effective development processes. Social media lets us grow our visibility without having to pay for it. Good social media tools help us to find more content to share. Earlier the companies were connecting with the customers through radio, television, print media, billboards, and other traditional advertising. Now with a realization that the main conviction sources are our colleagues, friends, and our social network, where we lend our ears and mind with a personal touch and usually get persuaded taking it as truer and more honest. At the same time, technology paved the way for new possibilities. TiVo & digital video recorders made it easy for us to bypass & ignore commercials on live T.V. MPG players helped us listen to music & podcast on demand, which similarly margins zed radio advertising, the online retailer realized that they could increase dates by allowing visitors to their site to offer a personal recommendation about products they were selling.
Software projects largely depend on the effectiveness of communication and coordination within teams. Many software development teams struggle to address the challenges of collaborative development in an environment of constantly changing requirements and a changing software development landscape. In particular, development teams lack informal communication channels and tools that bridge technical and social aspects.
On the other hand, in recent years, social media has revolutionized how humans create and curate knowledge artifacts online. For instance, Wikipedia, a free encyclopedia built collaboratively using wiki software, is an example where a large group of individuals comes together to create and curate content on the web using social media technologies. Communication and coordination are critical in software development since it is a complex, creative effort, in which tasks are often divided among individuals or groups of individuals, such as developers, managers, product owners, users, systems operators, and other stakeholders. These tasks cannot be carried out independently and the task interdependencies drive the need for communication and coordination.2 Communication plays a key role in the quality and evolution of a software product. The interactions among the individuals configure implicit social networks. Making these network connections explicit helps researchers and tool designers to better understand and support development activities. While previous research clearly has unpacked many of these challenges related to the social aspects of software engineering, in this special issue, we focus on a social network perspective.3 When people from different organizational cultures come together to execute a project, they do not have a common platform to learn complex methods, procedures, and tools. Best practices of software development cannot be implemented if it is perceived as complex and cumbersome by the team involved in distributed software development.
Software Development
Life Cycle (SDLC) Management
is a process that aims to develop software with the lowest cost, highest
quality, and in the shortest time. It also includes detailed documentation for
how to develop, extend, and maintain the software system. A Software
Development Life Cycle involves several different stages, including requirements
gathering, planning/designing, building, testing, and finally deployment. Some
of the most popular Software Development Life Cycle Management methodologies
include Spiral Development, Agile, and SCRUM. Teams following the best
practices of the Software Development Life Cycle Management process see more
success and have an easier time developing software in stages.
The
main stages of the Software Development Life Cycle Management process include:
Identify Requirements – The first stage about understands the problems you are trying to solve, and what the software needs to do.
Plan & Design – Considering the
requirements, the next step is to plan and prioritize the features that need to
be created.
This
phase can and should include some research to validate technologies and
approaches.
Build / Code – This stage is one of the longest, and where much of the work is done. It should overlap to some degree with the following Documentation and Test phase.
Test / Debug / Document – Documenting and testing should happen during
the build stage as well, but this stage is where the focus turns from
developing features to bug fixing and stabilizing the software for launch to
customers.
Often Alpha and Beta versions are released in this phase to ensure configuration and other rare or hard to spot bugs are found and fixed.
Deploy – The final
deployment stage is where the software is released for customers to use.
Some
of the issues faced in the current scenario are:
• Incorrect version of requirement document
used by the development teams
• Since the documents run into multiple pages,
business users do not actively review the requirements. This results in changes
to requirement documents at a later stage of development.
•
Nonfunctional requirements gathered in the documents are often overlooked by
the developers as they concentrate more on the development of components related to
functional requirements.
Some
Popular software development life cycle methodologies are as below:
•
Waterfall
•
Prototype Model
•
RAD
•
Iterative Model
•
Incremental Model
•
V Model
Spiral Social Media
and Software Engineering:
Social media usage can support software development activities ranging from
requirements engineering and development to testing and documentation. The
lightweight nature of social media channels allows developers to adapt them to
their current context and has the potential to revolutionize the way
collaborative software development is done.11Social media is an incredible
vessel for collaboration, sharing, and information discovery, and there are now
many great tools that aid in web and software development. These features and
tools are ideal helpers for both advanced app builders and those just starting
out with HTML or PHP.
Top Coder is an algorithm competitive programming and software crowdsourcing website. Top Coder is one of the widely used social media tools. It is a website where engineers and programmers can compete in different development competitions for prizes. The more we code, the more we make and the more attention we receive. Top Coder improves the speed, accuracy, memory, and creativity of the contributors. Everyone with access to an internet connection can use top coders. Participants solve problems that cannot be solved in notebooks such as hard mathematical problems, hard design problems, etc.
Stack Overflow One of the most powerful
attributes of Stack Overflow (SO) is the accumulation of developers’ knowledge
over time. Community members have contributed more than 18 million questions
and 27 million answers available on the site. When a developer is stuck on a
coding problem, they search through this vast trove of information to see if a
solution to their particular conundrum has already been offered. Some use the
internal SO search feature while others use search engines such as Google or
Bing, narrowing down the search to the stackoverflow.com domain.
GitHub is one of the best tools for
collaborative and social software development. When we have a team building a
product, GitHub's development news feeds, secure repositories, and inline
editing are invaluable. GitHub is a Git repository hosting service, but it adds
many of its own features. While Git is a command-line tool, GitHub provides a
Web-based graphical interface. It also provides access control and several
collaboration features, such as wikis and basic task management tools for
every project. Besides its public-facing open source repositories, GitHub also
sells private repositories and on-premise instances of its software for enterprises.
These solutions obviously cannot take full advantage of GitHub’s network
effect, but they can take advantage of the collaboration features.
For more such new topic on trending topics in IT
visit our website: www.skillbakery.com
Youtube channel : https://www.youtube.com/watch?v=t5HAiQMP8B0
No comments:
Post a Comment