Why it can’t always be about the Developer

What came first the developer or the requirement?

I work with people who develop software and web services.  I consider them artists.   They come from all walks of life and their canvas is the integrated development environment.   Integrators and project leads can come from this developer community.  Most IT leaders will have some history writing software.   That being said, there are other people involved in IT that aren’t involved directly with writing software or software development.   They don’t have a development history and they haven’t written code.

A lot of people start in IT working as Technicians.  They start with the computer hobby and work their way into repair, get a job resolving hardware and software issues and move up in the organization that way.   Other people get involved in security, they lock down operating systems or understand how systems interact with each other,  no development involved.  There are people that work the switches and routers, people that setup wiring, configure the infrastructure and install operating environments.

Far too often we focus on the Developer.    The Developer role is important and critical but it isn’t the only role.   As an Integrator, I am constantly tackling challenges outside of development.    My suggestion to vendors, software providers, SOA practitioners, Cloud strategists and other industry leaders is to keep in mind the various roles and responsibilities during consideration of IT projects.   If you only focus on the developer, your project will cost more as you attempt to implement.  Other roles to consider.

Team Success Factors

Facilitator Role

The Project Facilitator is the human enabler or glue that bonds the team.  This person should have working knowledge of the project and understand work required or performed by the various team members.

The primary role of the facilitator is to assist the project manager.  The facilitator should be able to “execute decisions” on behalf of the project manager in other words; the facilitator should have the full trust of the project manager.

To be successful, a facilitator must help in some very specific areas.  Every team must have purpose and each project area should have context.  Write a charter or mission statement; keep it and other long-term goals posted in a common area.  In our case the common area would be software forge or something like software forge.  Ensure that each team member has a clear and meaningful role.  Align short term goals to your organization’s mission statement and long-term goals.  Write clear goals that everyone agrees to.  Revise roles and short term goals as projects tasks change.  A facilitator should question assignments that don’t contribute to long-term goals.   The organizations involved in the project should clearly understand the value of the project to their organization individually.

The facilitator also helps define, document and manage the multiple procedures and process methodology employed by the project.  Establish procedures for solving conflicts.  Establish and post in a common area a set of steps for solving problems or carrying out new ideas.  Set and follow agendas for use during meetings.  Use tools such as the defense connect online and telecommunications including defense connect online chat.  Make procedural suggestions.  Listen and respond with empathy.

The facilitator also helps establish and create a culture across the various partners/stakeholders of the project team.  Although the team members are from multiple services, combatant commands and agencies, a facilitator works to bring the team together as a cohesive unit.  The facilitator will listen and respond with empathy and he or she will maintain or enhance self esteem of the team members.  A facilitator helps the team stay focused by keeping them on topic and even facilitating discussions or meetings.  Information is shared through the whole team and transparency is a key enabler for all the stakeholders.  The team members are identified clearly as stakeholders and a facilitator helps them understand how they fit in to the project and what their roles and responsibilities are.  The facilitator includes all team members in decisions updates and problem-solving.

The facilitator keeps all team members involved, maintaining active communication. The facilitator encourages quiet team members to contribute.  In the cases that group decisions are mandatory a facilitator assists in making sure that all stakeholders have their say.  A facilitator encourages the stakeholders to build on each other’s ideas and initiatives, he or she will make sure that the work breakdown and tasking is properly distributed.

The facilitator encourages stakeholder commitment by consistently asking for help in solving problems.  Setting timelines and helping the project manager keep track of the multiple schedules and timelines that may intersect based on stakeholder requirements.  The facilitator may also come to realize individual team talents and ask for specialized skills to be utilized by the project team upon discovery.  The focus on team goals and aligning the timeline(s) is critical and should be stated up front while asking stakeholders to make a commitment to the project.

Most importantly, the facilitator should establish trust not only with the project manager but with each individual stakeholder.  This trust and relationship building is key to creating a successful project.

Essentially patterns of technology and collaboration can be used to approach different problem sets and satisfy operational objectives.  The facilitator’s role is essentially a project mediator on behalf of all stakeholders in the project.

Architect Role

The lead architect is focused on the enterprise.  The Architect works with the team to design and put into practice the collaboration pattern based on the requirements of the client. The role of the lead architect is to make sure that the long term vision of the organization is carried forward in the architectural designs – both operational and system.  The architect knows they have achieved success when the models demonstrate agility through business rules and system services.  This allows the business to adapt to an ever-changing environment without adversely affecting its internal components.

 

An architect links the business mission, strategy, and processes of an organization to its IT strategy. The architectural models show how the current and future needs of an organization will be met in an efficient, sustainable, agile, and adaptable manner.

 

The architectures translate business requirements into systems qualities and into repeatable design strategies and patterns that enable those qualities thus providing scalability, availability, non-repudiation, reusability.

 

The architect assures that all standards, models, designs, and methodologies are followed according to the specific organization, and monitors emerging standards and is able to modify accordingly.

 

An important characteristic to remember is that the work being done by the architect is ever-present and tangible to senior decision makers. An integral responsibility of the lead architect is the significant amount of time spent communicating and supporting the facilitator, as well as interacting with the stakeholders, both leadership and subject matter experts.

 

Engineer Role

The engineer is responsible for working with the team and stakeholders to accurately identify the right problem in a complex environment. The engineer sees the problem in context not only of the client’s mission, scope, and objectives, but also that of the stakeholder’s points of view.  The engineer manages schedules, resources, and funds – all limited – around the project’s mission.  Once the problem is known they can work with the Facilitator to communicate the many facets of the problem among the stakeholders and user communities.  The engineer works with the Architect to transition the As-Is models into multiple To-Be designs for the client to consider in an analysis of alternatives.

 

The primary responsibility of the engineer is to provide technological contributions to the technical teams throughout the application of the pattern process.

They have diverse technical disciplines across people, processes, and tools and are able to identify the most effective technologies to apply to the project. The engineer is able to meld all of the different team efforts into a unified solution to the problem.

 

 

Another part of the engineers’ role is working closely with the facilitator and architect to ensure that the work being completed is relevant to the client’s project deliverables, as well as changing the cultural behavior towards the pattern and making the project success a reality. The engineer adheres to the various procedures and policies defined by the project facilitator, and provide guidance to the technical teams keeping within the standards of the procedures and policies defined.