Latest software engineering trends - PPD session @ University of Kelaniya
Following are the five latest trends in software engineering that every software engineer ought to know.
Agile software development.
Agile software development.
- Real Analytics.
- Applied Mobility.
- Capability Clouds.
- Social Computing.
Agile software development describes a set of values and principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change. These principles support the definition and continuing evolution of many software development methods.
Based on their combined experience of developing software and helping others do that, the seventeen signatories to the manifesto proclaimed that they value:
- Individuals and Interactions over processes and tools
- Working Software over comprehensive documentation
- Customer Collaboration over contract negotiation
- Responding to Change over following a plan
That is, while there is value in the items on the right, they value the items on the left more.
Agile software development principles
- Customer satisfaction by early and continuous delivery of valuable software
- Welcome changing requirements, even in late development
- Working software is delivered frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
- Working software is the primary measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Best architectures, requirements, and designs emerge from self-organizing teams
- Regularly, the team reflects on how to become more effective, and adjusts accordingly
Google Analytics is a freemium web analytics service offered by Google that tracks and reports website traffic. Google launched the service in November 2005 after acquiring Urchin. Google Analytics is now the most widely used web analytics service on the Internet. Google Analytics is offered also in two additional versions: the subscription-based Google Analytics 360, previously Google Analytics Premium, targeted at enterprise users, and Google Analytics for Mobile Apps, an SDK that allows gathering usage data from iOS and Android Apps.
Google Analytics is implemented with "page tags", in this case, called the Google Analytics Tracking Code, which is a snippet of JavaScript code that the website owner adds to every page of the website. The tracking code runs in the client browser when the client browses the page (if JavaScript is enabled in the browser) and collects visitor data and sends it to a Google data collection server as part of a request for a web beacon.
Limitations of google analytic
In addition, Google Analytics for Mobile Package allows Google Analytics to be applied to mobile websites. The Mobile Package contains server-side tracking codes that use PHP, JavaServer Pages, ASP.NET, or Perl for its server-side language. However, many ad filtering programs and extensions (such as Firefox's Adblock, and NoScript) and the mobile phone app Disconnect Mobile can block the Google Analytics Tracking Code. This prevents some traffic and users from being tracked and leads to holes in the collected data. Also, privacy networks like Tor will mask the user's actual location and present inaccurate geographical data. Some users do not have JavaScript-enabled/capable browsers or turn this feature off. However, these limitations are considered small—affecting only a small percentage of visits.
The “capability cloud” is significantly improving the acquisition, implementation, and management of IT services for the business. “Cloud computing” is continuously growing and maturing—in the adoption and sophistication of offerings and the vendor landscape. The technology itself is the latest stage in the evolution of the underlying technical capabilities, including virtualization, utility computing, service-oriented architecture (SOA), and high-speed networking, as well as the offerings of application service providers (ASPs). Recently, the adoption of the “capability cloud”—through which deployments move from improving capacity to enabling business capabilities—has demonstrated the substantial disruptive potential of this technology.
Social computing is an area of computer science that is concerned with the intersection of social behavior and computational systems. It is based on creating or recreating social conventions and social contexts through the use of software and technology. Thus, blogs, email, instant messaging, social network services, wikis, social bookmarking and other instances of what is often called social software illustrate ideas from social computing, but also other kinds of software applications where people interact socially.
Socially intelligent computing is a new term that refers to the recent efforts of individuals to understand the ways in which systems of people and computers will prove useful as intermediaries between people and tools used by people. These systems result in new behaviors that occur as a result of the complex interaction between humans and computers and can be explained by several different areas of science. The Foundations of Social Computing are deeply vested in the understanding of social psychology and cyberpsychology. Social psychology covers topics such as decision making, persuasion, group behavior, personal attraction, and factors that promote health and well-being. Cognitive sciences also play a huge role in understanding Social computing and human behavior on networking elements driven by personal needs/means. Sociology is also a factor since overall environments decide how individuals choose to interact.
There are multiple areas of social computing that have been able to expand the threshold of knowledge in this discipline. Each area has been able to have a focus and goal behind it that provides us with a deeper understanding of the social behavior between users that interact using some variation of social computing.
Theses are facts I got to know about new software trends.There were lot more facts that I got to know from you tube videos and other reading materials.Even if not for this PPD blog writing ,I won't read and find facts about these things in this time period.πThanks to this blog I gathered valuable facts about new trends in our field.

Nice article ✌
ReplyDeletegood article
ReplyDeleteGood job Nandunie
ReplyDeleteVery interesting,good job and thanks for sharing such a good blog.your article is so convincing that I never stop myself to say something about it very informative.You’re doing a great job.Keep it up
ReplyDelete