I'm going to say something controversial here... anyone using specifications in Software Development these days is a dinosaur. Using specifications to develop software is insanity. Believe me I'd know, I used to preach specifications before I saw the light!
Back in the 80's and 90's software houses were handcuffed to the manufacturing process:
Have a Concept -> Specification -> Build -> Manufacture -> Deliver in mass
Specifications were king, they showed the client what they were paying for and it gave developers a paint by numbers to work from. The problem came when the product was delivered (usually by CD or Floppy Disc - Remember those?), customers would argue that it wasn't what they asked for, not only that but the users would find problems that weren't even considered in the design phase. The costs could be catastrophic to remedy issues if they got it wrong.... There's a reason dinosaurs are extinct.
I've been a proponent of Agile development for a while now, to say I was perfecting it would be foolish. Similar to the development and my learning of it - its trial and error, learn, and go again.
Every project we complete at Langley Foxall enriches us, and blesses us with a new wealth of knowledge to use and experiment with on the next.
I should take this opportunity to explain agile development and Ill try and avoid what every book and "pro" says agile is and use my own words.
Agile! Its freaking awesome! - there I said it. That took me ages to perfect ... Grammarly helped out a lot though.
Expand? Really? I thought that was enough. Well, If you insist.
Agile is a modern and innovative way to approach software development, it moves away from the manufacturing style, full specification development that was adopted in the early days of software and instead focuses on the user's feedback and providing the developers freedom to innovate and experiment. Just to be clear, I don't blame those guys and to be honest they paved the way for my generation, they were using the best practices at the time - but lets be real, "specifications are dead"
The Agile Era
"Can we get in on this" - Users Everywhere
The hero of this story is Agile development which is focused heavily on the user. Who are they?, what do they need?, how are we going to deliver that?, are we gonna get paid for this?
We keep it lean and mean, we avoid specifications and instead use the Pareto Principle (80/20 Rule) where we use our best assumptions of what a user needs and then create the 20% of the product thats going to do 80% of the work. Then we give it to users and they tell us what they think, based on their feedback we can discover what works and whats doesn't. Using hand selected Focus Groups and Market Lead development we can build the product that users need, want, like and will ultimately use.
With the development and popularity of the cloud we can push constant updates, changes and improvements to our users, they feel valued and listened to, and the companies we work with see the benefits. They are not only as innovators in their respective sectors, which has its own perks, but in general on their bank balance as well.