Things Every IT Manager Should Know About Software Development
How Can Managers Work More Efficiently with IT?
Would you rather work under someone who is an excellent developer but lacks people skills or leadership capabilities - or for someone that has excellent people skills, communicates well, and is a great leader but has limited understanding of productive coding practices? That’s not to say that the choice is one or the other but in many professional situations it does.
Managing an IT staff comes with numerous challenges, especially if the manager has no previous experience with the coding necessary for completing the project. Managing a business and IT's execution of tasks vary greatly in required skill sets, but it's important to find a cohesive and cooperative middle ground in order to see a project to its end. To fully grasp the intricacies of IT's involvement in the project at hand, managers can do the following to help further their efforts.
Get a basic understanding of coding and technical practices necessary for the project at hand by taking the time to research and practice enough to get a grip on the concept. This will allow managers insight on what their IT folks are really working on daily. Expertise in a programming language is not required, only an overview of the stuff that matters, i.e. understanding the concept of OOP (Object Oriented Programming.) Having this knowledge cannot be overlooked and will gain respect among multiple spectrums in the organization.
Clear communication seems an obvious requirement, but having knowledge of the language and an image of the finished product easily conveyed to developers goes a long way. If a manager cannot clearly articulate what it is they are looking for in the project, then time crunches will inevitably become the norm. Ensuring IT knows specifically what to work on and when to work on it can keep everyone on task and hurtling towards the goal in a timely manner.
Programmers are frequently faced with pressures which can intensify should their requirements sporadically change. While they are often capable of resolving the issue on their own, having a manager provide clear and realistic goals makes a huge difference. A manager who is prepared for multiple possibilities in a project can aid in swift changes that help the project advance much faster. Keeping track of priorities, addressing problems in an agile environment will easily keep everything moving forward.
Have a backup plan. Sometimes all the planning and prepping in the world will not make a difference in situations where unexpected issues arise. It is important to have another route already thought out. When a plan fails, changing out the current task list for one that makes more sense can keep the day productive and the project in motion while working on a replacements plan.
There are all kind of ways a manager can improve the working conditions and expectations of their IT team. Keeping these tips in mind, when planning out the project a manager can simply S.C.R.E.A.M. This acronym helps incorporate the above advice, and also lends an easy way to remember what to do to advance the project.
Schedule efficiently. Managers do this by working on their knowledge of the language. The more one knows about coding, the easier it will be to know what to expect from their team on a daily basis. If one cannot fully grasp the language immediately, then a simple way to go about scheduling is to have the team work at their pace on the first day. At the end of the day, have them report how much they were able to get done. Use that knowledge to schedule for the future.
Create daily task lists. Based on the knowledge acquired through observation of the team, a manager can make lists to complete daily until the goal is reached. Planning each day realistically can keep everyone on task and let them know what the expectations are. This goes hand in hand with communicating efficiently and effectively. While managers provide their teams with daily and weekly task lists, they can keep their eyes on their own monthly or quarterly task lists.
Remain calm. In the face of failing equipment or mistakes in the code, the urge to get frustrated tempts. As a manager, it's important to remain calm and do what can be done to resolve the issue and keep on task for the day. Having that knowledge of troubleshooting and keeping warranties available will help the situation blow over much quicker.
Ensure correction. Allowing time for IT to double check and ensure that each line of code is properly written is essential. When technicians are working fast and completing tasks, mistakes can easily be made. One typo can throw off an entire sequence. With that in mind, ensuring technicians have the time to proofread and edit on a daily basis will speed the process up.
Anticipate interruptions. Have that backup plan ready in the event equipment can't be replaced immediately. Know that there is always a chance something won't get done, and be ready for it. Being able to redistribute the load should a section of the team undergo a drastic change will keep the project on track.
Make use of spare time. Some IT jobs may get done faster than others. A manager can create tasks specifically for the more efficient members of their team.
At the end of the day, understanding a developers programming plight can lead to significant closures in gaps between the business folks and IT staff.
other blog entries
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
did you know? HSG is one of the foremost training companies in the United States
Our courses focus on two areas: the most current and critical object-oriented and component based tools, technologies and languages; and the fundamentals of effective development methodology. Our programs are designed to deliver technology essentials while improving development staff productivity.
An experienced trainer and faculty member will identify the client's individual training requirements, then adapt and tailor the course appropriately. Our custom training solutions reduce time, risk and cost while keeping development teams motivated. The Hartmann Software Group's faculty consists of veteran software engineers, some of whom currently teach at several Colorado Universities. Our faculty's wealth of knowledge combined with their continued real world consulting experience enables us to produce more effective training programs to ensure our clients receive the highest quality and most relevant instruction available. Instruction is available at client locations or at various training facilities located in the metropolitan Denver area.
Upcoming Classes
consulting services we do what we know ... write software
The coaching program integrates our course instruction with hands on software development practices. By employing XP (Extreme Programming) techniques, we teach students as follows:
Configure and integrate the needed development tools
MOntitor each students progress and offer feedback, perspective and alternatives when needed.
Establish an Action plan to yield a set of deliverables in order to guarantee productive learning.
Establish an Commit to a deliverable time line.
Hold each student accountable to a standard that is comparable to that of an engineer/project manager with at least one year's experience in the field.
These coaching cycles typically last 2-4 weeks in duration.
Business Rule isolation and integration for large scale systems using Blaze Advisor
Develop Java, .NET, Perl, Python, TCL and C++ related technologies for Web, Telephony, Transactional i.e. financial and a variety of other considerations.
Windows and Unix/Linux System Administration.
Application Server Administration, in particular, Weblogic, Oracle and JBoss.
Desperate application communication by way of Web Services (SOAP & Restful), RMI, EJBs, Sockets, HTTP, FTP and a number of other protocols.
Graphics Rich application development work i.e. fat clients and/or Web Clients to include graphic design
Performance improvement through code rewrites, code interpreter enhancements, inline and native code compilations and system alterations.
Mentoring of IT and Business Teams for quick and guaranteed expertise transfer.
Architect both small and large software development systems to include: Data Dictionaries, UML Diagrams, Software & Systems Selections and more