By: Peter Boileau, Senior Business Analyst
I know; National Leasing isn’t the first company you think of when you think of software development.
But we actually have a history developing proprietary software. Recently, we won the Equipment Leasing and Finance Association’s Operations and Technology Excellence Award for developing National Leasing Interactive. In 1998, Microsoft recognized FastCredit®, our automated credit adjudication system, as one of the year’s Best Software Solutions. Don’t get me wrong, we’re still a finance company, but development has always played a major role in our success.
Currently, we’re developing an upgrade to our document and lease management systems that will streamline and amalgamate our legacy systems. It’s a massive project, and because of its scope, we chose Agile Development. Why? Agile provides a ton of advantages over traditional project management techniques, especially when developing large-scale projects.
Let’s take a look at how Agile Development may be better for your business so when you develop your next software upgrade, you’ll create a faster, more tailored solution.
What is Agile Development?
Agile Development is a process that uses continuous planning, development, integration, testing and feedback cycles to create software. Each cycle is much shorter than a traditional development timeframe so developers can adapt to changing product requirements.
Agile Development has 12 principles that direct the project management approach. You can read more about them here, but these are the basics:
Satisfy the customer through early and continues software delivery
Welcome changing product requirement at all times
Deliver working software incrementally and frequently throughout the development process
Product owners and developers must communicate product needs and development progress daily
Empower individuals to complete development through support and a strong work environment
Communicate face-to-face with development teams when conveying information; it’s efficient and effective
Working software is the primary measure of progress
Promote sustainable development so developers, sponsors and users can maintain a constant pace indefinitely
Enhance agility with technical excellence and good design
Work efficiently; maximize the amount of work not done
Self-organizing teams produce the best architectures, requirements and designs
Regularly reflect on how to increase effectiveness and then adjust accordingly
How does Agile Development differ from traditional development?
Traditional development, otherwise known as the Waterfall Method, divides the entire project into linear stages. A new stage begins only when the previous stage is complete. These stages usually look like this:
With the Waterfall Method, a team will determine its product’s requirements early. Any customer-requested improvements must wait until the next major product upgrade. Agile Development works differently. Rather than one long development stage aimed to encompass all product requirements, Agile works in stages called sprints. Each sprint lasts a few weeks to a couple of months and starts with a Minimum Viable Product (MVP). The MVP includes only primary product requirements, which enable a development team to create its product quicker than it would with the Waterfall Method.
Once the MVP is launched, the team will begin its next sprint, developing additional product features requested by customers.
A real-world example
Although Facebook hasn’t explicitly said it uses Agile Development, its history of product updates suggests the social media giant uses a similar approach. When Facebook launched in 2004, it was a simple social site where users could browse photos of their friends. Since then, developers unveiled many product updates like a personalized News Feed, a robust messaging application and even live video. Sharing photos was the Minimum Viable Product; the multi-purpose application we see today is thanks to many successive sprints.
Of course, Agile isn’t Facebook’s sole reason for success, but the development method enables adaptation for changing user needs. And that’s the primary reason you would use it when developing your next product.
How can your company use Agile Development?
There are many ways to practice Agile. You should tailor it to your team, business needs and projects for best results. For a breakdown of the more common types of Agile, check out this site. Here are a few of my favorites that I recommend:
Visualize your work with Kanban
Visualizing your work will allow you to set realistic timelines for your project. It helps assess workload and shows progress. How? If you’re already familiar with Agile, you’ve likely heard how often some teams use sticky notes. Each sticky note represents a task and you’ll plot it on a Kanban workflow, which helps measure workload and visualize the progress of your project.
Each row represents tasks we’ve finished, tasks we’re working on and tasks we’ll work on next. We keep this Kanban visible to anyone in our office so they can keep track of our progress.
Scrum with your team frequently
Scrums are mini meetings between the product owners, scrum master and development team that increase communication. Meetings occur at regular intervals – every morning, few days or few weeks depending on the project size – and they help show a picture of your overall project through the micro-lens of each team member’s contribution. Each member lists his or her current tasks and whatever problems prevent task completion. With the increased communication, team leaders and product owners quickly identify problems and create solutions to keep the project on track.
Enable your customers to provide feedback
Your customers use your product and they’re the ones who have the best suggestions for improvements. Because you’ll release smaller, frequent updates with Agile Development, you’ll need a method to gather customer feedback quickly. Use short, frequent customer surveys to close your feedback loop. If you’re creating an internal system like we are, ask employees for improvement as they test. We set up a whiteboard in a high-traffic area in our office where employees can submit software improvements on sticky notes. We include the best suggestions in our next sprints.
Adaptability is key
Customers are more plugged in to technology than ever before. They expect an intuitive experience using ever-improving features, and they want those features right now. So why would you develop your next software with a rigid process that doesn’t allow for adaptability like the Waterfall Method? With Agile Development, you’ll regularly improve your product based on customer feedback and keep your customers happy.