Describe the role and responsibilities of the technical team.
The Pivotal Role of the Technical Team in Web Development Projects
The digital landscape is dynamic and complex, with each phase of a web development project being a bridge to the next, ensuring the seamless transition of ideas into tangible, functional solutions. In the early stages of such projects, the business and creative teams stand at the forefront, interpreting the client's vision, setting strategies, and laying the foundation for the design and execution that follows. But as we move into the design phase, the narrative shifts. The technical team emerges, not just as contributors, but as pivotal links connecting the intricate web of client, design, and development. Here is why the technical team's role is so crucial:
Translating Vision into Reality: The initial discussions might produce grand visions and intricate designs, but it's the technical team's responsibility to map these concepts onto a feasible framework. They ascertain the technological feasibility of design choices, ensuring that the final product is not just aesthetically pleasing but also robust and functional.
Bridging Gaps with Expertise: Web development projects are riddled with technical nuances that might elude the uninitiated. The technical team, equipped with specialized knowledge, becomes the interpreter, elucidating these intricacies to both the client and the creative team. They bridge the gap between what's desired and what's achievable, often suggesting alternative solutions that align with the project's goals.
Setting Realistic Expectations: It's natural for clients to have ambitious goals for their digital platforms. However, every idea comes with technical implications, some easy to implement, others more challenging. The technical team ensures that all stakeholders have a clear understanding of the scope, timelines, and potential challenges, thus preventing future surprises and misaligned expectations.
Risk Management: Every project carries potential risks, be it in terms of security, scalability, or performance. The technical team, with its keen eye for detail, identifies these risks early on, proposing mitigation strategies and ensuring that the project doesn't veer off course.
Collaborative Problem Solving: Challenges are inevitable. But with the technical team involved, solutions emerge collaboratively. They work in tandem with the design and business teams, ensuring that issues are tackled holistically, keeping in mind both the client's vision and the project's technical constraints.
Ensuring Seamless Transition to Development: Once the design phase concludes, the project must transition smoothly to development. The technical team's early involvement ensures that designs are already aligned with development capabilities, making this transition seamless and efficient.
In essence, during the design phase of a web development project, the technical team acts as the keystone, ensuring the arch of ideas, designs, and development stands strong and true to the client's vision. They're not just implementers; they're enablers, collaborators, and guardians of the project's integrity. It's through their expertise that visions transform into digital realities, making their role absolutely indispensable.
You have learned in previous courses in this series that during the Discovery and Definition Phases of a web development project, it is the business and creative teams that communicate with the client. During the design phase, the technical team becomes an important link between the web team and the client. On the one hand, the technical team must understand the client's hardware capabilities and future needs.
On the other, because of the potential implications of the selected hardware on the multimedia content and other programming aspects of the Web site, the technical team must be aware of the needs of the creative and business teams. In some ways, at this stage in the process the technical team is a bridge between the rest of the Web team and the client, trying to understand and meet both sides' needs and desires.
The following series of images below illustrates this process:
Roles and Responsibilities
Because they are a team, software teams are assigned a team leader. This post may have different names in every organization,
but the main and common responsibility of this person in all organizations is product delivery. What varies is the scope defined for the responsibility of product delivery. At one extreme, this person is just responsible for the technical effort of design and development. It may include design and development as well as collaborating with customers, team operations, reporting to senior management, and strategic product management. This module will lay out the responsibilities of a Technical Team Leader. Knowing the responsibilities is better than not knowing, and that is why it is important to lay the necessary ground work for your the project team. We may determine the necessary characteristics of such a key person in software development. First, I will point out several deficient views of a technical team leader, and why these views are incomplete and may not lead to team success. Then, I will categorize all the necessary responsibilities to be carried out by a technical team leader. Finally, I will discuss other functions in a typical software organization, and will explain why we should not overwhelm the team (and its leader) with such responsibilities.
The business and the creative teams inform the technical team of their needs.
The technical team writes the requirements definition, which states the site's hardware requirements, and then contacts the client's IT staff.
The IT staff studies the Requirements Definition, then makes the final decisions as to what hardware is, or will be, available for the website project.
The process requires some back and forth between the IT Staff and the technical team. After everything is settled, the technical team designs the network architecture.
The technical team must inform the creative and the business teams of any decisions that may affect their work
Good team work will result in a successful web site deployment.
Deployment to Staging
When the deployment to staging occurs, a team is assembled to perform it. Sometimes this team has all the necessary skills, but often in very large organizations the responsibilities for deployment are divided between several groups. DBAs, middleware teams, web teams, and others all take a hand in deploying the latest version of the application. Since the various steps have never been tested in staging, they often have errors. The documentation misses important steps. The documentation and scripts make assumptions about the version or configuration of the target environment that are wrong, causing the deployment to fail. The deployment team has to guess at the intentions of the development team.
Often the poor collaboration that causes so many problems in deployment to staging is shored up with ad-hoc telephone calls, emails, and quick fixes. A very disciplined team will incorporate all of this communication into the deployment plan, but it is rare for this process to be effective.
As pressure increases, the defined process for collaboration between the development and deployment teams is subverted, in order to get the deployment done within the time allocated to the deployment team. In the process of performing the deployment, it is not uncommon to find that incorrect assumptions about the production environment have been baked into the design of the system. For example, one application we had a hand in deploying used the filesystem to cache data. This worked fine on a developer workstation, but less well in a clustered environment. Solving problems like this one can take a long time, and the application cannot be said to have been deployed until they are resolved. In the next lesson you will learn what the function of the Site Planner is.