A different kind of S.M.A.R.T. mind-set for developers
Jun 11, 2014
An interesting post of Scott Hanselman describes what many developers face today: analysis paralysis. A client needs a coffee machine and the first thought of every developer is to build a shuttle, which – occasionally – has a coffee machine inside, but…does it answer to the client need?
The S.M.A.R.T. objective goals is a known marketing framework. Let’s try to adapt it to our developers’ mind-set.
Strategic: the business strategy of a client needs to be supported by a solid software strategy, understanding the trends of IT world and develop a product where business goals are aligned with software goals.
Matching: the shuttle example above is exaggerated, but our developers have to understand that providing a service to a client means matching with its need and not creating something just cool to develop.
Adaptable: what is new today, tomorrow is old. Our software must be architected in a way that it can be easily adapted, where adeptness does not mean change requests or evolution, but devices, multiplatform, interconnection.
Realistic: project management triangle is not and never will be vintage and done is better than perfect. This makes more sense today with all the tools available in the market, which are reducing the development effort (meaning lines of code) putting more value in the business case we try to build (Microsoft Project Siena’s example is striking).
Technological: this can be a trap. Technological is not one technology used for a specific project, but rather the approach, where the whole is considered. Developers need the technological vision necessary to be up to date and find the correct technology for the client. At the SharePoint Conference 2014 Microsoft showed how developers have to reinvent themselves, because the image of the geek drinking coffee and producing lines of code is not anymore valid. A SharePoint developer has to know not just SharePoint, but also HTML5, CSS3, JavaScript, JQuery, AngularJS, Knockout (and the list is far to be completed); and – more important – has to know when to use one of them.
Having such S.M.A.R.T. mind-set is crucial to succeed in today’s challenges and we should keep it in mind when we train our developers.