Design & Code

Articles

Mentor teaching a new developer coding skills Learning the Skills of a Professional Software Developer

We hire for programming language skills or framework experience, but these are the kinds of things that any developer should be able to pick up quickly. David Bernstein says we should be hiring based on talent instead, and mentoring developers to write code that can be maintained and extended more easily. These critical skills are best learned on the job, which is why mentoring is so valuable.

David Bernstein's picture David Bernstein
Metal gears 6 Steps for Succeeding with Test Automation in Agile

Lots of test automation efforts in agile software development fail, or at least do not maximize their potential. This article looks at two main reasons test automation may not live up to the expectations that testers and other stakeholders in the agile development process have, then outlines six steps to avoid falling into these traps. Here's how to succeed with test automation in an agile environment.

Bas Dijkstra's picture Bas Dijkstra
Person holding a smartphone 5 Ways to Tackle Mobile Development Problems Early with Scrum

Using Scrum for mobile application development can be difficult due to various challenges inherent to building mobile applications. Environmental dependencies, platform limitations, service outages, ownership and access issues, and short sprints can all derail your agile development. Here are some tips for overcoming these five common mobile application development issues early by using Scrum.

Ajeet Singh's picture Ajeet Singh
Ship's helm The Agile Advantage for Last-Minute Changes

Companies using heavyweight development processes manage change by limiting or locking down scope, but this has negative consequences for our products and our customers. Agile takes a different approach by recognizing the value of last-minute changes and making it inexpensive and straightforward to make changes to software, even late in the development cycle, using continuous integration.

David Bernstein's picture David Bernstein
Gold-plated leaves Build Just Enough of a Feature with ATDD

Developers have a tendency to overbuild their code. This is frequently due to not knowing exactly when they're done and not knowing how robust a feature needs to be. Acceptance test-driven development (ATDD) is a great way to avoid this practice because when the acceptance test passes, the developer knows they're done building that particular feature.

David Bernstein's picture David Bernstein
Testing feedback loop 5 Key Factors to Achieve Agile Testing in DevOps

Part of the path to DevOps requires adoption of agile methodologies. What does it mean for testing when you switch from the traditional waterfall model, with a few long release cycles per year, to the agile model, with changes occurring every two weeks? Here are five key factors to achieve the agile software testing necessary in DevOps.

Denise Rigoni's picture Denise Rigoni
Laptop with code on the screen Agile Development: Focusing on the Health of Your Code

In Scrum, the product owner and the ScrumMaster are supposed to drive sustainable development. But there's a third force missing from the formula: the health of the code itself. We often forget that our code is also a member of our team, and we have to be concerned about its health and well-being as much as any other team member. That means using practices to develop good code from the beginning.

David Bernstein's picture David Bernstein
Branching example Picking the Right Branch-Merge Strategy

A good branch-merge strategy facilitates processes among multiple developers and is the basis for any well-functioning DevOps pipeline that uses continuous integration. Let’s explore branching strategies, merging strategies, and how you can put them together in a way that’s right for your team in order to bring quality features to production faster.

Alan Crouch's picture Alan Crouch
Partially open computer showing a bright screen Software Development: An Industry of Amateurs

David Bernstein says the software industry is an industry of amateurs. It's a young field, and he doesn’t think it's yet graduated into a true profession. Here, David contrasts the software industry with other, more established fields, and he talks about what software professionals need to do in order for the industry to become accepted and esteemed.

David Bernstein's picture David Bernstein
Circle made of arrows Why You Need Continuous Testing in DevOps

DevOps is more than adopting the right set of tools; it's a cultural shift that incorporates testing at each stage of the agile project lifecycle. Continuous testing is key to unlocking this culture change because it weaves testing activities into every part of the software design, development, and deployment processes, which helps everyone involved communicate more, collaborate better, and innovate faster.

Tom Alexander's picture Tom Alexander

Pages

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.