Sunday, May 12, 2013

[DevOps / DevCloud] Wanna go beyond 'demo effect' and push your app into REAL production ?


OBSERVATION
Over the past few years, I am facing the following facts :
  • We want to produce to best of the best application according to all possible "best practices" and recommendations (Code quality, tools, methods, Agility vs. micro-management, waterfall, real world constraints, ...),
  • Things seem to be so easy, because we got presented trivial demos or we only considered "Proof Of Concepts". 
As it seems to be so easy to develop and market our application!
Watch out!! Have you thought about the following?
  • Taken into account real delivery and operation constraints :
    •  ITIL v3 (support, billing, delivery, licensing, ...), DevOps or DevCloud, legal aspects, IT security people, ...
  • The IT industry is moving so fast that to beat competitors, many software companies are claiming they can address your problem and is only presenting you trivial cases and we tend to focus only on development aspects. .
However, once the developments are completed, you are left with:
  • No budget beyond development, to address many operational topics!!
  • No time left because delivery and operational aspects are more difficult than expected
  • You don't know how to deliver on time because of unexpected purchases you have to do (production licensing, buy an alternative deployment tool, because the one considered only managed to deploy your easy trivial demo...),
  • You forgot to consider backups, disaster recovery, SLA, maintenance, and retirement of the application (with the associated cost of the cleaning up all backups).
The solution is obvious! 
Think up front, and start small BUT up until the end of the chain, with real-world constraints
  • Development, "true" test, deployment with real-world constraints (true DNS, true SLL certification ...), monitoring of the production instance ...

    This is to force you address topics that could be uncovered... and fail fast if you are stuck in front of a wall!
  • Use Agility and DevOps / DevCloud to face real problems:
    "Think big, act small, fail fast; learn rapidly" (cf. 
    Lean software development)

Easy to say, what can I do about it?
Based on my numerous ALM experiences and on experts around me, I have created a Microsoft .Net Lab
It is a gathering of experts, sponsored by ObjetDirect, where various people from the fields are sharing their experience and real-life problems. Then, this experience is "instantiate" (=“coded” and documented) as a large project to:
  • highlights real-life issues
  • show how to address them (if possible)
  • or find a hack around.

Zoom on the 'Dev' part: The TFS+VS 2013 Software Factory