Process

Articles

Approaching Parallel Development with Branch - Merge Strategies

Many times when managers first consider parallel development, it appears to be a very effective way to manage changes to concurrent streams of development. This is somewhat true if the project uses an SCM technology that allows for stable branching and establishes discreet project and maintenance branches. However, what is often forgotten is that while branching is a great way to separate code changes, at some point merging will have to occur. This article provides guidance for approaching and performing parallel development.

Mario  Moreira's picture Mario Moreira
Cases Against Applying Schedule Pressure

Do you think that by removing deadlines from a project a team will have enough time to create perfect software? Theoretically, it's possible, but in this column Mike Cohn explains that this theory might not hold against ingrained behavior. He recalls how several teams reacted when deadlines were lifted from the projects they were working on. Their only goal: to produce perfect software. But that goal inadvertently brought something to the surface, that old habits die hard.

Mike Cohn's picture Mike Cohn
How Much Work Can You Do—Developing and Managing Your Project Portfolio

Knowing how much work your group can accomplish—and how much it takes to complete that work—is critical to your success as a manager. Johanna Rothman explains how to ascertain your team's potential and how to use that information to define and manage your project portfolio so it doesn't manage you.

Johanna Rothman's picture Johanna Rothman
Take Time to Make Time

Scheduling a project can become a comedy of errors if you don't remember to plug in all the necessary pieces. In this week's column, Peter Clark takes us to a project kick-off meeting and shows us how to spot several common mistakes people make when creating project schedules.

Peter Clark's picture Peter Clark
Is the Grass Greener on the Other Side of the Fence?

We may be creatures of habit—adhering to and promoting processes we know well—but we also habitually look to other work environments that appear capable of nurturing our ideas once an old environment becomes depleted. Ed Weller believes that searching for greener pastures is unnecessary. You just need to learn how to cultivate your managers in order to create an environment that will harbor your ideas. Ed explains why you'll end up grazing fruitlessly if you can't plant your ideas with management.

Ed Weller's picture Ed Weller
Structure Marking

Structure marking is a programming technique that defends data against damage, especially from software bugs. It adds flags to data structures and checks them at each use to detect damaged data immediately.

Tom Van Vleck's picture Tom Van Vleck
Paving Cow Paths

In the IT world, "paving cow paths" means automating a business process as is, without thinking too much about whether or not that process is effective or efficient. Often business process automation initiatives require figuring out entirely new ways of doing business processes–impossible prior to automation (for example, work flow automation and digital image processing)–defining more effective and efficient process highways. In this week's column, Jim Highsmith warns that when we pave the cow paths and ignore the highways, we do a disservice to our customers.

Jim Highsmith's picture Jim Highsmith
Free Time is Not Free

Unpaid overtime has negative personal and business consequences. Although regarded as free time by many organizations, there is a true business cost to not estimating or counting overtime hours, whether paid or not. Ed Weller presents the argument that those who do not count free time in their planning and tracking will make poor decisions and often invest in the wrong projects.

Ed Weller's picture Ed Weller
Ping-Pong Programming: Enhance Your TDD and Pair Programming Practices

Team player Dave Hoover wants to share a software development practice he enjoys. It emerged from the practices of extreme programming as a competitive yet simultaneously collaborative practice. Dave has found that this practice promotes the flow of knowledge between software developers better than any other practice he has experienced. As you might have guessed from the title of this week's column, this practice is called ping-pong programming, or P3 for short.

Dave Hoover's picture Dave Hoover
Estimating Testing Time

Testers are always facing a time crunch. As part of a recent assessment, a senior manager asked, "How long should the testing really take? It takes our testers from four, five, six, to thirty (insert your number of choice here) weeks, and we need it to take less time. Why can't it take less time, and how can we tell what's going on so we know how much testing we need?" In this column, Johanna Rothman answers with a timeline. By estimating how many testing cycles will be needed, plus how long each will take, she can map out the entire testing process. From this viewpoint, she is able to pinpoint where the process can be streamlined thus reducing the time spent testing.

Johanna Rothman's picture Johanna Rothman

Pages

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!