IT Managers must play many roles within the scheme of software development. He or she must accept responsibility of the project team by leading effectively, which consists of providing direction, motivating and resolving conflict. Outside of the project team interaction the project manager must also serve as the spokesmen, resource handler, negotiator and facilitator. (Brandon, 2006) IT Managers receive pressure from their superiors to deliver results and often the pressure conflicts with the development of the project team. It is the responsibility of the IT Manager to bridge the gap between these two conflicting forces and deliver quality results. (Levy, 2003)
Each project possesses its unique aspects; however one factor remains consistent – the venture consists of “seemingly incongruous pieces” that are in need of “some assembly.” (Chordas, 2007) IT Managers must act as the “instruction manual” for the team so that the project gets “from initiation to completion with no extra pieces left over.” (Chordas, 2007) Accomplishing this task consists of defining and achieving each target through optimizing the various resources available – “time, money and people.” (Chordas, 2007)
A discipline utilized by many IT Managers use to build successful programming teams is Extreme Programming which bases its values on “simplicity, communication, feedback and courage.” (Lindstrom & Jeffries, 2004) Through simple practices the software development team is able to come together with enough feedback that team members can see the current project status and alter their performance to fit their unique situation. Team members collectively make decisions on what future steps should be taken and predict when any deliverable will be available. Software is produced in a series of “small, fully integrated releases” that pass any tests the customer has defined. IT Managers implementing these procedures find the team is successful in many levels such as code consistency, shared vision and value. (Lindstrom & Jeffries, 2004)
Software development teams’ long-term success is often based on the initial planning of the project, IT Managers must provide an environment where team members are free to discuss what lies ahead. Through regular meetings between the development team and the customer, information is gathered in a regular basis that defines the actual requirements of the project. This valuable communication helps the team answer any questions that might surface, determine how much time is required to complete the process, and the opportunity to search for non-traditional approaches that save time and money. (Poole, 2001) The group’s perception in the early stages of a project is crucial and a large percentage of their assumptions lie in the ability of management to provide an environment where the sense of direction is clearly communicated to everyone involved. Programmers, customers and upper-level management can quickly detect if leadership has “what it takes” to provide the appropriate environment that will carry them to the final product. (Finney, 1999)
IT professionals prefer a challenge and it is important that IT Managers create the opportunity for these individuals to perform daily tasks where their talents can be utilized, while providing a level of consistency between the team members. IT Managers must ensure that each team member has a “stake in and a share of, the responsibility for the outcome of each phase.” (Finney, 1999) Producing an environment that makes each team member feel as if he or she is an integral part of the process can have a huge impact on each individual’s attitude and level of motivation. (Finney, 1999) Employee retention and morale most often comes down to “being trusted, feeling needed, and being recognized” for his or her contributions. (Dubie, 2007)
Many project tasks consist of complexities that take a significant amount of time and in the traditional working environment programmers would work individually unless an issue surfaced that required teamwork. This created an atmosphere where team member interaction was rare and leadership direction was limited. (Poole, 2001) An Extreme Programming concept utilized by many IT Managers is Pair Programming, as it provides regular contact between team members and produces consistent results. This process “has the potential to produce better results than leaving the hard projects to individual ‘wizards’ that many people thought were the key to success.” (Levy, 2003)
Project teams developed through the concept of Extreme Programming provides benefits to the organization as well as the customer. The fundamental nature of this discipline is to “be together with your customer and fellow programmers” and create an environment of consistent communication. (Lindstrom & Jeffries, 2004) Team members who feel empowered by leadership “genuinely take pride in their work” and the consistent communication with the customer allows everyone to remain on the same page. Customers tend to focus on the reality of what they can see, giving little consideration to the backend process; however through regular communication any issue that might pose problems is anticipated. Ultimately this process saves time and money because the group effort helps leadership avoid costly setbacks. (Poole, 2001)
As IT Managers are responsible for working with upper level managers as well as the project team members it is imperative that project managers learn to effectively build a bridge between the two. Upper level management is often comprised of a number of individuals that lack a familiarity with the programming process, which results in a number of unrealistic expectations being imposed on the project team. IT Managers must be prepared to defend the team member’s actions in these situations, as team member performance will deteriorate if they feel that the project manager has “sold out.” (Finney, 1999) Consistently providing an open line of communication between all individuals involved in the process helps facilitate the process. Team members can stay focused and on track, while upper level management is aware of the project’s status at all times. (Lindstrom & Jeffries, 2004)
In the traditional environment the lack of open communication often presented situations that resulted in increased expenses and one factor consistently responsible was the percentage of the budget estimated to cover the programmer’s salary. As many organizations viewed schedules as flexible and deadlines easily shortened, software developers would find themselves working “80 to 100 hours per week” on a project that was “undermanned or over scheduled.” (Levy, 2003) This approach proved costly as programmers became burned out, resulting in costly mistakes and destroyed the team’s credibility. Extreme programming places an emphasis on the Sustainable Pace concept, as it is imperative that the team remains sharp during the length of the process. If burn out assumes control of the team members this leads to lack of creativity and attention to detail. (Poole, 2001)
The process of Extreme Programming presents a new concept to the process of software development and IT Managers can learn from its success. Most important to the process is the fact that the role of each team member is viewed as an integral part of the course of action and clearly defined. The level of communication between upper level management, team members and the customer allows multiple levels of interaction and conversation to take place on a regular basis. Team members can clearly define their importance to the project if they feel that they are an asset to company, as leadership views their feedback as imperative to the project’s success. “Diversified skills, team spirit and real cooperation” is essential to deliver quality results. (Perkins, 2006)
This particular discipline also stresses the importance of customer involvement, which is the foundation most organizations used to determine employee advancement. Team members are empowered to openly communicate with the customer throughout the project, which quickly establishes the customer’s level of trust in the project team. Employees who feel empowered also go to great lengths to make sure that the customers are satisfied, which reflects positively on all levels of management. This communication also provides the team the opportunity to give customers a clear picture of the back end, as most often the technical expertise of the customer is limited. Presenting the scope of the project from the programmer’s perspective provides the customer an opportunity to view the project from an alternative standpoint, often providing a realistic picture of the possibilities. (Perkins, 2006)
Brandon, D. (2006). Project management for modern information systems. Hershey, PA: IRM Press.
Chordas, L. (2007). Step By Step. Best’s Review, 108(2), 58-62.
Dubie, D. (2007). What does it take to lure and retain IT talent? (Cover story). Network World, 24(40), 1-14.
Finney, R. (1999). Winning Project Teams. from http://www.itmweb.com/essay003.htm
Levy, J. V. (2003). If extreme programming is good management, what were we doing before? EDN, 48(25), 81-84.
Lindstrom, L., & Jeffries, R. (2004). EXTREME PROGRAMMING AND AGILE SOFTWARE DEVELOPMENT METHODOLOGIES. Information Systems Management, 21(3), 41-52.
Perkins, B. (2006). Managing IT as a Professional Services Firm. Computerworld, 40(47), 39-39.
Poole, C. (2001). Three Week Project Turnaround. 2007, from http://c2.com/cgi/wiki?ThreeWeekProjectTurnaround