Categories
Tools

An Agile Software World

Since the emergence of the first agile software development methods more than 20 years ago, development teams around the world have undergone a significant cultural shift. The traditional waterfall approach to running software projects sequentially has been gradually replaced by iterative project management styles. This has enabled organisations of all sizes to scale successfully by remaining resilient in a business environment full of uncertainties. Agile methodology appears to be transforming companies across sectors, but is it really the dominant trend in the software industry nowadays? And if it is, which particular implementations of agile are the most widely used by developers?

 

To gain more insight into the above questions, we asked 11,700+ developers in our latest Developer Economics survey about the project management methodologies they follow in software development. The data we collected provides clear evidence that agile is indeed the most commonly adopted practice in the software industry.

Agile project management

Agile is an umbrella term used for processes like Scrum and Kanban that emphasise short release cycles, rapid response to changing requirements and continuous improvement through regular customer feedback, as described in the Agile manifesto of 2001. According to our survey data, more than half (58%) of developers say they follow a project management methodology that can be classified as agile.

By comparison, the once ruling waterfall methodology is currently used by only 15% of developers. Waterfall’s biggest advantage, i.e. its sequential approach, is also its greatest limitation: in projects where the goals are not clear from the beginning and requirements change continuously, waterfall fails to adapt and deliver results quickly.

 

SCRUM IS LEADING THE AGILE REVOLUTION

Scrum was conceived in the mid 1990s as a response to the shortcomings of waterfall and is now the most popular project management methodology, followed by 37% of developers. As a framework that puts the core principles of agile into practice, Scrum enables teams to break down large, complex projects into a series of smaller iterations (or sprints) and ship high quality products faster and more frequently.

Kanban is another prominent agile project management framework, although its popularity is significantly lower – nearly half of Scrum’s (20% vs 37%). The two methodologies share some of the same core values but have very different implementations. Most notably, Kanban is lighter on structure as it’s not constrained by fixed-length iterations, but instead it prioritises continuous delivery of work to customers (even multiple times per day) as long as the capacity of the team permits it.

Only 6% of developers blend the concepts of Scrum and Kanban into Scrumban, indicating that agile hybrids are not common. Agile-waterfall hybrids, in contrast, are the second most popular choice for developers (21%). This is most likely a sign that many organisations remain skeptical towards agile development and prefer a slower transition to it by mixing some of the less controversial agile techniques with the traditional waterfall method.

Other well-established frameworks such as Feature-driven development (FDS), Extreme programming (XP) and Lean are used by about 10% of developers, whereas Adaptive software development (ASD) and Dynamic systems development method (DSDM) – both outgrowths of the early Rapid application development method – appeal to more niche audiences. Interestingly 23% of developers don’t use any specific methodology in their projects, although – as one may expect – it’s mostly amateurs who do so (40%) and to a much lesser extent professionals (17%). Another 19% of developers (18% of professionals) do not follow any specific project management process for some of their side projects, which in most cases are hobby endeavours.

Our data reveals that developers tend to follow multiple methodologies across their projects (2.7 on average), with Scrum being the most frequently co-used framework along with other methodologies. This implies that Scrum often acts as a “touch point” for development teams landing on the world of agile or as a starting choice before transitioning to less structured agile processes. For example, 66% of developers using Kanban and 57% using XP also use Scrum, as opposed to only 36% and 13% of Scrum followers also using Kanban and XP, respectively. Among developers following the waterfall model, more than 40% also use either Scrum or an agile-waterfall hybrid (like Scrummerfall) while the adoption of any other framework is below 25%. It seems that Scrum’s simplicity, clearly defined roles and timeboxed nature attract development teams who want a smoother transition from traditional waterfall to more flexible approaches.

Agile_Software_World

You can read the latest full State of the Developer Nation report here, and help shape the trends by taking the 18th Developer Economics survey here

 

Categories
Community Tools

Developer Interview: Building Apps for Wearables Isn’t about Tools

Softeq Development is involved in everything mobile: from business apps, digital imaging and utilities to mobile games, wearable technology, sensor-rich equipment and its remote management. They have built dozens of embedded solutions, web, and mobile applications for such clients as Nike, NVIDIA, Omron, AMD, Atlas Copco, EPSON, Disney Parks and Resorts. T. Our associate author, Alkis Polyrakis, discussed with Softeq’s CEO, Chris Howard.

What is the philosophy that you employ in order to assist companies take advantage of the full potential of the latest technology?

To me, our philosophy is to be ahead of the curve. It means we try to know and adopt new APIs, tools, and technologies before customers actually need it. We obtained and evaluated Google Glass, EPSON Moverio, Oculus Rift, LEAP motion controller and many more new tech novelties long before the first project came along. Once a customer approaches us with a project for those new technologies, Softeq is already the most competent tech provider the customer can possibly find on the market. Having close ties with many companies in Silicon Valley, we were one of the first tech firms in the world to access and implement, for example, Microsoft’s high speed video APIs on Windows Phone before they were available to the public.

Digital magazines
Digital magazines

What are the benefits of implementing a Proof of Concept in business projects?

