-
If you ever thought you’d like to develop the Next Big Thing, you’ll need Q’s advice about how to get started and what to do before you start writing code.
-
Customer relationships are an often-overlooked part of what we, as programmers, do. But customers are essential; after all, they're the ones we are creating systems for. We've heard from many programmers that customers are obstructive, stubborn, and computer-illiterate. Have you experienced similar frustrations? Why do projects often seem like battles, rather than cooperative efforts to solve specific problems?
-
Or: Everything you wanted to know about customers, but were too busy coding to ask.In the last issue, Nancy and Barbara gave us a brief overview of some customer relationship issues. This time, they take a closer look at the initial contact phase.
-
Jonathan Goodyear (the Angry Coder) September/October 2004
-
Whenever more than one person works on a software development project, introducing some process to coordinate the activities of the team members is a priority.The larger the team, the harder it is to manage. To meet this need, Microsoft created Visual Studio Team System (VSTS). VSTS is a state-of-the-art Software Development Life Cycle tool suite that is tightly integrated into Microsoft Visual Studio 2005. VSTS provides deep support for .NET projects; however, whenever ...See More
-
Studies indicate that between 40% and 60% of all defects found in software projects can be traced back to errors made while gathering requirements.This is huge! Finding problems while they are just in the planning stages is MUCH easier to deal with than finding them after the code has been written. So, how can developers avoid these errors and create a solid design for their software? This article will describe various methods for gathering software requirements and w...See More
-
Scrum is an agile software development process to manage software projects. Scrum is based on three simple principles: visible progress, constant inspection, and adaptation. With Scrum, teams use an empirical approach to adapt to changing requirements and priorities. Teams using Scrum focus on delivering working software to their customers on a frequent basis.
-
Your manager just dropped into your office and said, “We have a very important, new assignment with a limited budget and tight schedule. I am assigning you to be the project manager. Good luck.”Your manager turns and leaves your office. After your heart rate subsides, you start to think about your new assignment. How shall I proceed? What tools will I use? What are my deliverables? One of the most challenging roles in the Information Technology industry is that of Projec...See More
-
Writing software is hard, particularly when the schedules keep programmers “nose to the grindstone”; every so often, it’s important to take a breather and look around the world and discover what we can find-ironically, what we find can often help us write software better.Philosophy doesn’t just question the imponderables about the universe; sometimes it shows us the limitations of our own, programming-trained mind, and leaves us to question the approaches we take in buil...See More
-
I’ve been working on a technical assessment of a system for a new client during the last few weeks. As I looked at line after line of the source code they gave me, I saw test-driven design (TDD), inversion of control (IOC), dependency injection (DI), and plenty of other TLAs (three letter acronyms). I saw “convention over configuration.” I saw layer upon layer of abstraction. There was more unit test code than code. Code coverage was very high. Marvelous! I can almost he...See More
-
Everything right or wrong with a software project is management’s fault.Either management staffed the right people or the wrong people. Management was absent or involved. Management is hard, and there are numerous factors that can cause success or failure of a project. In the best situation you have great people who do great work. A software manager can even succeed despite themselves if they happen to staff a top-notch team even though the managers, themselves, might no...See More
-
Nov/Dec 2008 MVP Corner by Juilia Lerman
-
Automate high-friction, unpredictable tasks in your environment to regain sanity and achieve a rapid, sustainable pace.Every environment has them: The dreaded manual tasks that drain productivity from the team and adds instability to the processes. We usually only dedicate half our brain power and never enough time to deal with them, which only compounds the problem. What if you could easily automate out the most painful tasks and gain a huge boost in productivity and speed of delivery?
-
Software development is a lot more than just writing lines of code.You need to think about project management, prototyping, database design, software architecture, framework usage and a whole host of other factors. In this article you will learn one approach to developing software applications from start to finish.This approach has been used successfully to develop hundreds of applications by a software development company that has been around since 1991.
-
Dino explains the business layer so that even a seven-year-old can understand.
-
Rod Paddock editorial Jan/Feb 2011
-
Software development is a collaborative process.This article is the second in a series focused on the tools and techniques developers use to effectively work in concert. This time, we look at a Web-based phenomenon, known generally as wiki, which has the potential to arm your distributed team with a fluid, open and low-noise forum for building and managing project artifacts as well as foster a collective knowledge and project continuity.