Tag: software development

  • Survey Surfaces Raft of Ongoing Agile Development Challenges

    Survey Surfaces Raft of Ongoing Agile Development Challenges

    A survey of 788 software development professionals finds 71% are using agile development methodologies within their software development life cycle (SDLC) but only 44% said it is working very well (11%) or somewhat well (33%) in the enterprise.

    Conducted by Digital.ai, the survey identifies end-to-end visibility and traceability from business initiative through deployment as the top opportunity for improvement (44%), followed by an ability to measure cycle time, wait time and bottlenecks (34%), continuous testing (29%) and identification and measurement of technological risk (28%).

    Nearly half (46%) identified too many systems as a primary reason Agile was not scaling, followed by siloed teams (37%), culture clash (34%), inconsistent adoption (30%) and the inability to measure business value (28%).

    Despite these issues, nearly two-thirds (63%) said they have visibility into their Agile pipeline, with 55% claiming they have complete visibility. However, only 36% said DevOps teams currently work together as one team to accelerate innovation and deployment of high-quality and more reliable software. At the same time, only two-thirds (66%) claimed at least 50% of their applications were delivered on time and “with quality.”

    Joyce Tompsett, general manager of the State of Agile project at Digital.ai, said the survey makes it clear many organizations are still trying to strike the right balance when it comes to developing software. For example, the survey finds the top two reasons organizations adopt Agile (tied at 41%) are to accelerate time to market and prioritize delivery and measure customer/business value. Most software development teams are being evaluated both based on velocity (33%) and the value delivered (29%), the survey finds.

    The survey also identifies customer satisfaction (43%), time to delivery (39%) and competitive advantage (34%) as their top priorities for 2024.

    In general, the survey finds that 33% of respondents reported business leaders and executives are actively leading and participating in company-wide agile transformation. However, more (41%) said there was not enough leadership participation. Well over a third (37%) said business teams simply don’t understand what Agile is or what it can do. More than a quarter (27%) said there is not enough training.

    Not surprisingly, the most widely adopted methodology is Scrum (63%) with the Scaled Agile Framework (SAFe) being the most widely used (26%). Another 22% don’t have a mandated framework, while 12% said they have created their own.

    The debate over what precisely constitutes agile development is, of course, ongoing. Each organization tends to adopt the elements of the framework that make the most sense for them, so the actual state of adoption from one organization to the next will vary widely. The one thing that is certain is the more complex the IT environment, the more challenging it can be to embrace agile development.

    And there continues to be lots of room for improvement. If only two-thirds of organizations are delivering half (50%) of their applications on time with an acceptable level of quality, it means there are more projects that are failing to meet that standard than many software development teams might care to admit.

    As more organizations become more dependent on software, however, tolerance for that level of failure will only continue to decline as businesses and leaders lose patience with application development practices that do not live up to expectations.

  • How to Make the Most of In-House Software Development

    How to Make the Most of In-House Software Development

    Let’s be blunt: Maintaining an in-house software development team can be tough. You must hire skilled developers – which is no easy feat in today’s economy, where talented programmers remain in short supply – and then manage them on an ongoing basis. You must also ensure that your development team is nimble enough to respond to changing business needs and that it can adapt as your technology stack evolves. Given these challenges, it’s no surprise that most organizations now outsource application development instead of relying on in-house teams.

    But I’m here to tell you that just because in-house development can be hard doesn’t mean that outsourcing is always the best approach. On the contrary, IT organizations that choose to invest in in-house development for some or all the work can realize lower overall costs and a competitive advantage by creating domain-specific expertise. Keeping development in-house can help organizations address unique security requirements and maintain full control over the development lifecycle and roadmaps. For businesses with specialized technology, security and operational needs, in-house development is often the best strategy.

    Managing an in-house development team presents some steep challenges. At Komprise, we have refined several practices to keep our team efficient and productive, even in a business environment that is constantly changing.

    Scaling Up

    Scaling teams up is a key challenge for in-house development teams. Finding skilled developers to grow a team can be very difficult, especially when working with a bespoke technology stack.

    There is no simple solution to this challenge, but there are steps you can take to maximize your ability to find and hire development talent. For example, we invest significantly in engaging with college students, allowing us to identify promising developers while they are still in training.

    At the same time, we invest in upskilling our developers who are already on our team so they can take on additional responsibilities. We train our engineers in the latest cloud development and security skills and knowledge. The notion of embedding security into our designs and practices is fundamental to what we do. We also rotate engineers between different teams so they learn new technologies that are important to our business. This strategy allows us to align the work for every developer with their interests and to build reusable skills within our teams. We also hold a technical brown bag three times per month where we cover issues like development for cloud and how it differs from on-premises due to costs or how to design for performance and scalability.

    Focus on Customer Value

    Figuring out which features customers want most is a constant challenge. To address it, we quantitatively track how our customers use our product – which functionality they use most often, for example, and how usage patterns vary across different customer demographics. We evolve these metrics as we develop the product. Additionally, we identify customers who are “power users” and occasionally set up calls between them and our developers to gain additional insight into what customers want. Our marketing team also conducts customer advocacy interviews with our users to learn more about what they like and don’t like.

    Looking at third-party applications and interfaces helps us gain perspective on how best to meet user needs, too. For example, we might examine how Wayfair or Amazon are evolving their UI constructs to inform how we could change our product interface in ways that better meet customer needs. We want our B2B product to be as easy to use as consumer products.

    Invest in QA

    Quality Assurance (QA) operations are distinct from development operations, but if you want a successful in-house development team, you need a great QA team, too. Our QA engineers complement our in-house developers by helping them to deliver the highest-quality product, while also strategizing over how best to handle scale and efficiency challenges. In addition, we’ve invested heavily in QA automation, allowing us to test our applications thoroughly while keeping our team lean and efficient. This ensures that as our product feature set expands, our ability to test the entire product does not increase and we can maintain a monthly release cadence. We use test harnesses to simulate error and failure conditions, by injecting failures into the system or making our network experience a brownout or a blackout. You can’t automate every software test, but you can automate most of them, and QA automation is one of the key ingredients in effective development operations.

    Leverage AI Strategically

    AI is not the solution to every development challenge, but when used properly, AI can accelerate development and help in-house developers work more efficiently. Using AI tools to churn out code has become a hot use case for AI in development since the introduction of solutions like Copilot. AI can be a very useful solution, but the quality of the results it delivers hinges on the quality of the data it ingests. Inhouse development teams working on AI applications have much to consider from the data perspective. To leverage unstructured data, they need ways to find it across data silos, enrich it with new metadata as needed to support search and leverage AI tools like Amazon Macie and Rekognition to further refine the data.

    Optimizing In-House Development for the Long Term

    The importance of keeping in-house development teams happy and productive is likely only to increase as the tasks they work on grow more complex and as new paradigms, like those driven by AI, change the way developers work. The more IT organizations and enterprises can upskill their existing developers and empower them with the right tools and processes to succeed, the better they can leverage their teams to build products and features that bring value to the business.

  • Businesses Must Bridge the Skills Gap to Succeed With Quantum Computing

    Businesses Must Bridge the Skills Gap to Succeed With Quantum Computing

    Quantum computing is poised to transform the way companies solve business problems. The technology needed to power this revolution is becoming a reality, with large developers like IBM making excellent progress toward building quantum-centric supercomputers. But while the technological barrier to deploying quantum is falling away, another obstacle remains: The lack of quantum skills in the labor market.

    Last year, Classiq commissioned a survey of over 500 professionals familiar with quantum technology, which highlighted a range of possible benefits that quantum computing will unlock, including cost savings, new revenue streams and competitive advantages for companies that successfully deploy the technology. But the survey also highlighted that the shortage of qualified engineers and scientists who can program quantum computers remains one of the biggest barriers to increased quantum deployments.

    This skills gap will not only prevent companies from leveraging the power of quantum computing but also lead to expensive competition for talent as businesses try to recruit the few quantum professionals available in the workforce. Why has this skills gap grown, and what can companies do about it?

    Coding for the Quantum Computing Era

    First, we need to understand what skills are missing that are contributing to a skills gap, as some readers may ask why existing programmers and computer engineers cannot meet this demand. Besides lacking the purely technical skills needed to code for quantum computing, such as creating quantum circuits and software, there is also a knowledge gap around how to solve business problems using a quantum computer.

    For instance, while many programmers trained in classical computing could figure out a way to design a program for portfolio optimization, they likely have no idea how to do the same using a quantum computer. They are unlikely to know where to start, how to check their results or even how to run their code on a quantum device.

    Coding for quantum computers is also more complicated than for classical computing. As each “qubit” can be one and zero simultaneously instead of either/or, writing the quantum code is more complex. Developers need to understand quantum concepts such as superpositions, so working in quantum requires new ways of thinking about problems and necessitates new ways of working.

    This last issue is compounded by a technology gap, as quantum programming has not been abstracted away as it has for classical programming – it is mostly still at the assembly language level. At this level, writing a few dozen lines of quantum programming is achievable but time-consuming, so creating complex quantum programs of hundreds or thousands of lines of code is almost impossible.

    Solving the Skills Gap

    The first instinct for companies wishing to leverage quantum technology is to hire their way out of this problem, but there are simply not enough Ph.D.-trained quantum experts in the market, and there is likely to be stiff competition for the few quantum-trained graduates coming out of university. Given the shortage, companies must instead consider how to train and upskill their staff.

    Convincing existing staff to take part in this training should not be an issue. Engineers and programmers are keen to learn – nearly 95% of respondents to our survey said they would like to be trained in quantum. Why is there such high demand? Not only is this new technology exciting, but many workers may hope to future-proof their jobs or increase their earning potential through quantum skills.

    Upskilling your workforce does not have to be expensive. There is already a wide range of open source material, such as the Qiskit development kit, designed to help people explore this new technology. For companies, a straightforward solution is to give their engineers the time and space to learn about quantum for themselves. Simply giving your existing coders permission and resources to learn about this technology and how it can benefit your business could prove to be a profitable long-term investment.

    The added advantage of upskilling your staff, rather than recruiting quantum Ph.D. graduates, is your existing workforce understands the sorts of problems your business needs to solve.

    Plus, new products are emerging that can help solve the technology gap and make it easier to code for the quantum era. Sophisticated low-code software can abstract away some of the complexity involved in writing quantum coding, which in turn will speed up the process of learning.

    But upskilling is only one thing to consider. Companies also need to invest in the resources and infrastructure around their emerging quantum talent. They need to build a team, identify use cases that can benefit from quantum technology and locate the right vendors and cloud providers that will allow them to test and simulate their quantum programs.

    The quantum revolution remains several years away, but companies need to make sure they have the skills and infrastructure ready to take advantage of this technology or risk being left behind by quantum-prepared competitors.