jump to navigation

Five latest trends in software engineering that every software engineer ought to know December 13, 2011

Posted by janettheresjohn in Software Engineering.
trackback

The following are the five latest trends in software engineering that every software engineer ought to know.

Agile Software development

Systems are becoming increasingly reliant on software due to needs for rapid fielding of interoperability, net-centricity, and rapid adaptation to change. The need for rapid adaptation and releases led to increased interest in agile methods of software development.

Agile methods break tasks into small increments with minimal planning and do not directly involve long-term planning. Iterations are short time frames (time boxes) that typically last from one to four weeks. Each iteration involves a team working through a full software development cycle, including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders. This minimizes overall risk and allows the project to adapt to changes quickly. Stakeholders produce documentation as required. Iteration might not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of iteration. Multiple iterations might be required to release a product or new features.

Team is usually cross-functional and self-organizing and members take responsibility for tasks that deliver the functionality iteration requires. They decide individually how to meet iteration’s requirements.

Agile methods emphasize face-to-face communication over written documents when the team is all in the same location. Team size is typically small (5-9 people) to simplify team communication and team collaboration. Larger development efforts can be delivered by multiple teams working toward a common goal or on different parts of an effort. This might require a coordination of priorities across teams.

In team meetings team members report to each other what they did the previous day, what they intend to do today, and what their roadblocks are. This face-to-face communication exposes problems as they arise. Agile development emphasizes working software as the primary measure of progress. This, combined with the preference for face-to-face communication, produces less written documentation than other methods. The agile method encourages stakeholders to prioritize “wants” with other iteration outcomes, based exclusively on business value perceived at the beginning of the iteration (also known as value-driven).

Project Management

Approaches like Scrum and XP accelerate project cycles require developers to interact with their managers more frequently but for shorter periods as daily contact is the norm in most agile processes. Many developers might feel that it is micromanagement and so project managers should try to help solving any obstacles quickly and not complain if a task takes too long without knowing the reason for it. Also since we take small portions of requirements at a time to work on there could be possible chance of development that could take longer time than expected causing a delay in delivery or release dates. Project managers should be able to convince upper management that the process would get completed on time even-though it looks like in Agile methodology project will go on and on forever.

Real Analytics

Many organizations began to see information automation outweigh business process automation as their highest priority area. Analytics offer improved visibility to drive operational efficiencies, as well as a platform for growth by addressing heart-of the-business questions that could guide decisions, yield new insights and help predict the future of business. Leading organizations are launching broad initiatives with executive-level sponsorship, ready and eager to achieve their vision via real analytics. Due to exploding data volumes and regulators demands deeper insight into risks, exposure and public responsiveness are much needed.

By investing in a balance of information management, performance management and advanced analytics, organizations can make small steps, smartly made to capture measurable results. Real analytics can provide knowledge, fact-based predictions and business prescriptions if applied to the right problems, and if the suggestions based on results are pushed into action.

Information Management (DB Theory)

Tools for establishing trusted foundational data are essential which include master data management for maintaining data correlation, consistency of semantic meaning, providing matching services to identify and link identical entities and enabling bidirectional updates across systems of record. Data quality is also a concern, requiring tools to monitor, analyze, report and scrub.

Applied Mobility

In today’s age of technology what really matter is harnessing available networks, form factor, user interface and raw device computing power to create rich yet simple and intuitive apps to solve real business problems. These solutions can be as simple as placing a mobile layer over existing offerings and business processes which conducts business as usual, but through channels independent of physical locations. These new mobile solutions serve the full spectrum of transactional, analytical and social computing capabilities that are having different design and deployment concepts which is more focused in scope and simple in execution from user perspective compared to multipurpose feature-rich enterprise applications.

The Mobile applications are essentially powerful that they are elegant solutions to well-defined problems, and designed for operations on-the-go. Companies are rethinking business processes and enabling new business models that would not have been possible without mobile technology. Evolutions in location-based services, social networks, mobile payment processing, low-cost device add-ons and integration with enterprise systems has led to the potential for employees, customers and suppliers to consume and produce sophisticated information, goods and services from anywhere. And with the extension of mobile solutions to sensors and actuators in physical goods and equipment, otherwise known as asset intelligence there is the potential for almost anything to become part of the mobile solution footprint.

Security and Ethics

Password protection, encryption, controlling device administrative rights (system settings, permissions to directly install applications) and managing entitlements to back-end services must be implemented to provide a secure data access path to prevent unauthorized access from unknown and known sources.

Capability Clouds

Capability clouds move beyond the building blocks of capacity to deliver finished services that directly address business objectives and enterprise goals. Instead of dealing with machine images or database instances, the discussion shifts to the analytics cloud, the testing cloud or the sales cloud and help to focus on a more important set of values. Also with the advent of capability clouds helps focusing on accelerating time-to-results, adding new functionality or changing business processes and business models rather than cost of ownership and efficiency issues. It is relatively easy for a business unit leader to buy a software-as-a-service tool for point solutions such as workforce planning or compensation management; the main requirement is simply a corporate credit card.
There have been three main drivers of cloud adoption thus far: a preference for operating expense over capital expense; speed to solution; and flexible, scalable access to specialized resources – be they technology, software or people. The capability cloud can add opportunities for agility and innovation in how business processes even business models are acquired composed and revised. For an example the analytics cloud may go beyond just delivering analytics databases, models and tools and offer PHD-level statisticians applying the art of the science where you only pay for the level of service that is needed.

Information (DB Theory) Management

In the case of global company’s local data storage, privacy and protection regulations are critical concerns solutions need to be determined to store data physically at local restricted locations and should be made accessible to the sources depending on type of business involved across the globe. There should be information semantics, context and correlation among data present in enterprise and the cloud offering.

Social Computing

Everyone has started going online for their daily needs and hence we are leaving the trails our opinion, behavior and choices. The data of traces created when mined would provide business with a good source of insight on market positioning, consumer sentiment and employee productivity. By performing analytical operation on the data organizations can better understand their customer needs, preferences, their employee’s experiences and problems that require immediate co-corporate attention. With the help of Social computing Businesses are able to take a results oriented and business-led approach, focusing on specific issues and communities, soliciting membership and creating platforms for content, collaboration and transactional support.

Software Process

Social computing systems should be able to access the existing mobile functions such as e-mail, messages, knowledge and content management solutions and access to transactional applications and information systems. Combination of data, service, event-based integration and mechanisms for interacting with externally hosted platforms capabilities needs to be made a part of Software process.

Information Management (DB Theory)

There is a potential risk for the security and privacy when someone is constantly monitoring and tracking the change of habits and interests. There should be better and secure management of personal data so that it won’t be accessible by anti-social people or hacking communities.

Ethics

Systems are capable of understanding a person’s taste and requirements. That doesn’t mean that he should be provided with only that things that he could see based on his past behavior. He should be able to access things that are available to anyone not something that is given to him by some one based on his past behavior and choice.

Comments»

No comments yet — be the first.

Leave a comment