Archive for the ‘Development Processes’ Category

Anatomy of a Software Development Role: Development Manager

Wednesday, December 3rd, 2008

The toolbox of the development manager is less about the kinds of “hand tools” that most other roles are intimate with. The development manager’s tools are more about “power tools” and “automated machinery” which the development manager leverages to transform the group. Here are some of the tools the development manager will use:

  • Methodologies - Development managers have their own methodologies for developing software. The ability to execute that methodology or their methodologies is a great tool. Some development managers may use existing methodologies derived from the Capabilities Maturity Model Integration (CMMI) framework created by The Software Engineering Institute (SEI) at Carnegie Mellon University in Pittsburg. The SEI web site at http://www.sei.cmu.edu/ has a wealth of information about the metrics for ensuring that the processes that are in place at an organization are effective.
  • Practices - Development managers need more than just broad methodologies they need a practical guide to understanding what does and doesn’t work in Software development. The Guide to the Software Engineering Body of Knowledge (SWEBOK) contains the high level overview of software development best practices and is freely available at http://www.swebok.org. The development manager can also use the guide as a tool to identify gaps in the team’s knowledge and develop strategies to fill those gaps.
  • Career Development Process - Development managers are responsible for developing the group. That means a firm understanding of how to develop people in the organization. The development manager may be familiar with one or more than a dozen approaches to developing the careers of the people that work for him (or her).
  • Scheduling Tools - The development manager is adept at scheduling multiple conflicting priorities and as a result is skilled in the use of a resource scheduling tool. Whether a simple Excel spreadsheet or a deployment of Microsoft Office Project Server 2003, the development manager knows how to ensure that resource management is well taken care of.

http://www.developer.com/img/articles/2005/03/22/Overview.gif

Anatomy of a Software Development Role: Development Manager

Emergent Design: Leveraging Agile Retrospectives to Evolve Your Architecture

Thursday, October 23rd, 2008

Technological debt is mistakenly thought of as a software problem, but when system design cannot change according to the needs of the business, it becomes a business problem. Just like financial debt, technological debt is a business liability - it affects the liquidity of the business.

Think of good design in a system as a line of credit: just as purchasing new equipment for the business without generating income creates a debt against the credit line, adding features to a system without improving its design is “borrowing” against the capabilities of the system. There can be good reason to do this; after all, credit is used to improve cash flow and solvency.

The danger is in thinking of this temporary loan as a permanent increase in funds. The debt must eventually be repaid. Failure to reduce the debt (improve the design) in favor of making new purchases (adding new features) eventually results in a large portion of effort going toward interest payments (patches and bug-fixes), and reduced buying power (ability to add new features).

Eventually, this can lead to a situation where all the effort is going toward interest payments (struggling to keep the system alive), and only trivial features can be added without major rework

.

wb0408-1

http://www.agilejournal.com/images/stories/articles2/wb0408-2.jpg
Agile Journal - Emergent Design: Leveraging Agile Retrospectives to Evolve Your Architecture

Tags: , , ,

Real Software Development Methodologies :-)

Wednesday, February 6th, 2008

The software industry might be the world’s greatest breeding ground for new systems of management. From Agile, to Extreme Programming , to Test Driven Development (TDD), the acronyms and frameworks keep piling up. Why?Some say it’s immaturity: that software is still a young industry and all the change is the path to some true fundamentals. Others say it’s because software people like making things up and can’t help themselves. Well I say this: if we’re going to have dozens of models we may as well have some that are honest, however cynical, to what’s really going on much of the time.

scottberkun.com » Asshole driven development

Blogged with Flock