After 25 years of experience, 3 acquisitions, and over 300 products, we have decided to share some of the knowledge we have gained from working in this industry.

Agile Software Development

The software development industry is accelerating at a rapid pace, therefore we thought it would be beneficial to provide not just one blog post about agile software development, but a whole series regarding a practical approach to the agile method and how our company has benefited from implementing these agile practices. From Zibtek to your company, we hope you can take away something valuable from this new blog post series that will help you have success in your endeavors. If you have any questions concerning any information in these posts, please feel free to reach out to us.

When was the Agile Manifesto developed?

In 2001, a group of 17 men gathered together in Snowbird Utah to ski, talk, and discuss the future of software development. From this meeting, the Agile Manifesto emerged, thus implementing this style of development across the world. The message is short, simple, and emphasizes the importance of valuing human connection in the industry. The manifesto encompasses these four main points:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

The Problems in Agile Style of Software Development

As the agile style of software development has become popular in the past 20 years, the method has evolved into an extreme. It seems that companies are replacing the word “over” with “instead of” in the manifesto. For example, some businesses are approaching the agile method as valuing individuals and interactions instead of processes and tools or responding to change instead of following a plan. While individual interaction and responding to change is vital, these ideas can’t replace what creates structure in the company.

Like in all elements of life, actions need to be performed in moderation. The Agile method of software development has been taken to an extreme that has created a negative context associated with the word. In the manifesto, underneath the “History” tab it states, “The Agile movement is not anti-methodology, in fact, many of us want to restore credibility to the word methodology. We want to restore a balance.” The keyword in this statement is “balance”. The purpose of this agile style of software development was never meant to be a replacement of focus, but a re-emphasis of methods.

Agile Manifesto for Software Development

The “Rename”

At Zibtek, we have strived to restore balance to the use of the agile method. To emphasize this change, we often describe our process as “practical agile”. We strongly and genuinely implement the human connection that is highlighted in the manifesto, but on the other hand, we value efficiency and productivity, therefore we haven’t eliminated processes, tools, and documentation. Through “practical agile” we have introduced a balance that promotes the results that ultimately the agile method was designed to produce back in 2001.

Agile Software Development
Agile Software Development

Agile Software Development Methods

Through this series of blog posts, we will describe how Zibtek implements a “practical agile” method of software development in our process as well as the results that have derived from this shift. If you have any questions regarding our software development services or how we utilize a "practical agile" method within our company feel free to reach out to us.

Team Building: When and How to Split a Dev Team
When is the Best Time To Split My Team? Every company wants to create efficiency in the workplace. When a scrum team is too large, productivity declines as team members will tend to be counterproductive and step on each other’s toes. As the number of individuals grows, natural subgroups will star…

Kanban vs Scrum: Maximizing the Efficiency Of Software for Business
As a startup, Fortune 500 business, or a business anywhere in between, having well-designed software that drives revenue, reduces costs and streamlines your interaction with clients is fundamental to your business’ growth. As a small business owner, having personalized software to meet your business…

Backlog Grooming and Sprint Planning: What’s the Difference?
The purpose of sprint planning is for everyone to agree on a goal for the next sprint and the set of backlog items to achieve it. Backlog grooming sessions are a critical part of agile software development with Scrum [/blog/how-scrum-development-works/]. As part of our development process, Zibtek is…

Agile and the Iron Triangle
All agile software projects have the same challenges: * What the project must deliver. * When it needs to be delivered. * How it will stay on budget. Managing these three constraints is a tricky juggling act, but a once-common software planning tool can help balance different variables and achi…

The Role of Sprint Planning Meetings in Agile Scrum Development
There’s a fair amount of work that’s done in preparation for a first sprint. Once the backlog grooming is complete, we do a refinement meeting to go through each ticket in preparation for technical planning. Everyone attends this refinement meeting, including quality assurance (QA), engineers, and p…

How To Develop Your Business’ Technology Road Map
In an age where the business world is continually evolving, it takes the right level of adaptation to stay at the top of the competition. That is why businesses that have leveraged the use of technology are leading their industries. Take a look at companies like Uber and Airbnb, which do not own car…

The Heartbeat of Agile: User Stories
We like to say writing good stories is the heartbeat of Agile software development. Stories are used in Agile to capture an informal description of a software feature from the end-user’s perspective, user stories are written in natural language that encourages shifting the focus from writing about…

How Our Agile Teams Handle Sprint Disruptions
In a perfect world, a sprint would be disruption-free. No owner changes. No urgent new functionalities. And no defects. In the real world, Scrum teams [/blog/how-scrum-development-works/] deal with interruptions or disruptions during most of their sprints. How they handle them can mean the differe…

Sprint Refinement Meetings: When and Why They Happen
The Scrum method provides minimal boundaries within which teams can self-organize to solve complex problems. This is a massive benefit of the approach, but because it’s so loosely defined, items must be revisited and clearly defined before they come into the sprint. Enter sprint refinement meetings.…

Top Reasons Why Software Projects Fail and How To Get it Right
A few years ago, Gartner conducted a survey [https://thisiswhatgoodlookslike.com/2012/06/10/gartner-survey-shows-why-projects-fail/] on why software projects fail. We’ll take a look at what the study uncovered below, but here’s what’s notable about the company’s subsequent report. The top four re…

Continuous Development: The Piece-by-Piece Path to Deployment
An agile approach to software development calls for agility through all phases of a project’s lifecycle. What is Continuous Development? Continuous development (CD) focuses on the idea of ongoing improvement, planning, testing, delivering, and gathering feedback to continually improve the product.…

Peer Code Review: An Agile Process For Improving Quality
All good developers in an agile environment want to consistently write better code review. While there will always be inevitable bugs, the goal is to keep them to a minimum. At Zibtek, we believe it’s more efficient and effective to build quality into the product as we go, not test the finished prod…

Zibtek’s “Shift Left” Strategy: How to Increase Quality Assurance
We’ve previously written about how important a team approach to sprint planning meetings can be. In the world of agile software development, that means getting QA involved in sprint planning as well. Zibtek uses an agile strategy called “shift left” to push testing toward the early development stage…

How Agile Estimation Techniques Help Workload Management
Two questions we often hear are: * How do we handle a project’s workload? * How do we estimate how much we can get done in a sprint? Some agile teams refer to this as planning sprint velocity. Whatever it’s called, the goal is to decide, based on historical data, how much work a team can reali…