Technology Ecosystem for the Modern Day Business Application Developer

Technology is changing at a rapid pace. Everyday you see something new to be learnt, which did not exist few months back. If you are like me, who has come from an application development background, what does this change means to you?

For sure, this is not for gyan. Tried depicting this in a form, which i could use as a reference.  I purposefully, hace not included Desktop applications in this. If you are working in some of them, you may have include it for yourself. Obviously, this may change when we revisit this in couple of months.

Similarly, things like Programming Languages (Java, C#, Ruby), OOPS Concepts, TDD, SOLID Principles are foundations.

Technology Ecosystem

Is this Perfect? Not Necessarily. This is my version and you may have a different way of visualizing this. If you create one, please do share it with me 🙂

Did I cover all aspects? Not really. Take Analytics as an example. If you take Descriptive Analytics, you start looking at traditional Business Intelligence, Data Warehousing, Data Visualization etc. Each one is a separate block diagram on its own. Hence, i have stopped it at a very high level for this.

Can i be a master of all this? May not be possible. But if we have to call ourselves as techies, then we at least need to know what these are, where we can use them and may be pick and choose couple of items that could be of our interest and master it.

Happy Learning!!!

Advertisements

Business Model Canvas

The first time, i came to know about Business Model Canvas was couple of years ago. I always thought i understood the fundas. But recently tried this and realized it was not the case.

I was recently working on creating a strategy map and landed in this excellent post by Steve Blank “The Future of Corporate Innovation and Entrepreneurship“.  This post is a must read, if you want to understand why we are doing this.

While org charts provided the “who” of a business, companies were missing a way to visualize the “how” of a business. Strategy Maps are one of the ways companies visualized the “How” of a business. Strategy Maps are a tool to translate the strategy into specific actions and objectives to measure the progress of how the strategy gets implemented.

By the 21st century, organizations still lacked a tool to create and formulate new strategies. Enter the Business Model Canvas. The canvas describes the rationale of how an organization creates, delivers, and captures value (economic, social, or other forms of value). The canvas ties together the “who and how” and provides the “why”. External to the canvas are the environmental influences (industry forces, market forces, key trends and macro-economic forces.) With the business model canvas in hand, we can now approach rethinking corporate innovation strategy and structure.

Existing companies and their operating divisions implement known business models. Using the business model canvas, they can draw how their organization is creating, delivering, and capturing value. A business model for an existing company or division is not filled with hypotheses, it is filled with a series of facts. Operating divisions execute the known business model. Plans and processes are in place, and rules, job specifications, revenue, profit and margin goals have been set. Forecasts can be based on a series of known conditions.

Inside existing companies and divisions, the business model canvas is used as a tool to implement and continuously improve existing business models incrementally. This might include new products, markets or acquisitions.

Couple of good references to understand this in detail
Understanding Business model fundamentals
Business Model Canvas 101
Understanding Facebook Business Model
Understanding Google Business Model

Happy Learning!!!

Business Model vs Business Plan

How do you explain the difference between a  business model and business plan? I recently tried and struggled to explain. Found this excellent post by Steve Blank here.

Business Plan

A business plan is the execution document that existing companies write when planning product-line extensions where customer, market and product features are known. The plan is an operating document describes the execution strategy for addressing these “knowns.”

Entrepreneurs treat a business plan, once written, as the culmination of everything they know and believe. All they need to do is add money and magically that five-year forecast in Appendix A will simply happen if they execute to the plan.

 Business Model

A business model describes how your company creates, delivers and captures value. A business model is designed to change rapidly to reflect what you find outside the building in talking to customers. It’s dynamic and it reflects the iterative reality that businesses face. 

References:

Validate Your Business Model Start With a Business Model, Not a Business Plan

No Plan Survives First Contact With Customers – Business Plans versus Business Models

From Business Models to Business Plan

Happy Learning!!!

A few good men

I met some of my ex-colleagues yesterday and we had a great time. Whenever we meet, one of the topics which always used to come out was how engaged all of us were sometime back.

ManagerWhile returning back home, i was thinking about what made all of us so engaged during that time. Even though some of us are doing some great stuff even today, but the engagement part is not the same.

 

“Many people are unmotivated, not because they have a great reason to be, but rather because they have not been given a great reason to be motivated & engaged.

Keeping the money part aside, some of the things which i could see as a difference

1. Great set of colleagues. I think it really matters with whom you are surrounded with. When you are surrounded with knowledgeable people and people who really work, it automatically spreads. When you are surrounded with people who come to office keeping their brain at home, CGO’s, News readers and As…..s, i guess there is no way people are going to be engaged.

Happy Team

2. A transparent and honest manager, who really cares, gives feedback and helps others grow. Also, when you see your manager putting his best effort and he is truly trying, it really motivates and inspires others. It all starts from the TOP. The same way when a manager can spot a bad apple quickly rather than promoting him or praising him, the work environment become a great place automatically.

3. A great work culture. With a great set of people and good practices, this automatically happens.

I concluded my thought with this. If a company has the right set of practices to hire good people, constantly improves on it, and promotes a good work culture which is transparent and honest, i don’t think there is no need for a separate HR organization promote employee engagement.

The value differentiation for any company always was and always will be PEOPLE.

“If you work in an urgent-only culture, the only solution is to make the right things urgent.” – Seth Godin, author of Linchpin

Happy Learning !!!

Image Courtesy
Ambro / FreeDigitalPhotos.net
Marin / FreeDigitalPhotos.net

People Management : Team

If you are a Manager, your success depends on your team. If you as a team play well you have better chance of succeeding.

The way a team plays as a whole determines its success. You may have the greatest bunch of individual stars in the world, but if they don’t play together, the club won’t be worth a dime. ~ Babe Ruth

Devil Says:  Don’t worry about the team. You can manage the perceptions of your Manager and your client. You always can find a reason to blame the team.

In my opinion, a Manager plays the key role in building the team, groom and makes them perform. Manager is the one who makes or breaks the team.  He/she is the one who connects the various dots and make it a complete picture.

Starts with your Hiring
Your success and the Project’s Success start with Hiring. If you as a Manager put in enough effort in hiring, you have already crossed 50% of your hurdles.

Inducting, Roles Definition and Expectations Setting
Once the person has joined, everything starts with the way a manager inducts team members in the team.  Define the Roles clearly on who will play what. Clearly specify the expectations at the very first week of a new member joining your team.

Example: A Technical Architect managing/leading a Project and the team members. If you are a manager, this is the last thing you want in your life. This clearly says you as a Manager do not have any clue of what you are doing.

It’s not only important to have the right people in your team. It’s more important to have them seated in the right seats ~ Jim Collins

Manage Emotions
Manage your team member’s emotions on a daily basis. People Management is all about managing people Emotions. You are definitely not managing a computer. Be on the floor. Manage by walking around. Get out of your cubicle or cabin and go around the floor. Get a firsthand experience on what’s going on. Make sure your team feels comfortable. When a project gets started it’s natural that people do not understand their roles, have conflicts etc. If their emotions are managed in the right way, I am sure the team will start jelling well.

Managing Projects is all about Managing Emotions ~ Doug Decarlo

Lead by example
Meet your commitments and make sure your team member’s meet their commitments on a daily basis. Meeting commitments helps building trust with each other.

Do not postpone or Cancel meetings with your team members. ~Common Sense

Set a process to address Conflicts between members
Discuss with your team and figure out how they can handle conflicts between themselves. Build a escalation model so that they can come to you only if things are not resolved within themselves.

Power of 1:1s:
Have regular 1:1’s with your team members. I am sure every company today forces you to enter 1:1 data in the system on some interval. I am not talking about that. Have 1:1’s at least once in a month. The reason why you can have only a maximum of 10 or less people reporting is to make sure that you have time to do this and not for reading news papers online.

Review your expectations and goals set, see how things are going. Give Feedback and take feedback.

Listen to get feedback
It’s not only important to listen to your team members only during meetings, but also when you walk around in the floor. Not everyone in the team will give you feedback. There will be casual comments. Take a note of the comments and review them offline. See if there is anything which is a real feedback, take them and work on it. When your team members see that you have taken their feedback and worked on it, obviously you have scored a couple of more brownie points.

High Maintenance Resources

If you have Super stars in your team, have 1:1s with them on a bi-monthly basis. Super Stars are typically High Maintenance Guys. You have a better chance of growing if you know how to manage Super Stars.

Nothing comes free in the world ~ Common Sense

Get Rid of Bad Apples
If you have a non-performing resource or a bad apple who introduces lot of negativity, have some spine and remove them. Don’t just worry only about your billability. If you are the one who is bringing in the negativity, get rid of yourself from the team.

Be a Role Model.

  • Don’t go give gyan to your team members, saying they need to work hard, get things completed on time etc. If your team members do not see you contributing to your project in a meaningful way there is no way they will listen to you.
  • If your team members are working on a weekend or late night, sit next to them and give moral support. Show that you are really interested in the outcome of the project. Don’t inside your cabin and say I am giving moral support.
  • Don’t give suggestions to your team members only when your manager is around. You may get a temporary mileage, but sure it will not last for long.
  • Make sure you give the confidence, if there is anything which goes wrong you take the complete responsibility and protect the team.

Walk the Walk. Talk the Talk

TEAM – TOGETHER EVERYONE ACHIEVES MORE

Happy Learning!!!! 

Image: FreeDigitalPhotos.net

Why should i care about Windows 8 and Metro Style Applications?

Windows 8 brings a new style of development called “Metro Applications”. If you are a developer programming in .NET, there is something new you have to learn.

As a .NET developer, why should you care about Windows 8? Your knowledge will be applicable for building Desktop, Tablet and Windows Phone applications. Hence, you should definitely care about it.

Unlike traditional desktop apps, a Metro style app has single, chrome less window that fills the entire screen by default, so there are no distractions. A Metro style app can support different layouts and views to create a fluid and harmonious experience across a variety of form factors and display sizes.
http://msdn.microsoft.com/en-us/library/windows/apps/hh974576.aspx

Windows 8 Platform and Tools

Source: http://dougseven.com/2011/09/15/a-bad-picture-is-worth-a-thousand-long-discussions/

You will be able to develop Metro style applications using

  • XAML and .NET(C#/VB)
  • XAML and C++
  • HTML and JavaScript
  • DirectX and C++

I am really interested to learn, how to build metro applications using HTML5, CSS and Javascript. Windows 8 has a JavaScript processing engine called Chakra and has a native JS support in the form of WinJs. Metro style applications will interact with the new runtime called WinRT and using the APIs you will be able to interact with operating system. I guess it’s more in the line of what they have already done for Silverlight and Windows phone 7.5. Check for .winmd extension for WinRT API (Metadata).

Why am I talking about HTML/Javascript way of developing metro style applications and not the C#/VB way? I somehow started getting a feel that HTML5 will become the way of developing anything and everything and the ecosystem around HTML5 will become bigger and bigger.

We have only talked about new things. If you haven’t read anything about Windows 8 before, you must be wondering by now that what happened to my .NET framework. Metro style applications and standard desktop applications will run on top of .NET framework 4.5 runtime.

Happy Learning!!!

Useful Pointers which can help you get started
WinRT demystified
A few facts about Windows runtime
WinJS : Windows Library for Javascript
What’s a metro style app?
Design case study: Website to Metro style app
Deep dive into Windows RT

Responsive Web Design

Recently i was looking into Responsive Web Design (RWD), as i see there is a lot of momentum.

Responsive Web Design (RWD) essentially indicates that a web site is crafted to use Cascading Style Sheets 3 media queries, an extension of the @media rule, with fluid proportion-based grids (which use percentages and EMs instead of pixels), to adapt the layout to the viewing environment, and probably also use flexible images. As a result, users across a broad range of devices and browsers will have access to a single source of content, laid out so as to be easy to read and navigate with a minimum of resizing, panning, and scrolling.

Via : http://en.wikipedia.org/wiki/Responsive_Web_Design

I did not understand the full meaning of it until i started reading this book “Architecting Mobile Solutions for the Enterprise” by Dino Espito.

The essence of RWD is that when you are building websites for mobile, the size vary from device to device. Now how do we build a site which works with the different sizes?

A Responsive Web design is a client side solution which uses CSS for the Visual Characterstics and JavaScript for Behavior characterstics to build sites.

This means that you arrange webpages around a fluid HTML layout, which is then reconfigured and styled dynamically on the client using JavaScript functions in your pages. Your Javascript code, decides the browser’s capabilities and rearranges the page, apply styles etc.

Key technical features of responsive Web design:

  • Media queries and media query listeners
  • A flexible grid-based layout that uses relative sizing
  • Flexible images and media, through dynamic resizing or CSS

Via : http://msdn.microsoft.com/en-us/magazine/hh653584.aspx

Sounds very good. If you happened to have good javascript programmers, then its definitely worth looking into this.

Couple of good pointers
http://www.alistapart.com/articles/responsive-web-design/
http://assets.en.oreilly.com/1/event/3/Responsible%20Web%20Design%20Presentation.pdf

Happy Learning!!!!