|
Inedo works closely with information technology departments of all sizes to provide comprehensive training and mentorship programs for developers to learn new technologies, work more productively, and produce the highest quality systems.
Training & Mentorship
Software Quality & Configuration Management
The two most overlooked parts of software development are quality and configuration management. Overlooking these two key processes leads toward the creation of an overly complex, excessively large, and prohibitively expensive to maintain system. Regardless of how far your system is in its lifecycle, Inedo will work with you and your development team to ensure these processes are defined properly.
.NET Transitioning
.NET is here and is here to stay. An experienced .NET development team will be able to develop and maintain information systems for a fraction of the cost when compared to a non-.NET team. Whether your team uses ASP/COM or PHP/MySQL, Inedo will develop a comprehensive training and mentoring program based on what your developers know and the long-term goals of your organization.
Moving to Structured Development
Are you fully satisfied with your software development team's ability to accurately quote how long it will take to design, code, test, and deploy a solution? Can your team quickly assess the impact of sudden changes (such as personnel loss or a large, new client) on existing, ongoing projects? If not, then your organization is in serious need of structured software development. Inedo will work closely with you and your development team to select and customize a development methodology most compatible with your team and your organization's priorities.
Going In-house
Moving software development in-house can be a difficult step for an organization of any size. To be successful, it's essential to make a number of key decisions and strategic moves that will impact your organization as a whole. Inedo can work with you to through the entire process, from selecting the best candidates to integrating software development workflows into your existing infrastructure, ensuring your organization success in the long-term.
Power Talks
Power Talks are a cost-effective way to introduce new concepts to your software development team. Perfect for groups of two to ten, our Power Talks consist of a detailed overview with real-world code-examples and a discussion session to explore the topic further. Developers are also provided with a resource kit with all presentation materials, code-examples, and references. Power Talks may be held on-site or at one of our nearby training centers.
Avoiding Programmer Maladies
While you may have heard of the “Not Invented Here Syndrome,” ( the tendency for developers to resist using software components or ideas developed by some one else) there are numerous other maladies afflicting programmers and programming departments alike, from “Must Port to Everything” (MPtE – the mindset that a system should be architected so that it will work on any platform imaginable, even though the platform has already been selected) to “Farsightedness” (similar to scope creep, loosing focus on the actual requirements of a system and instead thinking of and adding features that the developer thinks the client may need). This discussion will focus on avoiding these common problems, which will help make developers more productive, saving organizations time and money.
Best Practices
Although there can be hundreds of ways to solve a single problem, there is generally a “best” way of doing it. Successfully applying best practices to your software development will improve your development team's performance and efficiency, and reduce business expenses and improve efficiency throughout your organization. We'll discuss best practices on a number of technologies, from relational databases to naming conventions.
N-Tier Architecture
Splitting an application's functionality into different logical tiers (such as database, business logic, and user interface) makes it easier to develop, test, maintain, and expand. N-tier systems can also be produced quicker, as each tier may be developed independent of one another. We'll analyze a real-world problem and discuss concepts, architecture, implementation, and best practices for developing an N-Tier solution.
Object Oriented Design
Encapsulating data structures and related functionality into conceptual objects (such as an order, user, or report) provide significant advantages to both software developers and end-users. Because objects are reused throughout the system, code is more predictable and less prone to errors, which translates to higher quality software developed in less time. We'll analyze a real-world problem and discuss concepts, architecture, implementation, and best practices for object-oriented design.
|