A proof-of-concept (PoC) is a great first step on the way to a new product, device or technology that was never seen before because it’s a low-risk and low-investment approach. Often, it requires a 10-20 times smaller budget than actual new product development.

In our business, we have come across two different goals, or approaches if you like, to building PoC apps. One is when a customer is looking to prove the feasibility of his new business idea. At times, our clients need to demonstrate a working prototype of an upcoming product at a trade show, board meeting, or at an investor meeting. Prototypes later can become Minimum Viable Products (MVPs) and both can be stages of a full product development cycle if the idea gets approval.

Xamarin framework Business apps development
Atlassian Jira Project management
LabView – LabWindows – MathLAB Wearable devices
Flurry – Google Analytics – Localytics – Adjust – Parse Monetization
Unity Games development

Softeq’s Toolset

The second typical need is when a technically advanced company researches next-gen ideas, software or hardware they’re looking to jump into. Here, building a proof-of-concept in the first place is a way to test the feasibility of their vision for the application of new technology, a hardware component, or form factor. Just like that, our R&D teams have been working for Nike, Intel, and EPSON to help then visualize their new ideas and prove it is actually possible to do what they envision.

Do you have a specific development procedure when working on a PoC?

As a PoC is always something pretty innovative and non-standard, generally the development procedure is to identify the key features of what a client is trying to do in a bigger project, focus on only testing and proving out the specific new APIs or new hardware, and building a very simple framework in order to demonstrate that specific capability. After the PoC is approved by the management team, the investor, or the end-client, we proceed to flesh out the rest of the features and ship an actual product.

Which development and project management tools do you employ in order to facilitate your needs in cross platform development?

There are several cross-platform frameworks trending on the market now, and this is fair enough. The mobile market is no longer dominated by one platform, and most of our customers, both in the B2B and B2C segments, need to target wider audiences with various OS preferences. We use the C# based Xamarin framework for business apps, and Unity for games. Speaking of project management tools, we use Atlassian Jira by default or any other tool the client is more comfortable with.

Our readers would like to hear some examples that show how you managed to pump up a company’s marketing efforts with your apps.

Marketing apps for Blizzard and Branson Ultrasonics
Marketing apps for Blizzard and Branson Ultrasonics

Marketing apps vary, and we’ve delivered several dozen of them: from Blizzard’s BlizzCon event management app for helping improve the guest experience, to mobile CRM, promotional games, mobile magazines for corporate clients, and demo apps for tech events and industry-specific trade shows and all the way up to international tech summits and even Mobile World Congress where companies present their new or would-be products. We’ve built several kiosk apps for in-store demonstration of new gadgets to buyers. One of them was for NVIDIA’s SHIELD – the world’s first Android TV console. The kiosk mode allows demonstrating all functional features, including games, videos and music playback, while blocking access to system settings.

What are the main challenges that you face when you attempt to build solutions for wearable devices?

We’ve been working on embedded devices for a very long time, over 15 years now, that’s why the era of wearables came very natural to us. The challenges anyone designing a wearable device inevitably faces are technical limitations of the form factor, such as short battery life, small amount of memory, insufficient performance, custom communication protocols (infrared, Bluetooth low energy) and more.

However, Softeq is uniquely positioned in this market and beyond, in the Internet-of-Things (IoT) space, because we do everything from hardware, low-level and firmware to web backends and mobile apps covering all our departments end-to-end. To extend that further we have a game department, and that even gets mixed in with wearables and the IoT.

Hardware Design and Embedded Development Lab deployed in Softeq's HQs in Houston, Texas
Hardware Design and Embedded Development Lab deployed in Softeq’s HQs in Houston, Texas

Can you tell us about some of your wearable device projects and the tools that you employ?

One of our current projects involves embedded touch panels, and we do both firmware for the panels and Qt-powered games for them. Another product we helped create – the BlinkFX Wink, which is a wireless control LED light wearable device – is being used for an upcoming game show at CBS.

There’s a wide range of tools and instruments, mainly in C, that we use for such projects. For instance, recently we started receiving multiple requests for projects involving drones. We suggest using such behavior modelling tools as LabView, LabWindows and MathLAB, but it’s not the tools that matter most. The most complex part is building math models and algorithms based on them.

Do you provide consulting services as to which model can maximize a game’s revenue?

The monetization system of a game is usually built by a tandem of experts – a game designer and a marketer. The game designer is responsible for building game mechanics in terms of monetization and balancing economics while the marketer drives user acquisition campaigns.
To ensure we deliver the maximum amount of effort on our end to ensure the game’s success, our game designers invest a lot of time in research, comparative analysis of top apps, exploring best practices and efficient mechanics to put them in our arsenal. From the game design perspective, we certainly consult developers at the early stages of building the monetization system: building the core loop, the in-game store, retention mechanics, economics balance, analytics, A/B testing system implementation, etc. For instance, we work with such analytical tools as Flurry, Google Analytics, Localytics, Adjust, Parse and the selection of tools depends largely on the game specifics and client’s preferences.

Thank you very much for taking the time to share your strategy with our readers.