There are few things greater than the pride one can take away in learning from their own mistakes and then not...
repeating them. One better would be to learn from others' mistakes and avoid complication altogether. And, naturally, endlessly accurate, infallible precognition ability would top the list, but unfortunately, few of us were born graced with the gift of incredible foresight. Unless of course you happen to be Nostradamus, but Nostradamus is a fairly controversial topic in and of itself.
Working off the assumption that nobody reading is measurably clairvoyant, we can move forward and relate this introductory abstraction to very real issues in software development. Mistakes in software development are expensive. They are expensive in terms of expended (and often wasted) effort and time. They can cost a company its reputation and perhaps, most importantly, they are expensive monetarily.
emergn is an agile transitioning and consulting firm that offers services for software development teams and vendors that want to improve the way they work. Emergn does this by identifying ways to reduce costs, improve delivery speeds, fast track production and create an environment free of hostile tester-developer relationships. The company's aim is to transform troubled organizations into surefooted ones through improved business practices.
"Over the past year, we've been working on getting a new platform launched for companies looking to go lean and see past all of the terminology hype agile has accumulated," says Alex Adamopolous, CEO of emergn. "We haven't attempted to amend or rewrite the Agile Manifesto; instead, we have created a learning platform for our existing and potential customers to follow."
Adamopoulos admits his company is, in terms of company size, smaller than most competitors. To make up for a numerically smaller size, emergn relies heavily on reputation and success. You may recall that SearchSoftwareQuality published an article in late February on emergn's assistance to British Airway's website, BA.com, using key agile components.
It would be foolish to assume that just because one software company was able to find success in a process that that process would be applicable to any other company in the space. This realization prompted the emergn team to seek out new and improved ways to educate teams and transition them to a more agile development guideline. "That's exactly what the manifesto is -- a set of guidelines. Teams should be able to assimilate portions of it to fit their development needs while also figuring out their own set of best practices for development," says Adamopolous.
So how do you take home bread in offering a consultancy on a service you admit is not "one size fits all"?
"A user story is a used in agile development to identify problem areas and improve them over the course of additional iterations. We follow a customer through every aspect of their development process. We gauge and assess where the process works well and where it flat lines," says Adamopolous.
Emergn has taken the idea of user stories and broadened it into taxonomy; categories gathered from several similar and dissimilar companies that emergn has adjusted to agile. These can be used as a basis for identifying problems in other companies as well as showing proven practices that could be adopted.
"We rate each customer and create a profile of the company, and cross reference it closely with other companies that experienced the same or similar holdups. This helps us narrow down where a bottleneck is created and gives us some insight into how it might be corrected. Often we come across companies struggling with similar process imperfections; occasionally we see all-new problems, which we add to our taxonomy of company problems, as we may have to reference in the future."
Adamopolous says there are five definite problems he has noticed and dealt with across the software development landscape:
- Missed deadlines
- Budget overruns
- Poor estimation of cost, time and success
- Cultural issues within the organization
- Inadequate resources available to produce
While the above five problems are reoccurring themes throughout the industry, Adamopolous seems confident that emergn's profile tactics will prove to be a necessary tool.
"These are team issues," says Adamopolous, "but if I had to say who should be held accountable for the weight of error making, I would have to say most of it lies up top, in the executive and managerial departments. Even if they aren't directly responsible for causing a bottleneck or worse, a failure, they were holding a position where they should be able to identify those issues. The root of the problem really is a general lack of understanding from the senior management level down. This often occurs in the earliest stage of a development idea."
If tenured, executives and long-time project managers can't identify the cause of a problem, why should anyone believe that a consultancy with a short-term relationship with the problem will be able to solve it? "We ask questions and provide value stream mapping. By analyzing what a company is trying to accomplish and hearing why they believe they aren't is very useful. It helps us locate a launch point so they can reach goals both long term and short," says Adamopolous.
But that is only part of the solution. Once emergn and its clients find the root of the bottleneck, the next step is education. Agile development is like baseball; you can't win as a player, but you lose as a team and measure it as a job well done. Everyone needs to take on responsibility, hit home runs, set up double-plays. "A two-day agile transitioning seminar, say what you want, it is a shortcut and often it isn't very helpful. I don't know about you," said Adamopolous, "but when I've been in a two-day seminar, I am only able to retain 20 or so percent of the information. What companies interested in agile need is to be educated as a team and practice agile as a team. What does 'great' look like? We figure, try and figure that out and once you have, illustrate a user story for it."
Dig Deeper on Agile Software Development (Agile, Scrum, Extreme)