Who cares about software development? A lot of people do. The industry is busting its seams with teams upon teams of software developers. But why do we do it? Why do we care? A couple of weeks ago I talked briefly about being motivated by what we care about. In other words, we are not only motivated by the opportunity to use our talents (strengths) but also our skill (what we can do) and our knowledge (what we know). We are motivated to use our strengths because we are innately wired to them. We are motivated to use our knowledge because we purposefully pursued it so we could use our strengths – sometimes to great expense. We are motivated to use our skills because it took time and effort to get good at what we do.
If you are actively participating in a SDLC, click here to see what motivates you.
Everyone involved in software development truly desires to do their best if given the opportunity… but during my 20+ years of experience in the field I have observed that each individual’s “best” is attributed to one or more internalized motivations. These motivations are why they do what do best; it is why they care. And, in order to produce quality interactive software, it is essential that at least one team member cares deeply about Business Value, System Value, Process Performance, Application Architecture, System Quality, Development Process, Implementation, Technical Architecture and User Experience.
The diagram below depicts an Optimization Model where individual team members execute their skills and expertise in the context of internalized motivations.
You may be able to recognize the traditional roles (Project Manager, Analyst, Developer, Tester) in the diagram but it certainly doesn’t have to fall out this way. Roles can be restrictive because there is an assumption that if you wear this “hat” then you care about something when indeed you may care deeply about something else entirely. Teams that self organize can use not only their strengths to determine how best to utilize their skills but they can also let their internal motivations set the context of their actions. For example, a team member may use their Individualization talent to Optimize Process Performance by helping everyone on the team understand how their unique contributions support an on-time release. Or, another team member may use their Individualization talent to Optimize System Value by celebrating and rewarding unique contributions to the quality of the application. They could be a Project Manager, Scrum Master, Test Manager, Release Manager or whatever. The important thing is they are doing what they do best to accomplish a goal they care deeply about.