I am dealing with a tough employment issue in which a supervisor - who is
not a developer - is insisting that I am incompetent as a basis for my
dismissal from a public entity (a California school district). Wondering if
you'd mind sharing any thoughts you might have as a basis for my argument?
There are no other developers in the midst who can substantiate what I have
to say vs. my supervisor.
I've been working professionally as a developer since 1993. I have advanced
experience with Visual Basic versions 3 through 6, Access versions 1.1 to
2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and 4.
I have consulted for the United States Navy, Bankamerica Mortgage,
Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
product developed in VB, called Acidizer. I am no longer marketing or even
distributing it, but there are still links for it all over the Web.
I began employment in my current situation on June 25, 2003. Prior to
starting, I interviewed with my supervisor in April, who told me then that
he had an Access application that he needed to rid himself of, and that
whichever new platform could be used wasn't important to him as long as it
was a Microsoft tool and worked successfully.
I learned immediately that this conversion project needed to take place by
August 1, 2003 - a mere five weeks. As it turned out, it was an Access
front end linked to a SQL Server database. It was shared on the local area
network by about twelve people. There were no written technical
specifications or user manual. The SQL Server database consisted of about
forty tables with foreign key relationships.
I proposed to rebuild the front end as an ASP.NET application, mainly to
reap in the benefits of a thin client. I sought to mirror the existing
design to lower the learning curve. The existing design consisted of one
form with a tab control containing several tab pages (maybe 8) and those
pages containing maybe 15 controls each, all data bound to ODBC linked
tables (this was not an Access ADP project) and a gaggle of slow-running
local queries. My liason for usability testing was a novice user in another
department who still, at this point, had a lot of trouble understanding
things like data relationships.
I made assurances to my supervisor to meet the deadline, sink or swim. I
set to meet my deadline by developing an ASP.NET object class to mirror
Access data binding. I developed ASP.NET containers and controls with the
same properties and functions as the Access object model. Subforms!!!
Figured out ways to make data binding and error reporting work with so many
controls and subforms in an ASP.NET page all at once.
I didn't make the deadline, despite working plenty of unpaid overtime. I
hadn't had much time to understand how the current application was used -
basically, the users were used to having eight full tabs of data available
to them at all times without any refreshing, and I couldn't incorporate this
into a web interface without lots of changes. About three weeks later, I
ended up just stabilizing the Access application (after all that) and it's
been purring ever since.
My questions, if you please:
1) Could this have been accomplished using any Microsoft development
platform in just five weeks, without me having any familiarity with the user
base, the data relationships on the back end, the idiosyncracies of the
front end; also short of testing, training, and user acceptance?
2) My supervisor's experience is in network technologies and not
development. He's a director, but has limited management training and no
exposure to the "developer community." What is the likelihood that he could
really understand the ramifications of converting (porting) a client-server
application?
3) My supervisor has offered that he could have re-built the entire
application -by himself - in Filemaker Pro over the course of a weekend.
Based on what you've read, what would be the likelihood of such, even for an
experienced developer?
4) Did I act in good faith, or would you say that I am incompetent?
If you choose to give your frank response, please share a name and telephone
number if that's okay. I just want to make sure that management knows that
there are real people connected to my evidence.
Thanks and best wishes. My hearing's on May 13, 2004.
Xavier Jefferson
Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.comOks, first of all, we can't (or atleast, I can't) say whether you acted in
good faith or not, nor whether you are incompetent or not. Only yourself and
your employer can judge that.
As for #1 and #2, if you did not do what you were paid to do (i.e. getting
rid of Access) then your employer has a right to complain.
As for re-building the entire app in FM Pro over the course of a weekend, if
he could have done that, would he really have needed to employ you? (not
saying he couldn't have, just suggesting that it's unlikely)
--
Regards
Steven Burn
Ur I.T. Mate Group
www.it-mate.co.uk
Keeping it FREE!
"Xavier Jefferson" <suggestion@.x2sw.com> wrote in message
news:eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl...
> Community,
> I am dealing with a tough employment issue in which a supervisor - who is
> not a developer - is insisting that I am incompetent as a basis for my
> dismissal from a public entity (a California school district). Wondering
if
> you'd mind sharing any thoughts you might have as a basis for my argument?
> There are no other developers in the midst who can substantiate what I
have
> to say vs. my supervisor.
> I've been working professionally as a developer since 1993. I have
advanced
> experience with Visual Basic versions 3 through 6, Access versions 1.1 to
> 2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and
4.
> I have consulted for the United States Navy, Bankamerica Mortgage,
> Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
> product developed in VB, called Acidizer. I am no longer marketing or
even
> distributing it, but there are still links for it all over the Web.
> I began employment in my current situation on June 25, 2003. Prior to
> starting, I interviewed with my supervisor in April, who told me then that
> he had an Access application that he needed to rid himself of, and that
> whichever new platform could be used wasn't important to him as long as it
> was a Microsoft tool and worked successfully.
> I learned immediately that this conversion project needed to take place by
> August 1, 2003 - a mere five weeks. As it turned out, it was an Access
> front end linked to a SQL Server database. It was shared on the local
area
> network by about twelve people. There were no written technical
> specifications or user manual. The SQL Server database consisted of about
> forty tables with foreign key relationships.
> I proposed to rebuild the front end as an ASP.NET application, mainly to
> reap in the benefits of a thin client. I sought to mirror the existing
> design to lower the learning curve. The existing design consisted of one
> form with a tab control containing several tab pages (maybe 8) and those
> pages containing maybe 15 controls each, all data bound to ODBC linked
> tables (this was not an Access ADP project) and a gaggle of slow-running
> local queries. My liason for usability testing was a novice user in
another
> department who still, at this point, had a lot of trouble understanding
> things like data relationships.
> I made assurances to my supervisor to meet the deadline, sink or swim. I
> set to meet my deadline by developing an ASP.NET object class to mirror
> Access data binding. I developed ASP.NET containers and controls with the
> same properties and functions as the Access object model. Subforms!!!
> Figured out ways to make data binding and error reporting work with so
many
> controls and subforms in an ASP.NET page all at once.
> I didn't make the deadline, despite working plenty of unpaid overtime. I
> hadn't had much time to understand how the current application was used -
> basically, the users were used to having eight full tabs of data available
> to them at all times without any refreshing, and I couldn't incorporate
this
> into a web interface without lots of changes. About three weeks later, I
> ended up just stabilizing the Access application (after all that) and it's
> been purring ever since.
> My questions, if you please:
> 1) Could this have been accomplished using any Microsoft development
> platform in just five weeks, without me having any familiarity with the
user
> base, the data relationships on the back end, the idiosyncracies of the
> front end; also short of testing, training, and user acceptance?
> 2) My supervisor's experience is in network technologies and not
> development. He's a director, but has limited management training and no
> exposure to the "developer community." What is the likelihood that he
could
> really understand the ramifications of converting (porting) a
client-server
> application?
> 3) My supervisor has offered that he could have re-built the entire
> application -by himself - in Filemaker Pro over the course of a weekend.
> Based on what you've read, what would be the likelihood of such, even for
an
> experienced developer?
> 4) Did I act in good faith, or would you say that I am incompetent?
> If you choose to give your frank response, please share a name and
telephone
> number if that's okay. I just want to make sure that management knows
that
> there are real people connected to my evidence.
> Thanks and best wishes. My hearing's on May 13, 2004.
>
> Xavier Jefferson
> Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
Well,
It sounds like you gave it the ole college try and without seeing the Access
database, I really can't answer your questions.
I do have a question however. A person your position must also run as the
project manager. Did you set the expectations? I think you were over
enthusiatic and didn't take the opportunity to really scope out the effort
to determine if it shoudl have taken 5 weeks. Also, it appears that you
were not truely familiar with what ASP.NET (Web applications in general) are
set up for and how they do what they do. This lead you down a few blind
alleys and ate time. I'm not saying you are incompetent because I've done
this many times myself early in my career. If you are wearing a project
manager hat, you must manage expectations.
I wish you luck. Wish I could see the actual database to answer your
questions and see a functionality sheet on what you needed to deliver based
on that database. Then I can make a real judgement as to whether you are
"compentent". I do think that your manager probably needs a reality check
though.
Al Manint, MCSD (VB5, VB6), MCSD.NET (C#), MCDBA
"Xavier Jefferson" <suggestion@.x2sw.com> wrote in message
news:eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl...
> Community,
> I am dealing with a tough employment issue in which a supervisor - who is
> not a developer - is insisting that I am incompetent as a basis for my
> dismissal from a public entity (a California school district). Wondering
if
> you'd mind sharing any thoughts you might have as a basis for my argument?
> There are no other developers in the midst who can substantiate what I
have
> to say vs. my supervisor.
> I've been working professionally as a developer since 1993. I have
advanced
> experience with Visual Basic versions 3 through 6, Access versions 1.1 to
> 2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and
4.
> I have consulted for the United States Navy, Bankamerica Mortgage,
> Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
> product developed in VB, called Acidizer. I am no longer marketing or
even
> distributing it, but there are still links for it all over the Web.
> I began employment in my current situation on June 25, 2003. Prior to
> starting, I interviewed with my supervisor in April, who told me then that
> he had an Access application that he needed to rid himself of, and that
> whichever new platform could be used wasn't important to him as long as it
> was a Microsoft tool and worked successfully.
> I learned immediately that this conversion project needed to take place by
> August 1, 2003 - a mere five weeks. As it turned out, it was an Access
> front end linked to a SQL Server database. It was shared on the local
area
> network by about twelve people. There were no written technical
> specifications or user manual. The SQL Server database consisted of about
> forty tables with foreign key relationships.
> I proposed to rebuild the front end as an ASP.NET application, mainly to
> reap in the benefits of a thin client. I sought to mirror the existing
> design to lower the learning curve. The existing design consisted of one
> form with a tab control containing several tab pages (maybe 8) and those
> pages containing maybe 15 controls each, all data bound to ODBC linked
> tables (this was not an Access ADP project) and a gaggle of slow-running
> local queries. My liason for usability testing was a novice user in
another
> department who still, at this point, had a lot of trouble understanding
> things like data relationships.
> I made assurances to my supervisor to meet the deadline, sink or swim. I
> set to meet my deadline by developing an ASP.NET object class to mirror
> Access data binding. I developed ASP.NET containers and controls with the
> same properties and functions as the Access object model. Subforms!!!
> Figured out ways to make data binding and error reporting work with so
many
> controls and subforms in an ASP.NET page all at once.
> I didn't make the deadline, despite working plenty of unpaid overtime. I
> hadn't had much time to understand how the current application was used -
> basically, the users were used to having eight full tabs of data available
> to them at all times without any refreshing, and I couldn't incorporate
this
> into a web interface without lots of changes. About three weeks later, I
> ended up just stabilizing the Access application (after all that) and it's
> been purring ever since.
> My questions, if you please:
> 1) Could this have been accomplished using any Microsoft development
> platform in just five weeks, without me having any familiarity with the
user
> base, the data relationships on the back end, the idiosyncracies of the
> front end; also short of testing, training, and user acceptance?
> 2) My supervisor's experience is in network technologies and not
> development. He's a director, but has limited management training and no
> exposure to the "developer community." What is the likelihood that he
could
> really understand the ramifications of converting (porting) a
client-server
> application?
> 3) My supervisor has offered that he could have re-built the entire
> application -by himself - in Filemaker Pro over the course of a weekend.
> Based on what you've read, what would be the likelihood of such, even for
an
> experienced developer?
> 4) Did I act in good faith, or would you say that I am incompetent?
> If you choose to give your frank response, please share a name and
telephone
> number if that's okay. I just want to make sure that management knows
that
> there are real people connected to my evidence.
> Thanks and best wishes. My hearing's on May 13, 2004.
>
> Xavier Jefferson
> Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
Xavier,
I will tackle your questions in order, followed by my general thoughts:
> 1) Could this have been accomplished using any Microsoft development
> platform in just five weeks, without me having any familiarity with the
user
> base, the data relationships on the back end, the idiosyncracies of the
> front end; also short of testing, training, and user acceptance?
The answer to the question (accomplish x, y, and z in 5 weeks?) is not
knowable. As an experienced developer, I can say from my own projects as
well as projects I have participated in as a team member that it is
literally impossible to say with certainty how long *any* project will take.
Development is necessarily a cyclical process in which requirements are
defined and then implemented; then the requirements are further clarified,
and then re-implemented. Put another way, development is a *process of
discovery* for both the developer(s) and the user(s). Frequently the users
say "I need X and Y". And you as a developer say, "sure - 5 weeks, no
problem". Then as you implement X and Y, you make discoveries about what X
and Y really are or what it takes to make them happen - and go back to the
user for further clarification. Often times the user will respond something
like "oh, yes, of course - it's not Y that I need, it's Z. Well at that
point, your origina ("5 weeks - sure") response is no longer valid because
you're now dealing with the need to implement X and Z - or X, Y and X, or X
and some combination of Y and Z. You get the idea. The requirements evolved
as a result of both the developer and/or the users discovering (1) what is
really needed, or (2) what it actually takes to implement the original
requirements. This abstracted scenario can be seen in real-life projects all
the time. It is the norm. The exception is the project for which the
requirements are (1) prefectly understood by the user/requester, (2)
perfectly communicated to the developer, and (3) implemented perfectly by
the developer - after which the user (4) accepts the project as it is, with
no additional requirements. I've never seen or heard of this happening in
over 10 years of consulting for dozens of large and small companies, the US
government, and non profits.
Additionally, even on an apparently trivial "mini requirement" (forget an
entire project) it is difficult to predict with certainty how long it will
take to implement. Take, for example the requirement to "Add one new column
to an existing table in an MS Access mdb database". The knee-jerk response
is "10 minutes max" - including time to locate the mdb file on the network,
open it up, open the table in design view, add the column, specify the
column name, data type, and close the mdb file). Well, what if your table
has 254 columns in it already. Adding the additional column is not possible.
Suddenly your 10-minute "mini requirement" just got really big, as you'll
have to now (1) create a 2nd table (2) add any necessary key columns to the
new 2nd table, (3) possibly move some columns from the orignial first table
over to the new table in order to make room for new key columns in the first
table so that you can join the two tables together logically (and
physically). Then because you've had to reorganize the table structures,
you've just broken all the queries that referenced the original table, and
you'd have to rebuild all of those, and on and on it goes. You get the
point. Even for a "mini requirement" it can sometimes legitimately take far
longer than originally estimated. Note that this scenario says nothing about
the competence of the developer who is doing the work. The developer could
be the best in the world, and the mini-requirement could still take far
longer than initially estimated.
There are a number of ligitimate reasons why a project may take longer than
estimated. An incompetent developer is one of the more unlikely reasons.
Imperfectly understood and/or communicated requirements are the most common
reason (at least from my observations and experience).
I suspect that the original 5-week estimate in your situation was a pretty
good guess givent the facts *as they were presented to you*. Then, as you
got into the project, the facts were discovered to be something more complex
than originally presented to you.
Are you to blame for any of this? Perhaps you could have sought further
clarification - but even if you sought it, was anyone there who could really
present you with the clarification you needed? If not, then you were the
only one in the entire world who could possible discover the true state of
the system and the requriements.
Is your manager to blame for any of this? Perhaps he could have presented
the facts as they really were to you. If he did not, then your 5-week
estimate had no chance of being accurate (beyond good luck - which you
cannot count on). If he did not present the facts as they really were, then
we need to under why: perhaps he was not in a position to know; perhaps he
did know but did not tell you the complete picture; in any case, the problem
is a lack of clarity. In either case, it is not fair (nor accurate) to
simply blame the programmer for being incompetent when a deadline is not met
(even if it is overshot by a long time).
> 2) My supervisor's experience is in network technologies and not
> development. He's a director, but has limited management training and no
> exposure to the "developer community." What is the likelihood that he
could
> really understand the ramifications of converting (porting) a
client-server
> application?
The likelihood is "minimal". Unless you've been there, you cannot possibly
know what it really takes. You can THINK you know - but unless you've
actually done it, you don't really know.
You, as a legitimate developer, who has been immersed in the "developer
community" for some time have a better idea - but even then, you are dealing
with a unique system, with unique issues. So, even you are not in a position
to really know what it takes until you jump in and actually get into the
system. As someone who has been involved in the development scene, you are
(or should be) well aware that it would not be a trivial undertaking. The
manager would be in less of a position than you. His lack of expertise or
experience *as a developer* means that his expectations may be unrealistic
(because he has little or no familiarity with what it takes).
Many network engineers I have worked with over the past 10 years (and there
have been dozens) all believe that they understand the development game even
though they have never written code (or have only written trivial code or
played with File Maker Pro). This "hobbyist experience" provides them with
the *illusion* that they actually know how to write code and develop. Not
true. Only after undertaning a substantial project would someone even begin
to gain an understanding of what it takes to be a developer and what it
takes to complete non trivial projects - such as your porting project.
> 3) My supervisor has offered that he could have re-built the entire
> application -by himself - in Filemaker Pro over the course of a weekend.
> Based on what you've read, what would be the likelihood of such, even for
an
> experienced developer?
His claim is the kind of naive and arrogant commentary we'd expect from
someone who doesn't know what it actually takes to complete a non trivial
development project. Second, even if it was true that he could have done it
in a weekend - then why did he bother to hire a developer? If it were truly
the trivial undertaking he is making it out to be, then there would be no
need to hire someone for it. His arrogant comments serve to raise more
questions: If File Maker were the platform of choice, then why did he ask
you to do it in something else? All this calls into question his competence
as a manager (hiring someone to do something so trivial that could have been
done over a weekend... and asking the developer to use a different platform
than the claimed "faster/RAD File Maker").
> 4) Did I act in good faith, or would you say that I am incompetent?
Given what I know about your situation from your original post, and having
dealt with and observed similar situations; and given the fact that you
apparently care about this so much as to pursue it with your peers in the
development community, I suspect that you not only acted in good faith in
your initial estimate and other dealings with this manager, but I'd also
suspect that you are the *kind of person* who acts in good faith in general.
Are you incompetent? I doubt it. Does every developer (including you and me)
have room to grow in terms of technical proficience? You bet. There's always
more to know - and no one can know it all.
So, it's not a question of competence/incompetence - it's a question of
intent given the facts + how clear the facts were presented + how knowable
the facts were, and by whom, etc...
An incompetent programmer cannot get the job done - or requires constant
supervision and assistance to get anything done. Another hallmark of what
I'd call an incompetent programmer is someone who builds solutions that are
not maintainable or unnecessarily difficult to understand or have
unnecessarily poor runtime performance.
A good programmer can be easily made to appear incompetent when the
requirements are changed. It's like saying a sharp-shooter is incompetent
when the target is constantly being moved. Imagine a high-jumper at the
olympics going for the world record. If the bar were to be moved as the
jumper was running toward it or in the act of jumping, then he'd land on his
rear and appear to be incompetent. How about a Pinata example: We all think
it's funny to blind-fold someone, give them a stick, and then ask them to
hit a hanging box full of candy that is being constantly moved. We laugh and
laugh and laugh. But we don't say that the blind-folded person swinging at
the moving box is incompetent when they don't hit the target.
Can a case be made that the manager is incompetent? I think so.
First, he hired someone for a project that he, himself claims to believe
could have been done over a weekend.
Second, he claims that the project could have been completed much faster
using one product (File Maker) than the one he actually requested you use
("anything on the Microsoft Platform").
Third, he is attempting to diffuse responsibility for something of which he
is an integral part. He definitely has a significant role in the fact that
the project was not completed when expected (I believe he is the one who set
the unrealistic expectation; if he did not actually set the deadline, he did
not apparently work to manage the expectations of those who did have the
unrealistic expectation).
Fourth - he apparently changed requirements mid-stream; the ASP.NET
front-end wasn't going to happen by the deadline, so switch back to patching
the Access front end.
Can a case be made that no one here is incompetent? Sure
Like presented above, the development process is a process of discovery for
both parties (the business users and the developers). As discovery proceeds,
initial estimates must be revised.
Should you be fired because (1) requirements changed; (2) he didn't have
complete and accurate information upon which to base his initial estimates;
(3) was doomed from the start with an unrealistic deadline; (4) he
obviously does not have a supporting manager?
This is like asking if a blind-folded child should be punished for not
hitting a swinging Pinata. Rediculous.
Good Luck
Jeff Schaefer
MCSD, MCDBA, MCSA, MCSE
Jeff,
I am in total awe of your response.
Debbie
"Jeff Schaefer" <nospam@.nospam.com> wrote in message
news:%23cKzwK6MEHA.3972@.TK2MSFTNGP10.phx.gbl...
Xavier,
I will tackle your questions in order, followed by my general thoughts:
> 1) Could this have been accomplished using any Microsoft development
> platform in just five weeks, without me having any familiarity with the
user
> base, the data relationships on the back end, the idiosyncracies of the
> front end; also short of testing, training, and user acceptance?
The answer to the question (accomplish x, y, and z in 5 weeks?) is not
knowable. As an experienced developer, I can say from my own projects as
well as projects I have participated in as a team member that it is
literally impossible to say with certainty how long *any* project will take.
Development is necessarily a cyclical process in which requirements are
defined and then implemented; then the requirements are further clarified,
and then re-implemented. Put another way, development is a *process of
discovery* for both the developer(s) and the user(s). Frequently the users
say "I need X and Y". And you as a developer say, "sure - 5 weeks, no
problem". Then as you implement X and Y, you make discoveries about what X
and Y really are or what it takes to make them happen - and go back to the
user for further clarification. Often times the user will respond something
like "oh, yes, of course - it's not Y that I need, it's Z. Well at that
point, your origina ("5 weeks - sure") response is no longer valid because
you're now dealing with the need to implement X and Z - or X, Y and X, or X
and some combination of Y and Z. You get the idea. The requirements evolved
as a result of both the developer and/or the users discovering (1) what is
really needed, or (2) what it actually takes to implement the original
requirements. This abstracted scenario can be seen in real-life projects all
the time. It is the norm. The exception is the project for which the
requirements are (1) prefectly understood by the user/requester, (2)
perfectly communicated to the developer, and (3) implemented perfectly by
the developer - after which the user (4) accepts the project as it is, with
no additional requirements. I've never seen or heard of this happening in
over 10 years of consulting for dozens of large and small companies, the US
government, and non profits.
Additionally, even on an apparently trivial "mini requirement" (forget an
entire project) it is difficult to predict with certainty how long it will
take to implement. Take, for example the requirement to "Add one new column
to an existing table in an MS Access mdb database". The knee-jerk response
is "10 minutes max" - including time to locate the mdb file on the network,
open it up, open the table in design view, add the column, specify the
column name, data type, and close the mdb file). Well, what if your table
has 254 columns in it already. Adding the additional column is not possible.
Suddenly your 10-minute "mini requirement" just got really big, as you'll
have to now (1) create a 2nd table (2) add any necessary key columns to the
new 2nd table, (3) possibly move some columns from the orignial first table
over to the new table in order to make room for new key columns in the first
table so that you can join the two tables together logically (and
physically). Then because you've had to reorganize the table structures,
you've just broken all the queries that referenced the original table, and
you'd have to rebuild all of those, and on and on it goes. You get the
point. Even for a "mini requirement" it can sometimes legitimately take far
longer than originally estimated. Note that this scenario says nothing about
the competence of the developer who is doing the work. The developer could
be the best in the world, and the mini-requirement could still take far
longer than initially estimated.
There are a number of ligitimate reasons why a project may take longer than
estimated. An incompetent developer is one of the more unlikely reasons.
Imperfectly understood and/or communicated requirements are the most common
reason (at least from my observations and experience).
I suspect that the original 5-week estimate in your situation was a pretty
good guess givent the facts *as they were presented to you*. Then, as you
got into the project, the facts were discovered to be something more complex
than originally presented to you.
Are you to blame for any of this? Perhaps you could have sought further
clarification - but even if you sought it, was anyone there who could really
present you with the clarification you needed? If not, then you were the
only one in the entire world who could possible discover the true state of
the system and the requriements.
Is your manager to blame for any of this? Perhaps he could have presented
the facts as they really were to you. If he did not, then your 5-week
estimate had no chance of being accurate (beyond good luck - which you
cannot count on). If he did not present the facts as they really were, then
we need to under why: perhaps he was not in a position to know; perhaps he
did know but did not tell you the complete picture; in any case, the problem
is a lack of clarity. In either case, it is not fair (nor accurate) to
simply blame the programmer for being incompetent when a deadline is not met
(even if it is overshot by a long time).
> 2) My supervisor's experience is in network technologies and not
> development. He's a director, but has limited management training and no
> exposure to the "developer community." What is the likelihood that he
could
> really understand the ramifications of converting (porting) a
client-server
> application?
The likelihood is "minimal". Unless you've been there, you cannot possibly
know what it really takes. You can THINK you know - but unless you've
actually done it, you don't really know.
You, as a legitimate developer, who has been immersed in the "developer
community" for some time have a better idea - but even then, you are dealing
with a unique system, with unique issues. So, even you are not in a position
to really know what it takes until you jump in and actually get into the
system. As someone who has been involved in the development scene, you are
(or should be) well aware that it would not be a trivial undertaking. The
manager would be in less of a position than you. His lack of expertise or
experience *as a developer* means that his expectations may be unrealistic
(because he has little or no familiarity with what it takes).
Many network engineers I have worked with over the past 10 years (and there
have been dozens) all believe that they understand the development game even
though they have never written code (or have only written trivial code or
played with File Maker Pro). This "hobbyist experience" provides them with
the *illusion* that they actually know how to write code and develop. Not
true. Only after undertaning a substantial project would someone even begin
to gain an understanding of what it takes to be a developer and what it
takes to complete non trivial projects - such as your porting project.
> 3) My supervisor has offered that he could have re-built the entire
> application -by himself - in Filemaker Pro over the course of a weekend.
> Based on what you've read, what would be the likelihood of such, even for
an
> experienced developer?
His claim is the kind of naive and arrogant commentary we'd expect from
someone who doesn't know what it actually takes to complete a non trivial
development project. Second, even if it was true that he could have done it
in a weekend - then why did he bother to hire a developer? If it were truly
the trivial undertaking he is making it out to be, then there would be no
need to hire someone for it. His arrogant comments serve to raise more
questions: If File Maker were the platform of choice, then why did he ask
you to do it in something else? All this calls into question his competence
as a manager (hiring someone to do something so trivial that could have been
done over a weekend... and asking the developer to use a different platform
than the claimed "faster/RAD File Maker").
> 4) Did I act in good faith, or would you say that I am incompetent?
Given what I know about your situation from your original post, and having
dealt with and observed similar situations; and given the fact that you
apparently care about this so much as to pursue it with your peers in the
development community, I suspect that you not only acted in good faith in
your initial estimate and other dealings with this manager, but I'd also
suspect that you are the *kind of person* who acts in good faith in general.
Are you incompetent? I doubt it. Does every developer (including you and me)
have room to grow in terms of technical proficience? You bet. There's always
more to know - and no one can know it all.
So, it's not a question of competence/incompetence - it's a question of
intent given the facts + how clear the facts were presented + how knowable
the facts were, and by whom, etc...
An incompetent programmer cannot get the job done - or requires constant
supervision and assistance to get anything done. Another hallmark of what
I'd call an incompetent programmer is someone who builds solutions that are
not maintainable or unnecessarily difficult to understand or have
unnecessarily poor runtime performance.
A good programmer can be easily made to appear incompetent when the
requirements are changed. It's like saying a sharp-shooter is incompetent
when the target is constantly being moved. Imagine a high-jumper at the
olympics going for the world record. If the bar were to be moved as the
jumper was running toward it or in the act of jumping, then he'd land on his
rear and appear to be incompetent. How about a Pinata example: We all think
it's funny to blind-fold someone, give them a stick, and then ask them to
hit a hanging box full of candy that is being constantly moved. We laugh and
laugh and laugh. But we don't say that the blind-folded person swinging at
the moving box is incompetent when they don't hit the target.
Can a case be made that the manager is incompetent? I think so.
First, he hired someone for a project that he, himself claims to believe
could have been done over a weekend.
Second, he claims that the project could have been completed much faster
using one product (File Maker) than the one he actually requested you use
("anything on the Microsoft Platform").
Third, he is attempting to diffuse responsibility for something of which he
is an integral part. He definitely has a significant role in the fact that
the project was not completed when expected (I believe he is the one who set
the unrealistic expectation; if he did not actually set the deadline, he did
not apparently work to manage the expectations of those who did have the
unrealistic expectation).
Fourth - he apparently changed requirements mid-stream; the ASP.NET
front-end wasn't going to happen by the deadline, so switch back to patching
the Access front end.
Can a case be made that no one here is incompetent? Sure
Like presented above, the development process is a process of discovery for
both parties (the business users and the developers). As discovery proceeds,
initial estimates must be revised.
Should you be fired because (1) requirements changed; (2) he didn't have
complete and accurate information upon which to base his initial estimates;
(3) was doomed from the start with an unrealistic deadline; (4) he
obviously does not have a supporting manager?
This is like asking if a blind-folded child should be punished for not
hitting a swinging Pinata. Rediculous.
Good Luck
Jeff Schaefer
MCSD, MCDBA, MCSA, MCSE
No sh!t. I often do that sort of thing myself and while I sincerely
appreciate those that do for me and others I still wonder why I
and others take so much time doing so via NNTP which I
absolutely consider to be Satan's spawn.
The next thing I findi disturbing is the way some boob will come
along and change the subject ;-)
--
<%= Clinton Gallagher
A/E/C Consulting, Web Design, e-Commerce Software Development
Wauwatosa, Milwaukee County, Wisconsin USA
NET csgallagher@.REMOVETHISTEXTmetromilwaukee.com
URL http://www.metromilwaukee.com/clintongallagher/
"DebbieG" <debbieg@.accessus-REMOVE-THIS-.net> wrote in message
news:ekfWvn6MEHA.1312@.TK2MSFTNGP12.phx.gbl...
> Jeff,
> I am in total awe of your response.
> Debbie
> "Jeff Schaefer" <nospam@.nospam.com> wrote in message
> news:%23cKzwK6MEHA.3972@.TK2MSFTNGP10.phx.gbl...
> Xavier,
> I will tackle your questions in order, followed by my general
thoughts:
> > 1) Could this have been accomplished using any Microsoft development
> > platform in just five weeks, without me having any familiarity with
the
> user
> > base, the data relationships on the back end, the idiosyncracies of
the
> > front end; also short of testing, training, and user acceptance?
> The answer to the question (accomplish x, y, and z in 5 weeks?) is
not
> knowable. As an experienced developer, I can say from my own projects
as
> well as projects I have participated in as a team member that it is
> literally impossible to say with certainty how long *any* project will
take.
> Development is necessarily a cyclical process in which requirements
are
> defined and then implemented; then the requirements are further
clarified,
> and then re-implemented. Put another way, development is a *process of
> discovery* for both the developer(s) and the user(s). Frequently the
users
> say "I need X and Y". And you as a developer say, "sure - 5 weeks, no
> problem". Then as you implement X and Y, you make discoveries about
what X
> and Y really are or what it takes to make them happen - and go back to
the
> user for further clarification. Often times the user will respond
something
> like "oh, yes, of course - it's not Y that I need, it's Z. Well at
that
> point, your origina ("5 weeks - sure") response is no longer valid
because
> you're now dealing with the need to implement X and Z - or X, Y and X,
or X
> and some combination of Y and Z. You get the idea. The requirements
evolved
> as a result of both the developer and/or the users discovering (1)
what is
> really needed, or (2) what it actually takes to implement the original
> requirements. This abstracted scenario can be seen in real-life
projects all
> the time. It is the norm. The exception is the project for which the
> requirements are (1) prefectly understood by the user/requester, (2)
> perfectly communicated to the developer, and (3) implemented perfectly
by
> the developer - after which the user (4) accepts the project as it is,
with
> no additional requirements. I've never seen or heard of this happening
in
> over 10 years of consulting for dozens of large and small companies,
the US
> government, and non profits.
> Additionally, even on an apparently trivial "mini requirement" (forget
an
> entire project) it is difficult to predict with certainty how long it
will
> take to implement. Take, for example the requirement to "Add one new
column
> to an existing table in an MS Access mdb database". The knee-jerk
response
> is "10 minutes max" - including time to locate the mdb file on the
network,
> open it up, open the table in design view, add the column, specify the
> column name, data type, and close the mdb file). Well, what if your
table
> has 254 columns in it already. Adding the additional column is not
possible.
> Suddenly your 10-minute "mini requirement" just got really big, as
you'll
> have to now (1) create a 2nd table (2) add any necessary key columns
to the
> new 2nd table, (3) possibly move some columns from the orignial first
table
> over to the new table in order to make room for new key columns in the
first
> table so that you can join the two tables together logically (and
> physically). Then because you've had to reorganize the table
structures,
> you've just broken all the queries that referenced the original table,
and
> you'd have to rebuild all of those, and on and on it goes. You get the
> point. Even for a "mini requirement" it can sometimes legitimately
take far
> longer than originally estimated. Note that this scenario says nothing
about
> the competence of the developer who is doing the work. The developer
could
> be the best in the world, and the mini-requirement could still take
far
> longer than initially estimated.
> There are a number of ligitimate reasons why a project may take longer
than
> estimated. An incompetent developer is one of the more unlikely
reasons.
> Imperfectly understood and/or communicated requirements are the most
common
> reason (at least from my observations and experience).
> I suspect that the original 5-week estimate in your situation was a
pretty
> good guess givent the facts *as they were presented to you*. Then, as
you
> got into the project, the facts were discovered to be something more
complex
> than originally presented to you.
> Are you to blame for any of this? Perhaps you could have sought
further
> clarification - but even if you sought it, was anyone there who could
really
> present you with the clarification you needed? If not, then you were
the
> only one in the entire world who could possible discover the true
state of
> the system and the requriements.
> Is your manager to blame for any of this? Perhaps he could have
presented
> the facts as they really were to you. If he did not, then your 5-week
> estimate had no chance of being accurate (beyond good luck - which you
> cannot count on). If he did not present the facts as they really were,
then
> we need to under why: perhaps he was not in a position to know;
perhaps he
> did know but did not tell you the complete picture; in any case, the
problem
> is a lack of clarity. In either case, it is not fair (nor accurate) to
> simply blame the programmer for being incompetent when a deadline is
not met
> (even if it is overshot by a long time).
>
> > 2) My supervisor's experience is in network technologies and not
> > development. He's a director, but has limited management training
and no
> > exposure to the "developer community." What is the likelihood that
he
> could
> > really understand the ramifications of converting (porting) a
> client-server
> > application?
> The likelihood is "minimal". Unless you've been there, you cannot
possibly
> know what it really takes. You can THINK you know - but unless you've
> actually done it, you don't really know.
> You, as a legitimate developer, who has been immersed in the
"developer
> community" for some time have a better idea - but even then, you are
dealing
> with a unique system, with unique issues. So, even you are not in a
position
> to really know what it takes until you jump in and actually get into
the
> system. As someone who has been involved in the development scene, you
are
> (or should be) well aware that it would not be a trivial undertaking.
The
> manager would be in less of a position than you. His lack of expertise
or
> experience *as a developer* means that his expectations may be
unrealistic
> (because he has little or no familiarity with what it takes).
> Many network engineers I have worked with over the past 10 years (and
there
> have been dozens) all believe that they understand the development
game even
> though they have never written code (or have only written trivial code
or
> played with File Maker Pro). This "hobbyist experience" provides them
with
> the *illusion* that they actually know how to write code and develop.
Not
> true. Only after undertaning a substantial project would someone even
begin
> to gain an understanding of what it takes to be a developer and what
it
> takes to complete non trivial projects - such as your porting project.
> > 3) My supervisor has offered that he could have re-built the entire
> > application -by himself - in Filemaker Pro over the course of a
weekend.
> > Based on what you've read, what would be the likelihood of such,
even for
> an
> > experienced developer?
> His claim is the kind of naive and arrogant commentary we'd expect
from
> someone who doesn't know what it actually takes to complete a non
trivial
> development project. Second, even if it was true that he could have
done it
> in a weekend - then why did he bother to hire a developer? If it were
truly
> the trivial undertaking he is making it out to be, then there would be
no
> need to hire someone for it. His arrogant comments serve to raise more
> questions: If File Maker were the platform of choice, then why did he
ask
> you to do it in something else? All this calls into question his
competence
> as a manager (hiring someone to do something so trivial that could
have been
> done over a weekend... and asking the developer to use a different
platform
> than the claimed "faster/RAD File Maker").
> > 4) Did I act in good faith, or would you say that I am incompetent?
> Given what I know about your situation from your original post, and
having
> dealt with and observed similar situations; and given the fact that
you
> apparently care about this so much as to pursue it with your peers in
the
> development community, I suspect that you not only acted in good faith
in
> your initial estimate and other dealings with this manager, but I'd
also
> suspect that you are the *kind of person* who acts in good faith in
general.
> Are you incompetent? I doubt it. Does every developer (including you
and me)
> have room to grow in terms of technical proficience? You bet. There's
always
> more to know - and no one can know it all.
> So, it's not a question of competence/incompetence - it's a question
of
> intent given the facts + how clear the facts were presented + how
knowable
> the facts were, and by whom, etc...
> An incompetent programmer cannot get the job done - or requires
constant
> supervision and assistance to get anything done. Another hallmark of
what
> I'd call an incompetent programmer is someone who builds solutions
that are
> not maintainable or unnecessarily difficult to understand or have
> unnecessarily poor runtime performance.
> A good programmer can be easily made to appear incompetent when the
> requirements are changed. It's like saying a sharp-shooter is
incompetent
> when the target is constantly being moved. Imagine a high-jumper at
the
> olympics going for the world record. If the bar were to be moved as
the
> jumper was running toward it or in the act of jumping, then he'd land
on his
> rear and appear to be incompetent. How about a Pinata example: We all
think
> it's funny to blind-fold someone, give them a stick, and then ask them
to
> hit a hanging box full of candy that is being constantly moved. We
laugh and
> laugh and laugh. But we don't say that the blind-folded person
swinging at
> the moving box is incompetent when they don't hit the target.
> Can a case be made that the manager is incompetent? I think so.
> First, he hired someone for a project that he, himself claims to
believe
> could have been done over a weekend.
> Second, he claims that the project could have been completed much
faster
> using one product (File Maker) than the one he actually requested you
use
> ("anything on the Microsoft Platform").
> Third, he is attempting to diffuse responsibility for something of
which he
> is an integral part. He definitely has a significant role in the fact
that
> the project was not completed when expected (I believe he is the one
who set
> the unrealistic expectation; if he did not actually set the deadline,
he did
> not apparently work to manage the expectations of those who did have
the
> unrealistic expectation).
> Fourth - he apparently changed requirements mid-stream; the ASP.NET
> front-end wasn't going to happen by the deadline, so switch back to
patching
> the Access front end.
> Can a case be made that no one here is incompetent? Sure
> Like presented above, the development process is a process of
discovery for
> both parties (the business users and the developers). As discovery
proceeds,
> initial estimates must be revised.
> Should you be fired because (1) requirements changed; (2) he didn't
have
> complete and accurate information upon which to base his initial
estimates;
> (3) was doomed from the start with an unrealistic deadline; (4) he
> obviously does not have a supporting manager?
> This is like asking if a blind-folded child should be punished for not
> hitting a swinging Pinata. Rediculous.
> Good Luck
> Jeff Schaefer
> MCSD, MCDBA, MCSA, MCSE
I think Jeff makes a number of valid points. Project estimation is a tough job--just as estimating any job is tough. What makes it harder is not having all of the facts as Jeff points out. However, when I work with customers, I provide a "mentoring" service where I come in an study the problem for several days before any promises are made. This fixed-fee and fixed-time service is akin to a doctor doing a full physical and specific tests before providing a diagnosis or treatment regimen. An important part of this process is getting to know the people that will use the program. They can provide valuable insight as to what it's supposed to do as opposed to how it's described to you by a manager with an agenda. Politics often play an important role in how a system works and observing who is pulling the strings can help. Sometimes the manager wants to farm out the solution to his problems only to prove to his/her manager that it's too hard to do. I also look over the shoulder of the users for a few hours and quietly take notes. I follow that with interviews that focus on some of the issues noted during the day. This step would have told you that the ASP approach would not be appropriate. Getting into the database also helps. This will tell you if it needs a tune-up or CPR. All too often we've seen databases built by what I call "paradevelopers" (Microsoft calls these "hobbyists") with little (or no) technical training.
Are you incompetent? That's not for me to say. I don't have any evidence except what you told us. Inexperienced? Yes, to some extent but like many new developers you may tend to implement what you're most comfortable with. When you go to a chiropractor with a headache he'll tend to suggest a "manipulation". If you take the same complaint to a neurologist, he'll make plans to buy that condo in Florida.
I walk away from many mentoring jobs saying, I'm not the right person to solve this problem. I do, however, refer them to someone better equipped to deal with their problem. Knowing when to commit to a project, a timeline, a price and a specicification that lays out the ground rules is the key. Remember, those things that don't kill you make you stronger. You'll do better next time.
Good luck.
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Jeff Schaefer" <nospam@.nospam.com> wrote in message news:%23cKzwK6MEHA.3972@.TK2MSFTNGP10.phx.gbl...
> Xavier,
>
> I will tackle your questions in order, followed by my general thoughts:
>
> > 1) Could this have been accomplished using any Microsoft development
> > platform in just five weeks, without me having any familiarity with the
> user
> > base, the data relationships on the back end, the idiosyncracies of the
> > front end; also short of testing, training, and user acceptance?
>
> The answer to the question (accomplish x, y, and z in 5 weeks?) is not
> knowable. As an experienced developer, I can say from my own projects as
> well as projects I have participated in as a team member that it is
> literally impossible to say with certainty how long *any* project will take.
> Development is necessarily a cyclical process in which requirements are
> defined and then implemented; then the requirements are further clarified,
> and then re-implemented. Put another way, development is a *process of
> discovery* for both the developer(s) and the user(s). Frequently the users
> say "I need X and Y". And you as a developer say, "sure - 5 weeks, no
> problem". Then as you implement X and Y, you make discoveries about what X
> and Y really are or what it takes to make them happen - and go back to the
> user for further clarification. Often times the user will respond something
> like "oh, yes, of course - it's not Y that I need, it's Z. Well at that
> point, your origina ("5 weeks - sure") response is no longer valid because
> you're now dealing with the need to implement X and Z - or X, Y and X, or X
> and some combination of Y and Z. You get the idea. The requirements evolved
> as a result of both the developer and/or the users discovering (1) what is
> really needed, or (2) what it actually takes to implement the original
> requirements. This abstracted scenario can be seen in real-life projects all
> the time. It is the norm. The exception is the project for which the
> requirements are (1) prefectly understood by the user/requester, (2)
> perfectly communicated to the developer, and (3) implemented perfectly by
> the developer - after which the user (4) accepts the project as it is, with
> no additional requirements. I've never seen or heard of this happening in
> over 10 years of consulting for dozens of large and small companies, the US
> government, and non profits.
>
> Additionally, even on an apparently trivial "mini requirement" (forget an
> entire project) it is difficult to predict with certainty how long it will
> take to implement. Take, for example the requirement to "Add one new column
> to an existing table in an MS Access mdb database". The knee-jerk response
> is "10 minutes max" - including time to locate the mdb file on the network,
> open it up, open the table in design view, add the column, specify the
> column name, data type, and close the mdb file). Well, what if your table
> has 254 columns in it already. Adding the additional column is not possible.
> Suddenly your 10-minute "mini requirement" just got really big, as you'll
> have to now (1) create a 2nd table (2) add any necessary key columns to the
> new 2nd table, (3) possibly move some columns from the orignial first table
> over to the new table in order to make room for new key columns in the first
> table so that you can join the two tables together logically (and
> physically). Then because you've had to reorganize the table structures,
> you've just broken all the queries that referenced the original table, and
> you'd have to rebuild all of those, and on and on it goes. You get the
> point. Even for a "mini requirement" it can sometimes legitimately take far
> longer than originally estimated. Note that this scenario says nothing about
> the competence of the developer who is doing the work. The developer could
> be the best in the world, and the mini-requirement could still take far
> longer than initially estimated.
>
> There are a number of ligitimate reasons why a project may take longer than
> estimated. An incompetent developer is one of the more unlikely reasons.
> Imperfectly understood and/or communicated requirements are the most common
> reason (at least from my observations and experience).
>
> I suspect that the original 5-week estimate in your situation was a pretty
> good guess givent the facts *as they were presented to you*. Then, as you
> got into the project, the facts were discovered to be something more complex
> than originally presented to you.
>
> Are you to blame for any of this? Perhaps you could have sought further
> clarification - but even if you sought it, was anyone there who could really
> present you with the clarification you needed? If not, then you were the
> only one in the entire world who could possible discover the true state of
> the system and the requriements.
>
> Is your manager to blame for any of this? Perhaps he could have presented
> the facts as they really were to you. If he did not, then your 5-week
> estimate had no chance of being accurate (beyond good luck - which you
> cannot count on). If he did not present the facts as they really were, then
> we need to under why: perhaps he was not in a position to know; perhaps he
> did know but did not tell you the complete picture; in any case, the problem
> is a lack of clarity. In either case, it is not fair (nor accurate) to
> simply blame the programmer for being incompetent when a deadline is not met
> (even if it is overshot by a long time).
>
>
> > 2) My supervisor's experience is in network technologies and not
> > development. He's a director, but has limited management training and no
> > exposure to the "developer community." What is the likelihood that he
> could
> > really understand the ramifications of converting (porting) a
> client-server
> > application?
>
> The likelihood is "minimal". Unless you've been there, you cannot possibly
> know what it really takes. You can THINK you know - but unless you've
> actually done it, you don't really know.
>
> You, as a legitimate developer, who has been immersed in the "developer
> community" for some time have a better idea - but even then, you are dealing
> with a unique system, with unique issues. So, even you are not in a position
> to really know what it takes until you jump in and actually get into the
> system. As someone who has been involved in the development scene, you are
> (or should be) well aware that it would not be a trivial undertaking. The
> manager would be in less of a position than you. His lack of expertise or
> experience *as a developer* means that his expectations may be unrealistic
> (because he has little or no familiarity with what it takes).
>
> Many network engineers I have worked with over the past 10 years (and there
> have been dozens) all believe that they understand the development game even
> though they have never written code (or have only written trivial code or
> played with File Maker Pro). This "hobbyist experience" provides them with
> the *illusion* that they actually know how to write code and develop. Not
> true. Only after undertaning a substantial project would someone even begin
> to gain an understanding of what it takes to be a developer and what it
> takes to complete non trivial projects - such as your porting project.
>
> > 3) My supervisor has offered that he could have re-built the entire
> > application -by himself - in Filemaker Pro over the course of a weekend.
> > Based on what you've read, what would be the likelihood of such, even for
> an
> > experienced developer?
>
> His claim is the kind of naive and arrogant commentary we'd expect from
> someone who doesn't know what it actually takes to complete a non trivial
> development project. Second, even if it was true that he could have done it
> in a weekend - then why did he bother to hire a developer? If it were truly
> the trivial undertaking he is making it out to be, then there would be no
> need to hire someone for it. His arrogant comments serve to raise more
> questions: If File Maker were the platform of choice, then why did he ask
> you to do it in something else? All this calls into question his competence
> as a manager (hiring someone to do something so trivial that could have been
> done over a weekend... and asking the developer to use a different platform
> than the claimed "faster/RAD File Maker").
>
> > 4) Did I act in good faith, or would you say that I am incompetent?
> Given what I know about your situation from your original post, and having
> dealt with and observed similar situations; and given the fact that you
> apparently care about this so much as to pursue it with your peers in the
> development community, I suspect that you not only acted in good faith in
> your initial estimate and other dealings with this manager, but I'd also
> suspect that you are the *kind of person* who acts in good faith in general.
> Are you incompetent? I doubt it. Does every developer (including you and me)
> have room to grow in terms of technical proficience? You bet. There's always
> more to know - and no one can know it all.
>
> So, it's not a question of competence/incompetence - it's a question of
> intent given the facts + how clear the facts were presented + how knowable
> the facts were, and by whom, etc...
>
> An incompetent programmer cannot get the job done - or requires constant
> supervision and assistance to get anything done. Another hallmark of what
> I'd call an incompetent programmer is someone who builds solutions that are
> not maintainable or unnecessarily difficult to understand or have
> unnecessarily poor runtime performance.
>
> A good programmer can be easily made to appear incompetent when the
> requirements are changed. It's like saying a sharp-shooter is incompetent
> when the target is constantly being moved. Imagine a high-jumper at the
> olympics going for the world record. If the bar were to be moved as the
> jumper was running toward it or in the act of jumping, then he'd land on his
> rear and appear to be incompetent. How about a Pinata example: We all think
> it's funny to blind-fold someone, give them a stick, and then ask them to
> hit a hanging box full of candy that is being constantly moved. We laugh and
> laugh and laugh. But we don't say that the blind-folded person swinging at
> the moving box is incompetent when they don't hit the target.
>
> Can a case be made that the manager is incompetent? I think so.
>
> First, he hired someone for a project that he, himself claims to believe
> could have been done over a weekend.
>
> Second, he claims that the project could have been completed much faster
> using one product (File Maker) than the one he actually requested you use
> ("anything on the Microsoft Platform").
>
> Third, he is attempting to diffuse responsibility for something of which he
> is an integral part. He definitely has a significant role in the fact that
> the project was not completed when expected (I believe he is the one who set
> the unrealistic expectation; if he did not actually set the deadline, he did
> not apparently work to manage the expectations of those who did have the
> unrealistic expectation).
>
> Fourth - he apparently changed requirements mid-stream; the ASP.NET
> front-end wasn't going to happen by the deadline, so switch back to patching
> the Access front end.
>
> Can a case be made that no one here is incompetent? Sure
> Like presented above, the development process is a process of discovery for
> both parties (the business users and the developers). As discovery proceeds,
> initial estimates must be revised.
>
> Should you be fired because (1) requirements changed; (2) he didn't have
> complete and accurate information upon which to base his initial estimates;
> (3) was doomed from the start with an unrealistic deadline; (4) he
> obviously does not have a supporting manager?
>
> This is like asking if a blind-folded child should be punished for not
> hitting a swinging Pinata. Rediculous.
>
> Good Luck
>
> Jeff Schaefer
> MCSD, MCDBA, MCSA, MCSE
>
While it sounds like you had good intentions, my overall feeling is that you
did not do what you were employed to do (get rid of Access). Working long
hours without extra pay is admirable, but if it does not lead to the
ultimate objective, then it is working hard, not working smart.
As a manager I constantly have to explain to people that all the good
intentions in the world do not matter if the end result is not met. Also,
if I am told something will be done in a specified amount of time and it
does not happen, the project is a failure. I expect my folks to give me
realistic timelines and set goals that are attainable.
One last point, you are trying to argue whether or not you are competent.
The simple fact is that your supervisor's perception (right or wrong) is
that you are not. This is not a good working situation. You should cut
your losses and find a place where your talents will be appreciated.
Good luck in your future endeavors.
Rick B
"Xavier Jefferson" <suggestion@.x2sw.com> wrote in message
news:eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl...
Community,
I am dealing with a tough employment issue in which a supervisor - who is
not a developer - is insisting that I am incompetent as a basis for my
dismissal from a public entity (a California school district). Wondering if
you'd mind sharing any thoughts you might have as a basis for my argument?
There are no other developers in the midst who can substantiate what I have
to say vs. my supervisor.
I've been working professionally as a developer since 1993. I have advanced
experience with Visual Basic versions 3 through 6, Access versions 1.1 to
2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and 4.
I have consulted for the United States Navy, Bankamerica Mortgage,
Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
product developed in VB, called Acidizer. I am no longer marketing or even
distributing it, but there are still links for it all over the Web.
I began employment in my current situation on June 25, 2003. Prior to
starting, I interviewed with my supervisor in April, who told me then that
he had an Access application that he needed to rid himself of, and that
whichever new platform could be used wasn't important to him as long as it
was a Microsoft tool and worked successfully.
I learned immediately that this conversion project needed to take place by
August 1, 2003 - a mere five weeks. As it turned out, it was an Access
front end linked to a SQL Server database. It was shared on the local area
network by about twelve people. There were no written technical
specifications or user manual. The SQL Server database consisted of about
forty tables with foreign key relationships.
I proposed to rebuild the front end as an ASP.NET application, mainly to
reap in the benefits of a thin client. I sought to mirror the existing
design to lower the learning curve. The existing design consisted of one
form with a tab control containing several tab pages (maybe 8) and those
pages containing maybe 15 controls each, all data bound to ODBC linked
tables (this was not an Access ADP project) and a gaggle of slow-running
local queries. My liason for usability testing was a novice user in another
department who still, at this point, had a lot of trouble understanding
things like data relationships.
I made assurances to my supervisor to meet the deadline, sink or swim. I
set to meet my deadline by developing an ASP.NET object class to mirror
Access data binding. I developed ASP.NET containers and controls with the
same properties and functions as the Access object model. Subforms!!!
Figured out ways to make data binding and error reporting work with so many
controls and subforms in an ASP.NET page all at once.
I didn't make the deadline, despite working plenty of unpaid overtime. I
hadn't had much time to understand how the current application was used -
basically, the users were used to having eight full tabs of data available
to them at all times without any refreshing, and I couldn't incorporate this
into a web interface without lots of changes. About three weeks later, I
ended up just stabilizing the Access application (after all that) and it's
been purring ever since.
My questions, if you please:
1) Could this have been accomplished using any Microsoft development
platform in just five weeks, without me having any familiarity with the user
base, the data relationships on the back end, the idiosyncracies of the
front end; also short of testing, training, and user acceptance?
2) My supervisor's experience is in network technologies and not
development. He's a director, but has limited management training and no
exposure to the "developer community." What is the likelihood that he could
really understand the ramifications of converting (porting) a client-server
application?
3) My supervisor has offered that he could have re-built the entire
application -by himself - in Filemaker Pro over the course of a weekend.
Based on what you've read, what would be the likelihood of such, even for an
experienced developer?
4) Did I act in good faith, or would you say that I am incompetent?
If you choose to give your frank response, please share a name and telephone
number if that's okay. I just want to make sure that management knows that
there are real people connected to my evidence.
Thanks and best wishes. My hearing's on May 13, 2004.
Xavier Jefferson
Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
xyz hires you to-do something they have a picture of in their mind. If you
have probe enough to know they don't know what they are talking about, then
you must propose a time to evaluate the project, before committing to it.
If you don't get this walk away.
The manager, in his mind hired you to accomplish one thing. Get rid of the
access. If you did not accomplish this you have not met the requirements.
You could have mediate this by reporting in the first week you finding of
your evaluation, which is necessary to plan the project. Then you and he
could have worked out how to accomplish his goal.
Basically the manger is complaining you made him look bad, and your the
scape goat.
"Xavier Jefferson" <suggestion@.x2sw.com> wrote in message
news:eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl...
> Community,
> I am dealing with a tough employment issue in which a supervisor - who is
> not a developer - is insisting that I am incompetent as a basis for my
> dismissal from a public entity (a California school district). Wondering
if
> you'd mind sharing any thoughts you might have as a basis for my argument?
> There are no other developers in the midst who can substantiate what I
have
> to say vs. my supervisor.
> I've been working professionally as a developer since 1993. I have
advanced
> experience with Visual Basic versions 3 through 6, Access versions 1.1 to
> 2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and
4.
> I have consulted for the United States Navy, Bankamerica Mortgage,
> Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
> product developed in VB, called Acidizer. I am no longer marketing or
even
> distributing it, but there are still links for it all over the Web.
> I began employment in my current situation on June 25, 2003. Prior to
> starting, I interviewed with my supervisor in April, who told me then that
> he had an Access application that he needed to rid himself of, and that
> whichever new platform could be used wasn't important to him as long as it
> was a Microsoft tool and worked successfully.
> I learned immediately that this conversion project needed to take place by
> August 1, 2003 - a mere five weeks. As it turned out, it was an Access
> front end linked to a SQL Server database. It was shared on the local
area
> network by about twelve people. There were no written technical
> specifications or user manual. The SQL Server database consisted of about
> forty tables with foreign key relationships.
> I proposed to rebuild the front end as an ASP.NET application, mainly to
> reap in the benefits of a thin client. I sought to mirror the existing
> design to lower the learning curve. The existing design consisted of one
> form with a tab control containing several tab pages (maybe 8) and those
> pages containing maybe 15 controls each, all data bound to ODBC linked
> tables (this was not an Access ADP project) and a gaggle of slow-running
> local queries. My liason for usability testing was a novice user in
another
> department who still, at this point, had a lot of trouble understanding
> things like data relationships.
> I made assurances to my supervisor to meet the deadline, sink or swim. I
> set to meet my deadline by developing an ASP.NET object class to mirror
> Access data binding. I developed ASP.NET containers and controls with the
> same properties and functions as the Access object model. Subforms!!!
> Figured out ways to make data binding and error reporting work with so
many
> controls and subforms in an ASP.NET page all at once.
> I didn't make the deadline, despite working plenty of unpaid overtime. I
> hadn't had much time to understand how the current application was used -
> basically, the users were used to having eight full tabs of data available
> to them at all times without any refreshing, and I couldn't incorporate
this
> into a web interface without lots of changes. About three weeks later, I
> ended up just stabilizing the Access application (after all that) and it's
> been purring ever since.
> My questions, if you please:
> 1) Could this have been accomplished using any Microsoft development
> platform in just five weeks, without me having any familiarity with the
user
> base, the data relationships on the back end, the idiosyncracies of the
> front end; also short of testing, training, and user acceptance?
> 2) My supervisor's experience is in network technologies and not
> development. He's a director, but has limited management training and no
> exposure to the "developer community." What is the likelihood that he
could
> really understand the ramifications of converting (porting) a
client-server
> application?
> 3) My supervisor has offered that he could have re-built the entire
> application -by himself - in Filemaker Pro over the course of a weekend.
> Based on what you've read, what would be the likelihood of such, even for
an
> experienced developer?
> 4) Did I act in good faith, or would you say that I am incompetent?
> If you choose to give your frank response, please share a name and
telephone
> number if that's okay. I just want to make sure that management knows
that
> there are real people connected to my evidence.
> Thanks and best wishes. My hearing's on May 13, 2004.
>
> Xavier Jefferson
> Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
Xavier,
In light of your boss's instructions to you to use "a Microsoft
tool" and his express desire to get "rid" of the Access
application, his bringing in FileMaker Pro's putative RAD
capabilities and his own skills with that tool as evidence of your
alleged incompetence is both irrelevant and unfair. FileMaker is
not a Microsoft tool. And what are the Microsoft counterparts to
FileMaker Pro? Access and FoxPro.
Where you seem to me to have miscalculated, is in thinking you
could successfully convert in only 5 man-weeks (plus whatever
overtime your were willing to work) a project of the described
scope: 8 tabbed pages containing ~15 controls each, bound to a 40-
table SQL Server database via undocumented client-side queries,
where the original application apparently had bugs or was not
functioning as expected. It could be that some of those queries
were flawed and would require investigation. Was there any client-
side enforcement of business rules? Was the server enforcing the
referential integrity?
Perhaps you would have had a slighly greater chance of timely
success by converting the thing to Access ADP. That would have let
you focus on the logic of the app without having to spend so much
time on the custom databinding classes and presentation layer. But
to begin to judge the situation really requires that we know if
your boss wanted to get rid of Access entirely, or simply wanted
to get rid of the problems arising from the original two-tiered
client-side implementation, whatever those problems were.
However, it's quite evident to me, from your description of the
situation, that you are not an incompetent developer. If there is
incompetency to be found in this situation, it is in the arbitrary
deadline of 5 man-weeks to fix a broken application of this scope.
Regards
Timo
P.S. I've been developing multi-user database applications since
1985 (shared CPU mainframe with dumb terminals, DOS shared-file
networked apps, networked Access.MDB apps, Access ADP against SQL
Server, VB 2-tier and 3-tier client-server apps against Oracle and
SQL Server, and most recently .NET WinForms and ASP.NET. Also
earning today only about 35% of what I earned throughout the
1990s.
In article <eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl>,
suggestion@.x2sw.com writes...
>Community,
>I am dealing with a tough employment issue in which a supervisor - who is
>not a developer - is insisting that I am incompetent as a basis for my
>dismissal from a public entity (a California school district). Wondering if
>you'd mind sharing any thoughts you might have as a basis for my argument?
>There are no other developers in the midst who can substantiate what I have
>to say vs. my supervisor.
>I've been working professionally as a developer since 1993. I have advanced
>experience with Visual Basic versions 3 through 6, Access versions 1.1 to
>2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and 4.
>I have consulted for the United States Navy, Bankamerica Mortgage,
>Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
>product developed in VB, called Acidizer. I am no longer marketing or even
>distributing it, but there are still links for it all over the Web.
>I began employment in my current situation on June 25, 2003. Prior to
>starting, I interviewed with my supervisor in April, who told me then that
>he had an Access application that he needed to rid himself of, and that
>whichever new platform could be used wasn't important to him as long as it
>was a Microsoft tool and worked successfully.
>I learned immediately that this conversion project needed to take place by
>August 1, 2003 - a mere five weeks. As it turned out, it was an Access
>front end linked to a SQL Server database. It was shared on the local area
>network by about twelve people. There were no written technical
>specifications or user manual. The SQL Server database consisted of about
>forty tables with foreign key relationships.
>I proposed to rebuild the front end as an ASP.NET application, mainly to
>reap in the benefits of a thin client. I sought to mirror the existing
>design to lower the learning curve. The existing design consisted of one
>form with a tab control containing several tab pages (maybe 8) and those
>pages containing maybe 15 controls each, all data bound to ODBC linked
>tables (this was not an Access ADP project) and a gaggle of slow-running
>local queries. My liason for usability testing was a novice user in another
>department who still, at this point, had a lot of trouble understanding
>things like data relationships.
>I made assurances to my supervisor to meet the deadline, sink or swim. I
>set to meet my deadline by developing an ASP.NET object class to mirror
>Access data binding. I developed ASP.NET containers and controls with the
>same properties and functions as the Access object model. Subforms!!!
>Figured out ways to make data binding and error reporting work with so many
>controls and subforms in an ASP.NET page all at once.
>I didn't make the deadline, despite working plenty of unpaid overtime. I
>hadn't had much time to understand how the current application was used -
>basically, the users were used to having eight full tabs of data available
>to them at all times without any refreshing, and I couldn't incorporate this
>into a web interface without lots of changes. About three weeks later, I
>ended up just stabilizing the Access application (after all that) and it's
>been purring ever since.
>My questions, if you please:
>1) Could this have been accomplished using any Microsoft development
>platform in just five weeks, without me having any familiarity with the user
>base, the data relationships on the back end, the idiosyncracies of the
>front end; also short of testing, training, and user acceptance?
>2) My supervisor's experience is in network technologies and not
>development. He's a director, but has limited management training and no
>exposure to the "developer community." What is the likelihood that he could
>really understand the ramifications of converting (porting) a client-server
>application?
>3) My supervisor has offered that he could have re-built the entire
>application -by himself - in Filemaker Pro over the course of a weekend.
>Based on what you've read, what would be the likelihood of such, even for an
>experienced developer?
>4) Did I act in good faith, or would you say that I am incompetent?
>If you choose to give your frank response, please share a name and telephone
>number if that's okay. I just want to make sure that management knows that
>there are real people connected to my evidence.
>Thanks and best wishes. My hearing's on May 13, 2004.
>
>Xavier Jefferson
>Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
>
I am looking to augment manpower for SQL 7 server and ADP. only Stored
procedure used in ADP.
We will eventually be converting to
postgresql and Java interface.
email me if you interested.
"Timo" <timo@.noneofyer.biz> wrote in message
news:MPG.1b069282f18a94d19896f4@.msnews.microsoft.c om...
> Xavier,
> In light of your boss's instructions to you to use "a Microsoft
> tool" and his express desire to get "rid" of the Access
> application, his bringing in FileMaker Pro's putative RAD
> capabilities and his own skills with that tool as evidence of your
> alleged incompetence is both irrelevant and unfair. FileMaker is
> not a Microsoft tool. And what are the Microsoft counterparts to
> FileMaker Pro? Access and FoxPro.
> Where you seem to me to have miscalculated, is in thinking you
> could successfully convert in only 5 man-weeks (plus whatever
> overtime your were willing to work) a project of the described
> scope: 8 tabbed pages containing ~15 controls each, bound to a 40-
> table SQL Server database via undocumented client-side queries,
> where the original application apparently had bugs or was not
> functioning as expected. It could be that some of those queries
> were flawed and would require investigation. Was there any client-
> side enforcement of business rules? Was the server enforcing the
> referential integrity?
> Perhaps you would have had a slighly greater chance of timely
> success by converting the thing to Access ADP. That would have let
> you focus on the logic of the app without having to spend so much
> time on the custom databinding classes and presentation layer. But
> to begin to judge the situation really requires that we know if
> your boss wanted to get rid of Access entirely, or simply wanted
> to get rid of the problems arising from the original two-tiered
> client-side implementation, whatever those problems were.
> However, it's quite evident to me, from your description of the
> situation, that you are not an incompetent developer. If there is
> incompetency to be found in this situation, it is in the arbitrary
> deadline of 5 man-weeks to fix a broken application of this scope.
> Regards
> Timo
> P.S. I've been developing multi-user database applications since
> 1985 (shared CPU mainframe with dumb terminals, DOS shared-file
> networked apps, networked Access.MDB apps, Access ADP against SQL
> Server, VB 2-tier and 3-tier client-server apps against Oracle and
> SQL Server, and most recently .NET WinForms and ASP.NET. Also
> earning today only about 35% of what I earned throughout the
> 1990s.
> In article <eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl>,
> suggestion@.x2sw.com writes...
> >Community,
> >I am dealing with a tough employment issue in which a supervisor - who is
> >not a developer - is insisting that I am incompetent as a basis for my
> >dismissal from a public entity (a California school district). Wondering
if
> >you'd mind sharing any thoughts you might have as a basis for my
argument?
> >There are no other developers in the midst who can substantiate what I
have
> >to say vs. my supervisor.
> >I've been working professionally as a developer since 1993. I have
advanced
> >experience with Visual Basic versions 3 through 6, Access versions 1.1 to
> >2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and
4.
> >I have consulted for the United States Navy, Bankamerica Mortgage,
> >Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
> >product developed in VB, called Acidizer. I am no longer marketing or
even
> >distributing it, but there are still links for it all over the Web.
> >I began employment in my current situation on June 25, 2003. Prior to
> >starting, I interviewed with my supervisor in April, who told me then
that
> >he had an Access application that he needed to rid himself of, and that
> >whichever new platform could be used wasn't important to him as long as
it
> >was a Microsoft tool and worked successfully.
> >I learned immediately that this conversion project needed to take place
by
> >August 1, 2003 - a mere five weeks. As it turned out, it was an Access
> >front end linked to a SQL Server database. It was shared on the local
area
> >network by about twelve people. There were no written technical
> >specifications or user manual. The SQL Server database consisted of
about
> >forty tables with foreign key relationships.
> >I proposed to rebuild the front end as an ASP.NET application, mainly to
> >reap in the benefits of a thin client. I sought to mirror the existing
> >design to lower the learning curve. The existing design consisted of one
> >form with a tab control containing several tab pages (maybe 8) and those
> >pages containing maybe 15 controls each, all data bound to ODBC linked
> >tables (this was not an Access ADP project) and a gaggle of slow-running
> >local queries. My liason for usability testing was a novice user in
another
> >department who still, at this point, had a lot of trouble understanding
> >things like data relationships.
> >I made assurances to my supervisor to meet the deadline, sink or swim. I
> >set to meet my deadline by developing an ASP.NET object class to mirror
> >Access data binding. I developed ASP.NET containers and controls with
the
> >same properties and functions as the Access object model. Subforms!!!
> >Figured out ways to make data binding and error reporting work with so
many
> >controls and subforms in an ASP.NET page all at once.
> >I didn't make the deadline, despite working plenty of unpaid overtime. I
> >hadn't had much time to understand how the current application was used -
> >basically, the users were used to having eight full tabs of data
available
> >to them at all times without any refreshing, and I couldn't incorporate
this
> >into a web interface without lots of changes. About three weeks later, I
> >ended up just stabilizing the Access application (after all that) and
it's
> >been purring ever since.
> >My questions, if you please:
> >1) Could this have been accomplished using any Microsoft development
> >platform in just five weeks, without me having any familiarity with the
user
> >base, the data relationships on the back end, the idiosyncracies of the
> >front end; also short of testing, training, and user acceptance?
> >2) My supervisor's experience is in network technologies and not
> >development. He's a director, but has limited management training and no
> >exposure to the "developer community." What is the likelihood that he
could
> >really understand the ramifications of converting (porting) a
client-server
> >application?
> >3) My supervisor has offered that he could have re-built the entire
> >application -by himself - in Filemaker Pro over the course of a weekend.
> >Based on what you've read, what would be the likelihood of such, even for
an
> >experienced developer?
> >4) Did I act in good faith, or would you say that I am incompetent?
> >If you choose to give your frank response, please share a name and
telephone
> >number if that's okay. I just want to make sure that management knows
that
> >there are real people connected to my evidence.
> >Thanks and best wishes. My hearing's on May 13, 2004.
> >Xavier Jefferson
> >Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
Your only "incompetence" was in making assurances that you could meet the
deadline, "sink or swim" -- particularly since there were so many unknown
variables. I have made that mistake myself in the past.
Another mistake was trying to develop in new technologies in order to
increase the functionality that the client would gain in the long run. I
have made that mistake also. In your case, it was shooting craps with all
your assests on the pass line. If you could have pulled it off, you would've
looked like a guru -- failing, you look like an incompetent. Management
never sees the myriad issues involved in even a "simple" project and your
performance is usually only noted in its absence -- and then its REALLY
noted.
Man is fundamentally an optimist -- it is this trait that developers have to
strongly resist when presented with such challenges and asked, "how long"?
In your case, I would build a defense around your over-optimism and the
unknown issues that sprang to life. I hope you documented your work.
"Xavier Jefferson" <suggestion@.x2sw.com> wrote in message
news:eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl...
> Community,
> I am dealing with a tough employment issue in which a supervisor - who is
> not a developer - is insisting that I am incompetent as a basis for my
> dismissal from a public entity (a California school district). Wondering
if
> you'd mind sharing any thoughts you might have as a basis for my argument?
> There are no other developers in the midst who can substantiate what I
have
> to say vs. my supervisor.
> I've been working professionally as a developer since 1993. I have
advanced
> experience with Visual Basic versions 3 through 6, Access versions 1.1 to
> 2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and
4.
> I have consulted for the United States Navy, Bankamerica Mortgage,
> Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
> product developed in VB, called Acidizer. I am no longer marketing or
even
> distributing it, but there are still links for it all over the Web.
> I began employment in my current situation on June 25, 2003. Prior to
> starting, I interviewed with my supervisor in April, who told me then that
> he had an Access application that he needed to rid himself of, and that
> whichever new platform could be used wasn't important to him as long as it
> was a Microsoft tool and worked successfully.
> I learned immediately that this conversion project needed to take place by
> August 1, 2003 - a mere five weeks. As it turned out, it was an Access
> front end linked to a SQL Server database. It was shared on the local
area
> network by about twelve people. There were no written technical
> specifications or user manual. The SQL Server database consisted of about
> forty tables with foreign key relationships.
> I proposed to rebuild the front end as an ASP.NET application, mainly to
> reap in the benefits of a thin client. I sought to mirror the existing
> design to lower the learning curve. The existing design consisted of one
> form with a tab control containing several tab pages (maybe 8) and those
> pages containing maybe 15 controls each, all data bound to ODBC linked
> tables (this was not an Access ADP project) and a gaggle of slow-running
> local queries. My liason for usability testing was a novice user in
another
> department who still, at this point, had a lot of trouble understanding
> things like data relationships.
> I made assurances to my supervisor to meet the deadline, sink or swim. I
> set to meet my deadline by developing an ASP.NET object class to mirror
> Access data binding. I developed ASP.NET containers and controls with the
> same properties and functions as the Access object model. Subforms!!!
> Figured out ways to make data binding and error reporting work with so
many
> controls and subforms in an ASP.NET page all at once.
> I didn't make the deadline, despite working plenty of unpaid overtime. I
> hadn't had much time to understand how the current application was used -
> basically, the users were used to having eight full tabs of data available
> to them at all times without any refreshing, and I couldn't incorporate
this
> into a web interface without lots of changes. About three weeks later, I
> ended up just stabilizing the Access application (after all that) and it's
> been purring ever since.
> My questions, if you please:
> 1) Could this have been accomplished using any Microsoft development
> platform in just five weeks, without me having any familiarity with the
user
> base, the data relationships on the back end, the idiosyncracies of the
> front end; also short of testing, training, and user acceptance?
> 2) My supervisor's experience is in network technologies and not
> development. He's a director, but has limited management training and no
> exposure to the "developer community." What is the likelihood that he
could
> really understand the ramifications of converting (porting) a
client-server
> application?
> 3) My supervisor has offered that he could have re-built the entire
> application -by himself - in Filemaker Pro over the course of a weekend.
> Based on what you've read, what would be the likelihood of such, even for
an
> experienced developer?
> 4) Did I act in good faith, or would you say that I am incompetent?
> If you choose to give your frank response, please share a name and
telephone
> number if that's okay. I just want to make sure that management knows
that
> there are real people connected to my evidence.
> Thanks and best wishes. My hearing's on May 13, 2004.
>
> Xavier Jefferson
> Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
I saw a lot of good suggestions, etc. here. Just wanted to throw in my
observations. The trap I believe you fell into was when the manager, rather
than saying "here is the problem - fix it" tried to offer the solution,
i.e., "get rid of Access". Which is why you wasted time on a .NET
"solution", when in the end it appeared that Access was not the problem,
after all. Whenever I am approached by someone saying to me "this is what
you need to do" I immediately respond by saying "what's the problem?" Then,
I come up with my own solution, which may or may not be the same as the
requester proposed. After all, *you* are the professional developer, the one
who is paid to come up with the solutions. If the manager was *really*
capable of solving the problem, he would have done so.
That being said, from your post it appears that you are both intelligent and
articulate, therefore *probably* not incompetent. Also, I am quite certain
that the manager could *not* have recreated the app in a single weekend! Not
even in FileMaker Pro... ;-)
"Xavier Jefferson" <suggestion@.x2sw.com> wrote in message
news:eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl...
> Community,
> I am dealing with a tough employment issue in which a supervisor - who is
> not a developer - is insisting that I am incompetent as a basis for my
> dismissal from a public entity (a California school district). Wondering
if
> you'd mind sharing any thoughts you might have as a basis for my argument?
> There are no other developers in the midst who can substantiate what I
have
> to say vs. my supervisor.
> I've been working professionally as a developer since 1993. I have
advanced
> experience with Visual Basic versions 3 through 6, Access versions 1.1 to
> 2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3 and
4.
> I have consulted for the United States Navy, Bankamerica Mortgage,
> Neutrogena, express.com, SunAmerica. In 2000 I even marketed a shareware
> product developed in VB, called Acidizer. I am no longer marketing or
even
> distributing it, but there are still links for it all over the Web.
> I began employment in my current situation on June 25, 2003. Prior to
> starting, I interviewed with my supervisor in April, who told me then that
> he had an Access application that he needed to rid himself of, and that
> whichever new platform could be used wasn't important to him as long as it
> was a Microsoft tool and worked successfully.
> I learned immediately that this conversion project needed to take place by
> August 1, 2003 - a mere five weeks. As it turned out, it was an Access
> front end linked to a SQL Server database. It was shared on the local
area
> network by about twelve people. There were no written technical
> specifications or user manual. The SQL Server database consisted of about
> forty tables with foreign key relationships.
> I proposed to rebuild the front end as an ASP.NET application, mainly to
> reap in the benefits of a thin client. I sought to mirror the existing
> design to lower the learning curve. The existing design consisted of one
> form with a tab control containing several tab pages (maybe 8) and those
> pages containing maybe 15 controls each, all data bound to ODBC linked
> tables (this was not an Access ADP project) and a gaggle of slow-running
> local queries. My liason for usability testing was a novice user in
another
> department who still, at this point, had a lot of trouble understanding
> things like data relationships.
> I made assurances to my supervisor to meet the deadline, sink or swim. I
> set to meet my deadline by developing an ASP.NET object class to mirror
> Access data binding. I developed ASP.NET containers and controls with the
> same properties and functions as the Access object model. Subforms!!!
> Figured out ways to make data binding and error reporting work with so
many
> controls and subforms in an ASP.NET page all at once.
> I didn't make the deadline, despite working plenty of unpaid overtime. I
> hadn't had much time to understand how the current application was used -
> basically, the users were used to having eight full tabs of data available
> to them at all times without any refreshing, and I couldn't incorporate
this
> into a web interface without lots of changes. About three weeks later, I
> ended up just stabilizing the Access application (after all that) and it's
> been purring ever since.
> My questions, if you please:
> 1) Could this have been accomplished using any Microsoft development
> platform in just five weeks, without me having any familiarity with the
user
> base, the data relationships on the back end, the idiosyncracies of the
> front end; also short of testing, training, and user acceptance?
> 2) My supervisor's experience is in network technologies and not
> development. He's a director, but has limited management training and no
> exposure to the "developer community." What is the likelihood that he
could
> really understand the ramifications of converting (porting) a
client-server
> application?
> 3) My supervisor has offered that he could have re-built the entire
> application -by himself - in Filemaker Pro over the course of a weekend.
> Based on what you've read, what would be the likelihood of such, even for
an
> experienced developer?
> 4) Did I act in good faith, or would you say that I am incompetent?
> If you choose to give your frank response, please share a name and
telephone
> number if that's okay. I just want to make sure that management knows
that
> there are real people connected to my evidence.
> Thanks and best wishes. My hearing's on May 13, 2004.
>
> Xavier Jefferson
> Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
Xavier,
you're in trouble. Sorry to say that, however my experience insists that if
super wants to fire you, it will happen sooner or later.
Instead of concentrating on technical issues (this guy would never deliver
stable release in 5 weeks - at least I did not see such supervisors in my
life) - better concentrate on friends and good connections.
In principle if problem is dismissal, I see 2 possible outcomes and one is
not very probable - either you, either your supervisor. Hence the
conclusion.
I know it is not optimistic enough, however, when you start to retaliate by
enumerating your past achievements, you lose face. That's harsh reality -
most managers consider references to past as lame whining. You can overcome
this with either demonstrating that your super is incompetent in most
obvious manner as possible, either by taking part of blame and trying to
stabilize situation for nearest future. However, super who wants to fire you
is personal enemy - and you must take this into account. Whatever you'll
do - overtime, heroic efforts, genius solutions - will weigh nothing against
personal grudge.
I am not saying that war is worth the effort. Unfortunately sometimes it is
necessary. So think, what kind of weapons and defenses you have. Question is
not .Net, Access or other technical issues - question is personal
relationships. Try to elaborate plan of war - where you can show to higher
management that super is not what he/she seems to be, how to avoid personal
clashes, which usually make bad impression on external participants and how
you can take super place. If you have some friend on top - talk and maybe
even document your decisions and reasons why you did not succeed and what
was done wrong.
Finally, you will lose - 99.99% - so, be ready for this. Just don't do
anything stupid - try to keep good memories of you in the team. And if there
is no team - what for to suffer? Spend the remaining time trying to find
another and better one - and don't be shy to tell everybody why you are
doing this. Truth is most precious thing in this world. However, I am not
God, so, please don't take that literally.
And final note - most managers are not able to come with solutions. I mean
technical. It's a bit different psychology - to develop something and to
manage developers or people in general. So, take this into account too. As
soon as you start understanding motives of your super - you might find
winning position. In any case try to understand why it happened at all. If
super personally dislikes you - for pimples or bad breath - you can do
nothing. But understanding might help you to fight back with some
satisfaction.
Not much help, huh? But this is fight and you have to fight - if you want
it, of course. Just be intelligent and use your biggest muscle - brain.
HTH
Alex
"Ron Hinds" <__NoSpam@.__NoSpamramac.com> wrote in message
news:%23pLUaa6NEHA.3960@.TK2MSFTNGP10.phx.gbl...
> I saw a lot of good suggestions, etc. here. Just wanted to throw in my
> observations. The trap I believe you fell into was when the manager,
rather
> than saying "here is the problem - fix it" tried to offer the solution,
> i.e., "get rid of Access". Which is why you wasted time on a .NET
> "solution", when in the end it appeared that Access was not the problem,
> after all. Whenever I am approached by someone saying to me "this is what
> you need to do" I immediately respond by saying "what's the problem?"
Then,
> I come up with my own solution, which may or may not be the same as the
> requester proposed. After all, *you* are the professional developer, the
one
> who is paid to come up with the solutions. If the manager was *really*
> capable of solving the problem, he would have done so.
> That being said, from your post it appears that you are both intelligent
and
> articulate, therefore *probably* not incompetent. Also, I am quite certain
> that the manager could *not* have recreated the app in a single weekend!
Not
> even in FileMaker Pro... ;-)
> "Xavier Jefferson" <suggestion@.x2sw.com> wrote in message
> news:eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl...
> > Community,
> > I am dealing with a tough employment issue in which a supervisor - who
is
> > not a developer - is insisting that I am incompetent as a basis for my
> > dismissal from a public entity (a California school district).
Wondering
> if
> > you'd mind sharing any thoughts you might have as a basis for my
argument?
> > There are no other developers in the midst who can substantiate what I
> have
> > to say vs. my supervisor.
> > I've been working professionally as a developer since 1993. I have
> advanced
> > experience with Visual Basic versions 3 through 6, Access versions 1.1
to
> > 2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3
and
> 4.
> > I have consulted for the United States Navy, Bankamerica Mortgage,
> > Neutrogena, express.com, SunAmerica. In 2000 I even marketed a
shareware
> > product developed in VB, called Acidizer. I am no longer marketing or
> even
> > distributing it, but there are still links for it all over the Web.
> > I began employment in my current situation on June 25, 2003. Prior to
> > starting, I interviewed with my supervisor in April, who told me then
that
> > he had an Access application that he needed to rid himself of, and that
> > whichever new platform could be used wasn't important to him as long as
it
> > was a Microsoft tool and worked successfully.
> > I learned immediately that this conversion project needed to take place
by
> > August 1, 2003 - a mere five weeks. As it turned out, it was an Access
> > front end linked to a SQL Server database. It was shared on the local
> area
> > network by about twelve people. There were no written technical
> > specifications or user manual. The SQL Server database consisted of
about
> > forty tables with foreign key relationships.
> > I proposed to rebuild the front end as an ASP.NET application, mainly to
> > reap in the benefits of a thin client. I sought to mirror the existing
> > design to lower the learning curve. The existing design consisted of
one
> > form with a tab control containing several tab pages (maybe 8) and those
> > pages containing maybe 15 controls each, all data bound to ODBC linked
> > tables (this was not an Access ADP project) and a gaggle of slow-running
> > local queries. My liason for usability testing was a novice user in
> another
> > department who still, at this point, had a lot of trouble understanding
> > things like data relationships.
> > I made assurances to my supervisor to meet the deadline, sink or swim.
I
> > set to meet my deadline by developing an ASP.NET object class to mirror
> > Access data binding. I developed ASP.NET containers and controls with
the
> > same properties and functions as the Access object model. Subforms!!!
> > Figured out ways to make data binding and error reporting work with so
> many
> > controls and subforms in an ASP.NET page all at once.
> > I didn't make the deadline, despite working plenty of unpaid overtime.
I
> > hadn't had much time to understand how the current application was
used -
> > basically, the users were used to having eight full tabs of data
available
> > to them at all times without any refreshing, and I couldn't incorporate
> this
> > into a web interface without lots of changes. About three weeks later,
I
> > ended up just stabilizing the Access application (after all that) and
it's
> > been purring ever since.
> > My questions, if you please:
> > 1) Could this have been accomplished using any Microsoft development
> > platform in just five weeks, without me having any familiarity with the
> user
> > base, the data relationships on the back end, the idiosyncracies of the
> > front end; also short of testing, training, and user acceptance?
> > 2) My supervisor's experience is in network technologies and not
> > development. He's a director, but has limited management training and
no
> > exposure to the "developer community." What is the likelihood that he
> could
> > really understand the ramifications of converting (porting) a
> client-server
> > application?
> > 3) My supervisor has offered that he could have re-built the entire
> > application -by himself - in Filemaker Pro over the course of a weekend.
> > Based on what you've read, what would be the likelihood of such, even
for
> an
> > experienced developer?
> > 4) Did I act in good faith, or would you say that I am incompetent?
> > If you choose to give your frank response, please share a name and
> telephone
> > number if that's okay. I just want to make sure that management knows
> that
> > there are real people connected to my evidence.
> > Thanks and best wishes. My hearing's on May 13, 2004.
> > Xavier Jefferson
> > Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
By the way, if you really need to talk to me - send me personal email -
remove NOSPAMPLEASE from my address.
Rgds
Alex
"AlexS" <salexru2000NO@.SPAMsympaticoPLEASE.ca> wrote in message
news:OR$yxv6NEHA.3944@.tk2msftngp13.phx.gbl...
> Xavier,
> you're in trouble. Sorry to say that, however my experience insists that
if
> super wants to fire you, it will happen sooner or later.
> Instead of concentrating on technical issues (this guy would never deliver
> stable release in 5 weeks - at least I did not see such supervisors in my
> life) - better concentrate on friends and good connections.
> In principle if problem is dismissal, I see 2 possible outcomes and one is
> not very probable - either you, either your supervisor. Hence the
> conclusion.
> I know it is not optimistic enough, however, when you start to retaliate
by
> enumerating your past achievements, you lose face. That's harsh reality -
> most managers consider references to past as lame whining. You can
overcome
> this with either demonstrating that your super is incompetent in most
> obvious manner as possible, either by taking part of blame and trying to
> stabilize situation for nearest future. However, super who wants to fire
you
> is personal enemy - and you must take this into account. Whatever you'll
> do - overtime, heroic efforts, genius solutions - will weigh nothing
against
> personal grudge.
> I am not saying that war is worth the effort. Unfortunately sometimes it
is
> necessary. So think, what kind of weapons and defenses you have. Question
is
> not .Net, Access or other technical issues - question is personal
> relationships. Try to elaborate plan of war - where you can show to higher
> management that super is not what he/she seems to be, how to avoid
personal
> clashes, which usually make bad impression on external participants and
how
> you can take super place. If you have some friend on top - talk and maybe
> even document your decisions and reasons why you did not succeed and what
> was done wrong.
> Finally, you will lose - 99.99% - so, be ready for this. Just don't do
> anything stupid - try to keep good memories of you in the team. And if
there
> is no team - what for to suffer? Spend the remaining time trying to find
> another and better one - and don't be shy to tell everybody why you are
> doing this. Truth is most precious thing in this world. However, I am not
> God, so, please don't take that literally.
> And final note - most managers are not able to come with solutions. I mean
> technical. It's a bit different psychology - to develop something and to
> manage developers or people in general. So, take this into account too. As
> soon as you start understanding motives of your super - you might find
> winning position. In any case try to understand why it happened at all. If
> super personally dislikes you - for pimples or bad breath - you can do
> nothing. But understanding might help you to fight back with some
> satisfaction.
> Not much help, huh? But this is fight and you have to fight - if you want
> it, of course. Just be intelligent and use your biggest muscle - brain.
> HTH
> Alex
>
> "Ron Hinds" <__NoSpam@.__NoSpamramac.com> wrote in message
> news:%23pLUaa6NEHA.3960@.TK2MSFTNGP10.phx.gbl...
> > I saw a lot of good suggestions, etc. here. Just wanted to throw in my
> > observations. The trap I believe you fell into was when the manager,
> rather
> > than saying "here is the problem - fix it" tried to offer the solution,
> > i.e., "get rid of Access". Which is why you wasted time on a .NET
> > "solution", when in the end it appeared that Access was not the problem,
> > after all. Whenever I am approached by someone saying to me "this is
what
> > you need to do" I immediately respond by saying "what's the problem?"
> Then,
> > I come up with my own solution, which may or may not be the same as the
> > requester proposed. After all, *you* are the professional developer, the
> one
> > who is paid to come up with the solutions. If the manager was *really*
> > capable of solving the problem, he would have done so.
> > That being said, from your post it appears that you are both intelligent
> and
> > articulate, therefore *probably* not incompetent. Also, I am quite
certain
> > that the manager could *not* have recreated the app in a single weekend!
> Not
> > even in FileMaker Pro... ;-)
> > "Xavier Jefferson" <suggestion@.x2sw.com> wrote in message
> > news:eKQxY64MEHA.3348@.TK2MSFTNGP09.phx.gbl...
> > > Community,
> > > > I am dealing with a tough employment issue in which a supervisor - who
> is
> > > not a developer - is insisting that I am incompetent as a basis for my
> > > dismissal from a public entity (a California school district).
> Wondering
> > if
> > > you'd mind sharing any thoughts you might have as a basis for my
> argument?
> > > There are no other developers in the midst who can substantiate what I
> > have
> > > to say vs. my supervisor.
> > > > I've been working professionally as a developer since 1993. I have
> > advanced
> > > experience with Visual Basic versions 3 through 6, Access versions 1.1
> to
> > > 2000, SQL Server versions 4 to 2000, the .NET platform, Sybase, ASP 3
> and
> > 4.
> > > I have consulted for the United States Navy, Bankamerica Mortgage,
> > > Neutrogena, express.com, SunAmerica. In 2000 I even marketed a
> shareware
> > > product developed in VB, called Acidizer. I am no longer marketing or
> > even
> > > distributing it, but there are still links for it all over the Web.
> > > > I began employment in my current situation on June 25, 2003. Prior to
> > > starting, I interviewed with my supervisor in April, who told me then
> that
> > > he had an Access application that he needed to rid himself of, and
that
> > > whichever new platform could be used wasn't important to him as long
as
> it
> > > was a Microsoft tool and worked successfully.
> > > > I learned immediately that this conversion project needed to take
place
> by
> > > August 1, 2003 - a mere five weeks. As it turned out, it was an
Access
> > > front end linked to a SQL Server database. It was shared on the local
> > area
> > > network by about twelve people. There were no written technical
> > > specifications or user manual. The SQL Server database consisted of
> about
> > > forty tables with foreign key relationships.
> > > > I proposed to rebuild the front end as an ASP.NET application, mainly
to
> > > reap in the benefits of a thin client. I sought to mirror the
existing
> > > design to lower the learning curve. The existing design consisted of
> one
> > > form with a tab control containing several tab pages (maybe 8) and
those
> > > pages containing maybe 15 controls each, all data bound to ODBC linked
> > > tables (this was not an Access ADP project) and a gaggle of
slow-running
> > > local queries. My liason for usability testing was a novice user in
> > another
> > > department who still, at this point, had a lot of trouble
understanding
> > > things like data relationships.
> > > > I made assurances to my supervisor to meet the deadline, sink or swim.
> I
> > > set to meet my deadline by developing an ASP.NET object class to
mirror
> > > Access data binding. I developed ASP.NET containers and controls with
> the
> > > same properties and functions as the Access object model. Subforms!!!
> > > Figured out ways to make data binding and error reporting work with so
> > many
> > > controls and subforms in an ASP.NET page all at once.
> > > > I didn't make the deadline, despite working plenty of unpaid overtime.
> I
> > > hadn't had much time to understand how the current application was
> used -
> > > basically, the users were used to having eight full tabs of data
> available
> > > to them at all times without any refreshing, and I couldn't
incorporate
> > this
> > > into a web interface without lots of changes. About three weeks
later,
> I
> > > ended up just stabilizing the Access application (after all that) and
> it's
> > > been purring ever since.
> > > > My questions, if you please:
> > > > 1) Could this have been accomplished using any Microsoft development
> > > platform in just five weeks, without me having any familiarity with
the
> > user
> > > base, the data relationships on the back end, the idiosyncracies of
the
> > > front end; also short of testing, training, and user acceptance?
> > > > 2) My supervisor's experience is in network technologies and not
> > > development. He's a director, but has limited management training and
> no
> > > exposure to the "developer community." What is the likelihood that he
> > could
> > > really understand the ramifications of converting (porting) a
> > client-server
> > > application?
> > > > 3) My supervisor has offered that he could have re-built the entire
> > > application -by himself - in Filemaker Pro over the course of a
weekend.
> > > Based on what you've read, what would be the likelihood of such, even
> for
> > an
> > > experienced developer?
> > > > 4) Did I act in good faith, or would you say that I am incompetent?
> > > > If you choose to give your frank response, please share a name and
> > telephone
> > > number if that's okay. I just want to make sure that management knows
> > that
> > > there are real people connected to my evidence.
> > > > Thanks and best wishes. My hearing's on May 13, 2004.
> > > > > Xavier Jefferson
> > > Hit reply, or respond to [x](a)[v]{i}(e)[r]{j} at yahoo.dot.com
> >
0 comments:
Post a Comment