I have discussed it before and we see almost all modern companies and developers adopting an Agile approach to their development strategy.
Although this strategy is different than what we grew up on, it is quickly being embraced by the even the more established and so called “conservative” companies in the tech scene.
Agile development strategies have a number of characteristics which make it a formidable force in the industry. Although, there are some challenges to be addressed before a person is able to perfectly utilize Agile tools and the software surrounding it. By understanding what could go wrong, companies will be better able to ‘prepare for battle.’
For starters, “proper” planning. Easier said than done.
Developers need to have a starting plan and short goals — they will be lost otherwise. Those who have worked with Agile development are aware of the phrase “done means done.”
Once a product manager accepts a proposal, it’s ready to be taken to the next level. The proposal will go through automated testing and then move on to further processing. Developers are in control of laying down the framework for a proposal, while designers work within that framework to bring the proposal to life; combining aesthetics with features.
This is where we encounter the first challenge; the planning phase.
Too many developers go into a project ill prepared. They think features can be adjusted and changed later on by designers if there are disappointing results. But that is not always the case. Think of it this way: if too many features are problematic from the get go, this will affect the entire production line. The project may need to be entirely scrapped and restarted. You can avoid this mess with teamwork. Each team needs to work together to understand the basic design and technology Otherwise too many variables are in play and the project simply won’t work.
Developers also must create user-facing code while considering output.
It is important to take the time to think about all the issues a customer may face and how to address them. Creating mock-ups of problems or planning user sessions is a great way to help alleviate this type of problem. However, problem solving needs to go a step further. The developers and designers need to sit down together and brainstorm how these issues can be solved. Together, they are able to create a framework aimed at customer resolutions.
Another common problem facing Agile development teams is being over-budget and over-schedule.
Some developers get tunnel-vision when working on a project. There is a tendency to think there is enough have time to fix the minor details later and then rush to meet a deadline. Or developers may actually get too caught up on the minor details. This pushes everything back — teams don’t meet their deadlines and the company loses money.
As with anything else, people don’t work for free.
Some developers simply don’t think about the big picture. Companies are supplying the funding and will question where all the money is going if there is nothing to show for it. Investors may pull the plug. The payroll is set and there is only so much overtime a team can be paid before they start to put a strain on the checkbook. When projects fall too far behind, especially with start-ups, these teams may need to sacrifice pay or even lose out on seeing a project to completion.
So what’s the solution to budget and time issues?
It’s all about going back to the future. There will always be issues in the development and design cycles, but having the right plan means that you are already prepared with solutions. Communication between team leaders is critical to effective planning as well. Collaborate, communicate, and coordinate – certainly keys to success.
While there is definitely room for freedom in the agility development cycle, if people are left to their own devices, nothing will get done.
The key is careful planning and teamwork. Don’t suffocate the team, but don’t go into the creation cycle without any plans whatsoever. Plans should be clear but they should also be adaptable.
Now that you’ve executed a plan and designed a product, you need to focus on where do your customers fit into the picture?
But that will wait for a different post…