For Programmers: Free Programming Magazines  


Home > Archive > Software Engineering > October 2007 > framework: best approach









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author framework: best approach
Ojas

2007-10-14, 10:07 pm

I am debating whether or not to take a consulting project where I will
design a software framework for a major software company to use for
their projects.

Given I have not created a similar framework, and I am not an expert
at the domain, I have some reservations about whether or not to take
on this project.

I will not have the luxury to create three examples because they want
to see results within a few months, but internally there are dozens of
existing projects that will be expected to start using the new
framework.

I'm thinking this will be just a big interviewing process where I talk
to the architects and technical leads for each team, and then come up
with a design thru consensus.

Does anyone have any insight into the best way to do this? Are there
any tools that might help with the process? Any good books? papers?

Phlip

2007-10-14, 10:07 pm

Ojas wrote:

> I am debating whether or not to take a consulting project where I will
> design a software framework for a major software company to use for
> their projects.


Write three distinct sample projects, in conjunction with three different
user populations if at all possible.

Put another way, the definition of a framework should be a system that
supports at least three different software projects. Another word for this
is "Software Product Lines". The SEI has a totally massive project there so
look them up.

Next, I don't know what "consultant" means to you. To me it means improving
the odds that a team can do anything I do. Hence I don't "design" in
isolation from any team, I teach them to design and they do it.

> Given I have not created a similar framework, and I am not an expert
> at the domain, I have some reservations about whether or not to take
> on this project.


Write unit tests for every line of code. Write them in preference to
debugging - they tend to make development faster.

> I will not have the luxury to create three examples because they want
> to see results within a few months, but internally there are dozens of
> existing projects that will be expected to start using the new
> framework.


Good! Ask all those dozens of user populations what's their most important
need. Anything they agree on, you do it. Anything they disagree on, they do
it. Don't add any feature that only one population needs.

Then deliver those features early and often. Don't give them a long blackout
followed by mismatched features!

> I'm thinking this will be just a big interviewing process where I talk
> to the architects and technical leads for each team, and then come up
> with a design thru consensus.


Treat these people as your clients, and treat their requests as feature
requirements. Put a primordial framework online as early as possible, and
ensure each one of them starts using it. Even if it has only one feature.
And make sure they write unit tests for their user-code.

Practice "daily deployment". That means each time you improve the framework,
you hit one button. This runs all your tests, runs all your users' tests,
and pushes your code into a repository. The users will pull from the
repository, automatically, and keep working.

--
Phlip


H. S. Lahman

2007-10-15, 10:06 pm

Responding to Ojas...

> I am debating whether or not to take a consulting project where I will
> design a software framework for a major software company to use for
> their projects.


What kind of framework? A software backplane for application
interoperability a la Eclipse? A common process framework for software
development to ensure repeatable development processes a la CMM? A
framework for large and/or small scale software reuse? Selection of a
common suite of technologies and infrastructure tools to be used in
development?


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
info@pathfindermda.com for your copy.
Pathfinder is hiring:
http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH



Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2009 codecomments.com